Haskell

bahasa pemrograman fungsional
Revisi sejak 3 Oktober 2016 09.24 oleh Wisnu Adi Nurcahyo (bicara | kontrib) (Menambahkan sedikit deskripsi serta menambahkan contoh kode Haskell)

Haskell adalah bahasa pemrograman fungsional murni. Nama bahasa pemrograman Haskell diambil dari nama seseorang matematikawan Haskell Curry, yang terkenal akan karyanya di bidang combinatory logic. Haskell hanya mengenal expression dan equation.

Haskell
Logo of Haskell
Paradigmafunctional, lazy/non-strict, modular
Dirancang olehSimon Peyton Jones, Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, Philip Wadler
Rilis perdana1990
Rilis stabil
Haskell 2010[1] / Juli 2010; 14 tahun lalu (2010-07)
Rilis pratayang
Haskell 2011[butuh rujukan]
Tipe sistemstatic, strong, inferred
Sistem operasiCross-platform
Ekstensi nama berkas.hs, .lhs
Situs webhaskell.org
Repositoriwww.haskell.org
Implementasi utama
Dialek
Helium, Gofer, Hugs, Ωmega
Terpengaruh oleh
APL,[butuh rujukan] Clean,[2] FP,[2] Gofer,[2] Hope and Hope+,[2] Id,[2] ISWIM,[2] KRC,[2] Lisp,[2] Miranda,[2] ML and Standard ML,[2] Orwell, SASL,[2] SISAL,[2] Scheme[2]
Mempengaruhi
Agda,[3] Bluespec,[butuh rujukan] C++11/Concepts,[4] C#/LINQ,[5][6] CAL,[butuh rujukan] Cayenne,[butuh rujukan] Clean,[7] Clojure,[8] CoffeeScript,[9] Curry,[butuh rujukan] Epigram,[butuh rujukan] Escher,[butuh rujukan] F#,[10] Factor,[butuh rujukan] Isabelle,[butuh rujukan] Java Generics,[butuh rujukan] Kaya,[butuh rujukan] Mercury,[butuh rujukan] Omega,[butuh rujukan] Perl 6,[11] Python,[12] Qi,[butuh rujukan] Scala,[13] Timber,[butuh rujukan] Visual Basic 9.0[14]
Sunting kotak info
Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini

Contoh

Hello World

Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!".

    main = putStrLn "Hello, world!"

Penjumlahan Sederhana

Berikut ini adalah contoh program sederhana yang akan mencetak hasil penjumlahandan 10.

    main = print (2 + 10)

Pranala Luar

Various
Tutorials
  1. ^ Marlow, Simon (24 November 2009). "Announcing Haskell 2010". Haskell mailing list. http://www.haskell.org/pipermail/haskell/2009-November/021750.html. Diakses pada 12 March 2011. 
  2. ^ a b c d e f g h i j k l m Haskell 98 Report, p. xi
  3. ^ Norell, Ulf (2008). "Dependently Typed Programming in Agda" (PDF). Gothenburg: Chalmers University. Diakses tanggal 9 February 2012. 
  4. ^ Stroustrup, Bjarne; Sutton, Andrew (2011). "Design of Concept Libraries for C++" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2011-08-25. 
  5. ^ Meijer, Erik (1 October 2009). "C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13". Channel 9. Microsoft. Diakses tanggal 9 February 2012. 
  6. ^ Drobi, Sadek (4 March 2009). "Erik Meijer on LINQ". InfoQ. QCon SF 2008: C4Media Inc. Diakses tanggal 9 February 2012. 
  7. ^ Hudak, Paul; Hughes, John; Peyton Jones, Simon; Wadler, Philip (2007). "A history of Haskell: being lazy with class". Proceedings of the third ACM SIGPLAN conference on History of programming languages (HOPL III): 12–1–12–55. doi:10.1145/1238844.1238856. ISBN [[Special:BookSources/978-1-59593-766-X |978-1-59593-766-X [[Kategori:Artikel dengan ISBN salah]]]] Periksa nilai: invalid character |isbn= (bantuan). 
  8. ^ Hickey, Rich. "Clojure Bookshelf". Listmania!. Amazon.com. Diakses tanggal 9 February 2012. 
  9. ^ Heller, Martin (18 October 2011). "Turn up your nose at Dart and smell the CoffeeScript". JavaWorld. InfoWorld. Diakses tanggal 9 February 2012. 
  10. ^ Syme, Don; Granicz, Adam; Cisternino, Antonio (2007). Expert F#. Apress. hlm. 2. F# also draws from Haskell particularly with regard to two advanced language features called sequence expressions and workflows. 
  11. ^ "Glossary of Terms and Jargon". Perl Foundation Perl 6 Wiki. The Perl Foundation. 28 February. Diakses tanggal 9 February 2012. 
  12. ^ Kuchling, A. M. "Functional Programming HOWTO". Python v2.7.2 documentation. Python Software Foundation. Diakses tanggal 9 February 2012. 
  13. ^ Fogus, Michael (6 August 2010). "MartinOdersky take(5) toList". Send More Paramedics. Diakses tanggal 9 February 2012. 
  14. ^ Erik Meijer, "Confessions of a Used Programming Language Salesman",[1] OOPSLA 2007