Jump to content

Haskell: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:Haskelllogo.png|right|200px]]
[[Image:Haskelllogo.png|right|200px]]
Strongly typed, lazy functional programming language.
Strongly typed, lazy functional programming language. It generated a lot of interest during the 1990s and is still one of the more popular functional languages out there but was greatly hampered at the time by the complete incompatibility of different tools available, and lack of standards and standard adherence in general.


==A list of OS/2 implementations of Haskell==
While things have got a lot better in the last couple of decades, there is still some distance between the standards and the available tools, the Haskell 98 specification and later for instance state that Haskell supports [[Unicode]] but actually none of the implementations do so except via kludgy workarounds.
* [[Gofer]] - Open source - Discontinued.
* [[NHC]] - Open source - Discontinued.


====Foreign libraries with Haskell bindings====
The language was originally designed by a committee in 1987 to 89, with version one of the Haskell specification being released in 89, originally it was intended to be a variant of David Turner’s [[Miranda]] but Turner refused permission for this as he was afraid of incompatible variants of the language existing in the wild the Haskell committee ended up deliberately making the language incompatible with Miranda, however the two languages are still structurally very similar.
* [[LZ4]] - Compression library - Open source - Current
* [[Snappy]] - Compression lib. - Open Source - Current.


==A list of DOS implementations of Haskell==
Haskell has grown a few dialects of it own including '''Mondrian''' that simplifies the Haskell structures.
* [[Gofer]] - Open source - Discontinued.
 
==OS/2 implementations==
* [[Gofer]] - aka HUGS - Open source
* [[NHC]] - Open source
 
;Foreign libraries with Haskell bindings
* [[Cairo]] - 2D graphics library - Open source
* [[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source
** [https://hackage.haskell.org/package/curlhs curlhs] - Haskell interface for libcURL - Released under the [[ISC License]]
* [[LZ4]] - Compression library - Open source
* [[Snappy]] - Compression library - Open Source
 
;Text editors with Haskell support
* [[jEdit]] - Java based - Haskell syntax highlighting built in
 
==DOS implementations==
* [[Gofer]] - Open source
 
==Publications==
* [https://www.haskell.org/onlinereport Haskell 98 Standard]
* P. Hudak; S.L. Peyton Jones; P.L. Wadler (eds.) et al: Report on the Functional Programming Language Haskell: A Non-strict, Purely Functional Language, Version 1.2 - 1992 - ACM SIGPLAN Notices, 27(5) (March 1992)
* Hal Daumé III: ''Yet Another Haskell Tutorial'' - 2006 [https://www.umiacs.umd.edu/~hal/docs/daume02yaht.pdf PDF]
* Thomas Hallgren: ''A Lexer for Haskell in Haskell'' (first draft) - 2003 [http://programatica.cs.pdx.edu/P/hallgren.pdf PDF]
* Daniel Johannes Pieter Leijen: ''The λ Abroad: A Functional Approach To Software Components'' - 2003 [http://research.microsoft.com/pubs/65216/phd-thesis.pdf PDF]
* Conor McBride & Ross Paterson: ''Functional Pearl - Applicative programming with effects'' - 2008 [http://www.staff.city.ac.uk/~ross/papers/Applicative.pdf PDF]
* Christopher Brown and Simon Thompson: ''Clone Detection and Elimination for Haskell'' - [https://www.cs.kent.ac.uk/pubs/2010/2976/content.pdf PDF]
* Georgios Fourtounis, Nikolaos Papaspyrou, Panos Rondogiannis: ''The Generalized Intensional Transformation for Implementing Lazy Functional Languages'' - [http://www.softlab.ntua.gr/~gfour/dftoic/dftoic.pdf PDF]
 
;Parallel programming
* William Jones: ''Warp Speed Haskell'' - 2009 [http://www.doc.ic.ac.uk/teaching/distinguished-projects/2009/w.jones.pdf PDF]
 
;History
* Paul Hudak, John Hughes, Simon Peyton Jones and Philip Wadler: ''A History of Haskell: Being Lazy With Class'''
 
;Mondrian
* Erik Mejer; Koen Klaessen: ''The design and implementation of Mondrian'' - [http://userpages.uni-koblenz.de/~laemmel/TheEagle/dl/MeijerC97.pdf PDF]
 
==Links==
* [http://haskell.org Haskell homepage]
* [https://www.haskell.org/arrows/ Arrows: A General Interface to Computation]


[[Category:Programming Languages]][[Category:Haskell]]
[[Category:Programming Languages]][[Category:Haskell]]
[[Category:Functional programming]]

Latest revision as of 17:44, 21 September 2022

Strongly typed, lazy functional programming language. It generated a lot of interest during the 1990s and is still one of the more popular functional languages out there but was greatly hampered at the time by the complete incompatibility of different tools available, and lack of standards and standard adherence in general.

While things have got a lot better in the last couple of decades, there is still some distance between the standards and the available tools, the Haskell 98 specification and later for instance state that Haskell supports Unicode but actually none of the implementations do so except via kludgy workarounds.

The language was originally designed by a committee in 1987 to 89, with version one of the Haskell specification being released in 89, originally it was intended to be a variant of David Turner’s Miranda but Turner refused permission for this as he was afraid of incompatible variants of the language existing in the wild the Haskell committee ended up deliberately making the language incompatible with Miranda, however the two languages are still structurally very similar.

Haskell has grown a few dialects of it own including Mondrian that simplifies the Haskell structures.

OS/2 implementations

  • Gofer - aka HUGS - Open source
  • NHC - Open source
Foreign libraries with Haskell bindings
  • Cairo - 2D graphics library - Open source
  • LibcURL - Internet URL (WWW, FTP, etc) access - Open Source
  • LZ4 - Compression library - Open source
  • Snappy - Compression library - Open Source
Text editors with Haskell support
  • jEdit - Java based - Haskell syntax highlighting built in

DOS implementations

Publications

  • Haskell 98 Standard
  • P. Hudak; S.L. Peyton Jones; P.L. Wadler (eds.) et al: Report on the Functional Programming Language Haskell: A Non-strict, Purely Functional Language, Version 1.2 - 1992 - ACM SIGPLAN Notices, 27(5) (March 1992)
  • Hal Daumé III: Yet Another Haskell Tutorial - 2006 PDF
  • Thomas Hallgren: A Lexer for Haskell in Haskell (first draft) - 2003 PDF
  • Daniel Johannes Pieter Leijen: The λ Abroad: A Functional Approach To Software Components - 2003 PDF
  • Conor McBride & Ross Paterson: Functional Pearl - Applicative programming with effects - 2008 PDF
  • Christopher Brown and Simon Thompson: Clone Detection and Elimination for Haskell - PDF
  • Georgios Fourtounis, Nikolaos Papaspyrou, Panos Rondogiannis: The Generalized Intensional Transformation for Implementing Lazy Functional Languages - PDF
Parallel programming
  • William Jones: Warp Speed Haskell - 2009 PDF
History
  • Paul Hudak, John Hughes, Simon Peyton Jones and Philip Wadler: A History of Haskell: Being Lazy With Class'
Mondrian
  • Erik Mejer; Koen Klaessen: The design and implementation of Mondrian - PDF

Links