Jump to content

Haskell: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(11 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. Generated a lot of interest during the 1990's 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.
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 gotten 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.
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.


==A list of OS/2 implementations of Haskell==
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.
* [[Gofer]] - aka HUGS - Open source - Discontinued.
* [[NHC]] - Open source - Discontinued.


====Foreign libraries with Haskell bindings====
Haskell has grown a few dialects of it own including '''Mondrian''' that simplifies the Haskell structures.
* [[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source - Current.
** [https://hackage.haskell.org/package/curlhs curlhs] - [[Haskell]] interface for libcURL - Released under the [[ISC License]]
* [[LZ4]] - Compression library - Open source - Current
* [[Snappy]] - Compression lib. - Open Source - Current.


====OS/2 text editors with Haskell support====
==OS/2 implementations==
* [[jEdit]] - Java based - Haskell syntax highlighting built in - Current.
* [[Gofer]] - aka HUGS - Open source
* [[NHC]] - Open source


==A list of DOS implementations of Haskell==
;Foreign libraries with Haskell bindings
* [[Gofer]] - Open source - Discontinued.
* [[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


==Links==
;Text editors with Haskell support
* [http://haskell.org Haskell homepage]
* [[jEdit]] - Java based - Haskell syntax highlighting built in
* [https://www.haskell.org/arrows/ Arrows: A General Interface to Computation]
 
==DOS implementations==
* [[Gofer]] - Open source


==Publications==
==Publications==
* [https://www.haskell.org/onlinereport Haskell 98 Standard]
* [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)
* 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: [https://www.umiacs.umd.edu/~hal/docs/daume02yaht.pdf Yet Another Haskell Tutorial] - 2006 - In PDF format
* Hal Daumé III: ''Yet Another Haskell Tutorial'' - 2006 [https://www.umiacs.umd.edu/~hal/docs/daume02yaht.pdf PDF]
* Thomas Hallgren: [http://programatica.cs.pdx.edu/P/hallgren.pdf A Lexer for Haskell in Haskell (first draft)] - 2003
* Thomas Hallgren: ''A Lexer for Haskell in Haskell'' (first draft) - 2003 [http://programatica.cs.pdx.edu/P/hallgren.pdf PDF]
* Daniel Johannes Pieter Leijen: [http://research.microsoft.com/pubs/65216/phd-thesis.pdf The λ Abroad: A Functional Approach To Software Components] - 2003
* 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: [http://www.staff.city.ac.uk/~ross/papers/Applicative.pdf Functional Pearl - Applicative programming with effects] - (2008) - In PDF Format
* 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:Programming Languages]][[Category:Haskell]]
[[Category:Haskell]]
[[Category:Functional programming]]
[[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