Haskell: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Menambahkan contoh program dan memperbaiki typo
Perbaikan pranala
Tag: Suntingan perangkat seluler Suntingan peramban seluler Suntingan seluler lanjutan
 
(14 revisi perantara oleh 9 pengguna tidak ditampilkan)
Baris 1:
{{Infobox programming language
| name = Haskell
| logo = [[Berkas:Haskell-Logo.svg|120px|Logo of Haskell]]
| paradigm = [[functionalpemrograman programmingfungsional|functionalFungsional]], lazymalas/[[non-strictbahasa programmingpemrograman languagetidak ketat|non-stricttidak ketat]], [[modularpemrograman programmingmodular|modular]]
| year = 1990
| designer = [[Simon Peyton Jones]], [[Lennart Augustsson]], [[Dave Barton]], [[Brian Boutel]], [[Warren Burton (computer scientist)|Warren Burton]], [[Joseph Fasel]], [[Kevin Hammond (computer scientist)|Kevin Hammond]], [[Ralf Hinze]], [[Paul Hudak]], [[John Hughes (computerilmuan scientistkomputer)|John Hughes]], [[Thomas Johnsson]], [[Mark Jones, (computer[[Simon scientist)|MarkPeyton Jones]], [[John Launchbury]], [[Erik Meijer (computerilmuan scientistkomputer)|Erik Meijer]], [[John Peterson (computer scientist)|John Peterson]], [[Alastair Reid (computer scientist)|Alastair Reid]], [[Colin Runciman]], [[Philip Wadler]]
| developer = =
| latest release version = <!-- Of the language specification, not the [[Haskell Platform]]! -->Haskell 2010<ref name="2010ann">{{cite mailing list|url=http://www.haskell.org/pipermail/haskell/2009-November/021750.html|title=Announcing Haskell 2010|date=24 November 2009|accessdate=12 March 2011|mailinglist=Haskell|last=Marlow|first=Simon}}</ref>
| latest release date = {{start date and age|df=yes|2010|07}}
| latest test version = Haskell 2011{{Citation needed|date=June 2011}}
| latest test date = =
| typing = [[staticpengetikan typingstatis|staticStatis]], [[strongpengetikan typingkuat|strongkuat]], [[typepengetikan inferencedisimpulkan|inferreddisimpulkan]]
| implementations = [[Glasgow Haskell Compiler|GHC]], [[Hugs]], [http://www.cs.york.ac.uk/fp/nhc98/ NHC], [http://repetae.net/john/computer/jhc/ JHC], [[Yhc]], [http://www.cs.uu.nl/wiki/UHC UHC]
| dialects = [[Helium (Haskell)|Helium]], [[Gofer (softwareperangkat lunak)|Gofer]], [[Hugs]], [[Ωmega]]
| influenced = [[Agda (theorem prover)|Agda]],<ref>{{cite web|url=http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf|title=Dependently Typed Programming in Agda|last=Norell|first=Ulf|year=2008|publisher=Chalmers University|accessdate=9 February 2012|location=Gothenburg|archive-date=2014-04-01|archive-url=https://web.archive.org/web/20140401144502/http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf|dead-url=no}}</ref> [[Bluespec, Inc.|Bluespec]],{{Citation needed|date=February 2012}} [[C++11]]/[[Concepts (C++)|Concepts]],<ref>{{cite journal|title=Design of Concept Libraries for C++|first1=Bjarne|last1=Stroustrup|authorlink1=Bjarne Stroustrup|first2=Andrew|last2=Sutton|url=http://www2.research.att.com/~bs/sle2011-concepts.pdf|year=2011|archiveurl=httphttps://web.archive.org/web/20110825052517/http://www2.research.att.com/~bs/sle2011-concepts.pdf|archivedate=2011-08-25|journal=|access-date=2021-02-21|dead-url=yes}}</ref> [[C Sharp (programmingbahasa languagepemrograman)|C#]]/[[Language Integrated Query|LINQ]],<ref>{{cite web|url=http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/|title=C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13|last=Meijer|first=Erik|date=1 October 2009|work=[[Channel 9 (discussion forum)|Channel 9]]|publisher=Microsoft|accessdate=9 February 2012|archive-date=2012-06-16|archive-url=https://web.archive.org/web/20120616051226/http://channel9.msdn.com/shows/Going+Deep/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1/|dead-url=yes}}</ref><ref>{{cite news|url=http://www.infoq.com/interviews/LINQ-Erik-Meijer|title=Erik Meijer on LINQ|last=Drobi|first=Sadek|date=4 March 2009|work=InfoQ|publisher=C4Media Inc.|accessdate=9 February 2012|location=QCon [[San Francisco|SF]] 2008|archive-date=2021-01-26|archive-url=https://web.archive.org/web/20210126191443/https://www.infoq.com/interviews/LINQ-Erik-Meijer/|dead-url=no}}</ref> [[CAL (QuarkKerangka Frameworkkerja Quark)|CAL]],{{Citation needed|date=February 2012}} [[Cayenne (programmingbahasa languagepemrograman)|Cayenne]],{{Citation needed|date=February 2012}} [[Clean (programming language)|Clean]],<ref>{{cite journal
|first1 = Paul
|last1 = Hudak
Baris 32:
|pages = 12–1–12–55
|isbn = 978-1-59593-766-X {{Please check ISBN|reason=Check digit (X) does not correspond to calculated figure.}}
}}</ref> [[Clojure]],<ref>{{cite web|url=http://www.amazon.com/gp/richpub/listmania/fullview/R3LG3ZBZS4GCTH|title=Clojure Bookshelf|last=Hickey|first=Rich|work=Listmania!|publisher=Amazon.com|accessdate=9 February 2012|archive-date=2012-03-19|archive-url=https://web.archive.org/web/20120319065828/http://www.amazon.com/Clojure-Bookshelf/lm/R3LG3ZBZS4GCTH|dead-url=no}}</ref> [[CoffeeScript]],<ref>{{cite news|url=http://www.javaworld.com/javaworld/jw-10-2011/111018-coffeescript-vs-dart.html|title=Turn up your nose at Dart and smell the CoffeeScript|last=Heller|first=Martin|date=18 October 2011|work=JavaWorld|publisher=InfoWorld|accessdate=9 February 2012|archive-date=2012-02-10|archive-url=https://web.archive.org/web/20120210141629/http://www.javaworld.com/javaworld/jw-10-2011/111018-coffeescript-vs-dart.html|dead-url=yes}}</ref> [[Curry (programming language)|Curry]],{{Citation needed|date=February 2012}} [[Epigram (programming language)|Epigram]],{{Citation needed|date=February 2012}} [[Escher (programming language)|Escher]],{{Citation needed|date=February 2012}} [[F Sharp (programming language)|F#]],<ref>{{cite book|last1=Syme|first1=Don|authorlink1=Don Syme|last2=Granicz|first2=Adam|last3=Cisternino|first3=Antonio|title=Expert F#|year=2007|publisher=[[Apress]]|page=2|quote=F# also draws from Haskell particularly with regard to two advanced language features called ''sequence expressions'' and ''workflows''.}}</ref> [[Factor (programmingbahasa languagepemrograman)|Factor]],{{Citation needed|date=February 2012}} [[Isabelle theorem prover|Isabelle]],{{Citation needed|date=February 2012}} [[Generics in Java|Java Generics]],{{Citation needed|date=February 2012}} [[Kaya (programmingbahasa languagepemrograman)|Kaya]],{{Citation needed|date=February 2012}} [[Mercury (programmingbahasa languagepemrograman)|Mercury]],{{Citation needed|date=February 2012}} [[Ωmegainterpretasi interpreterΩmega|Omega]],{{Citation needed|date=February 2012}} [[Perl 6]],<ref>{{cite web|url=http://www.perlfoundation.org/perl6/index.cgi?glossary_of_terms_and_jargon|title=Glossary of Terms and Jargon|date=28 February|work=Perl Foundation Perl 6 Wiki|publisher=[[The Perl Foundation]]|accessdate=9 February 2012|archive-date=2012-01-21|archive-url=https://web.archive.org/web/20120121145808/http://www.perlfoundation.org/perl6/index.cgi?glossary_of_terms_and_jargon|dead-url=yes}}</ref> [[Python (programmingbahasa languagepemrograman)|Python]],<ref>{{cite web|url=http://docs.python.org/howto/functional.html|title=Functional Programming HOWTO|last=Kuchling|first=A. M.|work=Python v2.7.2 documentation|publisher=Python Software Foundation|accessdate=9 February 2012|archive-date=2012-10-24|archive-url=https://web.archive.org/web/20121024163217/http://docs.python.org/howto/functional.html|dead-url=no}}</ref> [[Qi (programmingbahasa languagepemrograman)|Qi]],{{Citation needed|date=February 2012}} [[Scala (programmingbahasa languagepemrograman)|Scala]],<ref>{{cite web|url=http://blog.fogus.me/2010/08/06/martinodersky-take5-tolist/|title=MartinOdersky take(5) toList|last=Fogus|first=Michael|date=6 August 2010|work=Send More Paramedics|accessdate=9 February 2012|archive-date=2012-02-14|archive-url=https://web.archive.org/web/20120214225555/http://blog.fogus.me/2010/08/06/martinodersky-take5-tolist/|dead-url=no}}</ref> [[Timber (programming language)|Timber]],{{Citation needed|date=February 2012}} [[Visual Basic .NET|Visual Basic 9.0]]<ref>[[Erik Meijer (computer scientist)|Erik Meijer]], "Confessions of a Used Programming Language Salesman",[httphttps://web.archive.org/web/20110923133552/http://research.microsoft.com/en-us/um/people/emeijer/papers/es012-meijer.pdf] [[OOPSLA]] 2007</ref>
| influenced by = [[APL (programmingperangkat languagelunak)|APL]],{{Citation needed|date=February 2012}} [[Clean (programmingperangkat languagelunak)|Clean]],<ref name="haskell-report-influences"/> [[FP (programmingperangkat languagelunak)|FP]],<ref name="haskell-report-influences"/> [[Gofer (programmingperangkat languagelunak)|Gofer]],<ref name="haskell-report-influences"/> [[Hope (programmingperangkat languagelunak)|Hope]] anddan Hope<sup>+</sup>,<ref name="haskell-report-influences"/> [[Id (programmingperangkat languagelunak)|Id]],<ref name="haskell-report-influences"/> [[ISWIM]],<ref name="haskell-report-influences"/> [[Kent Recursive Calculator|KRC]],<ref name="haskell-report-influences"/> [[Lisp (programmingperangkat languagelunak)|Lisp]],<ref name="haskell-report-influences">Haskell 98 Report, p. xi</ref> [[Miranda (programmingperangkat languagelunak)|Miranda]],<ref name="haskell-report-influences"/> [[ML (programming language)|ML]] and [[Standard ML]],<ref name="haskell-report-influences"/> [[Orwell (programming language)|Orwell]], [[SASL (programming language)|SASL]],<ref name="haskell-report-influences"/> [[SISAL]],<ref name="haskell-report-influences"/> [[Scheme (programmingbahasa languagepemrograman)|Scheme]]<ref name="haskell-report-influences"/>
| operating system = [[Cross-Lintas platform]]
| license = =
| website = {{url|http://haskell.org}}
| file ext = <code>.hs</code>, <code>.lhs</code>
}}
'''Haskell''' adalah bahasa [[Pemrograman Fungsional|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''.
 
[[Semantika (linguistika)|Semantik]] Haskell secara historis didasarkan pada bahasa pemrograman Miranda, yang berfungsi untuk memfokuskan upaya kelompok kerja Haskell awal.<ref>Edward Kmett, [https://www.youtube.com/watch?v=hIZxTQP1ifo Edward Kmett – Type Classes vs. the World]</ref> Spesifikasi formal terakhir dari bahasa tersebut dibuat pada bulan Juli 2010, sementara pengembangan GHC terus memperluas Haskell melalui ekstensi bahasa.
 
Haskell digunakan dalam akademi dan industri.<ref>{{Citation|last=Mossberg|first=Erik|title=erkmos/haskell-companies|date=2020-06-08|url=https://github.com/erkmos/haskell-companies|access-date=2020-06-22}}</ref><ref>{{cite book|last1=O'Sullivan|first1=Bryan|last2=Goerzen|first2=John|last3=Stewart|first3=Donald Bruce|date=15 November 2008|url=https://books.google.com/books?id=nh0okI1a1sQC|title=Real World Haskell: Code You Can Believe In|publisher="O'Reilly Media, Inc."|isbn=978-0-596-55430-9|pages=xxviii-xxxi|language=en}}</ref><ref>{{cite web|title=Haskell in Production: Riskbook|url=https://serokell.io/blog/haskell-in-industry-riskbook|website=Serokell Software Development Company|language=en|access-date=2021-09-07}}</ref> {{As of|2021|May}}, Haskell adalah bahasa pemrograman terpopuler ke-28 menurut [[Google Search|Google Pencarian]] untuk tutorial,<ref>{{cite web|last=|first=|date=May 2021|title=PYPL PopularitY of Programming Language index|url=http://pypl.github.io/PYPL.html|website=pypl.github.io|language=en|archive-url=https://web.archive.org/web/20210507222106/https://pypl.github.io/PYPL.html|archive-date=7 May 2021|access-date=16 May 2021|url-status=dead}}</ref> dan berjumlah kurang dari 1% pengguna aktif di repositori kode sumber [[GitHub]].<ref>{{cite web|last=Frederickson|first=Ben|title=Ranking Programming Languages by GitHub Users|url=https://www.benfrederickson.com/ranking-programming-languages-by-github-users/|website=www.benfrederickson.com|access-date=6 September 2019}}</ref>
 
== Sejarah ==
Setelah perilisan [[Miranda (bahasa pemrograman)|Miranda]] oleh Research Software Ltd. pada tahun 1985, minat terhadap bahasa fungsional yang malas tumbuh. Pada tahun 1987, ada lebih dari selusin bahasa pemrograman yang tidak [[Fungsi ketat|ketat]] dan murni fungsional. Miranda merupakan yang paling banyak digunakan, tapi itu adalah [[perangkat lunak berpemilik]]. Pada konferensi [[Functional Programming Languages and Computer Architecture]] (FPCA '87) di [[Portland, Oregon]], ada konsensus yang kuat bahwa sebuah komite dibentuk untuk menentukan [[standar terbuka]] untuk bahasa-bahasa tersebut. Tujuan komite ini adalah untuk menggabungkan bahasa-[[Pemrograman fungsional|bahasa fungsional]] yang ada menjadi bahasa yang umum untuk digunakan sebagai dasar pengmebangan masa depan dalam desain bahasa fungsional.{{sfn|Peyton Jones|2003|loc=Preface}}
 
=== Standar mendatang ===
Spesifikasi formal berikutnya telah direncanakan untuk tahun 2020.<ref name="2020committee" /> Pada 29 Oktober 2021, dengan versi GHC 9.2.1, ekstensi GHC2021 dirilis. Meskipun ini bukan spesifikasi bahasa formal, ini menggabungkan sejumlah ekstensi GHC yang stabil dan banyak digunakan pada Haskell 2010.<ref name="ghc9,2,1">GHC 2020 Team (29 October 2021) [https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/9.2.1-notes.html GHC 9.2.1] released</ref><ref>[https://github.com/ghc-proposals/ghc-proposals Proposed compiler and language changes for GHC and GHC/Haskell ]</ref>
 
== Fitur ==
{{Main|Fitur Haskell}}{{See also|Compiler Glasgow Haskell#Ekstensi ke Haskell}}
Haskell menyediakan [[evaluasi malas]], [[Fungsi anonim|ekspresi lambda]], [[pencocokan pola]], [[pemahaman daftar]], [[tipe kelas]], dan [[Polimorfisme (ilmu komputer)|polimorfisme tipe]]. Ini adalah bahasa pemrograman yang [[Pemrograman yang murni fungsional|murni fungsional]], yang berarti bahwa fungsi pada umumnya tidak mempunyai [[Efek samping (ilmu komputer)|efek samping]]. Ada konstruksi berbeda untuk mewakili efek samping, [[Ortogonalitas#ilmu komputer|ortogonal]] terhadap jenis fungsinya. Sebuah fungsi murni dapat mengembalikan sebuah efek samping yang kemudian dieksekusi, memodelkan fungsi [[Fungsi murni# Fungsi tidak murni|tidak murni]] dari bahasa lain.
 
Haskell memiliki sistem tipe [[Tipe sistem# Pengetikan statis|statis]] yang [[Pengetikan kuat dan lemah|kuat]] berdasarkan [[inferensi jenis Hindley – Milner]]. Inovasi utamanya dalam bidang ini adalah kelas tipe, yang awalnya dipahami sebagai cara berprinsip untuk menambah [[Polimorfisme (ilmu komputer)|beban berlebih]] pada bahasa,<ref name="wadler89">{{cite book|last1=Wadler|first1=P.|last2=Blott|first2=S.|year=1989|title=Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89|publisher=[[Association for Computing Machinery|ACM]]|isbn=978-0-89791-294-5|pages=60–76|chapter=How to make ad-hoc polymorphism less ad hoc|doi=10.1145/75277.75283|doi-access=free|s2cid=15327197}}</ref> tetapi telah menemukan banyak pengguna baru.<ref name="hallgren01">{{cite journal|last=Hallgren|first=T.|date=January 2001|title=Fun with Functional Dependencies, or Types as Values in Static Computations in Haskell|url=http://www.cs.chalmers.se/~hallgren/Papers/wm01.html|journal=Proceedings of the Joint CS/CE Winter Meeting|location=Varberg, Sweden}}</ref>
 
Terdapat komunitas yang aktif dan berkembang seputar bahasa ini, dan lebih dari 5.400 perpustakaan dan alat sumber terbuka pihak ketiga tersedia di repositori paket daring ''Hackage''.<ref name="hackage-stats">{{cite web|title=HackageDB statistics|url=http://hackage.haskell.org/cgi-bin/hackage-scripts/stats|publisher=Hackage.haskell.org|archive-url=https://web.archive.org/web/20130503114836/http://hackage.haskell.org/cgi-bin/hackage-scripts/stats|archive-date=3 May 2013|access-date=26 June 2013}}</ref>
 
== Contoh ==
Baris 45 ⟶ 63:
=== Hello World ===
Berikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!".
<sourcesyntaxhighlight lang="haskell">
main = putStrLn "Hello, world!"
</sourcesyntaxhighlight>
 
=== Penjumlahan Sederhanasederhana ===
Berikut ini adalah contoh program sederhana yang akan mencetak hasil penjumlahan antara 2 dan 10.<syntaxhighlight lang="haskell">
main = print (2 + 10)
</syntaxhighlight>
 
=== Cetak Namanama ===
Berikut ini adalah contoh program sederhana yang akan meminta nama pengguna dan mencetaknya kembali.<syntaxhighlight lang="haskell" line="1">
main = do
Baris 62 ⟶ 80:
</syntaxhighlight>
 
== PranalaPenggunaan Luarterkenal ==
 
* Asisten pembuktian [[Agda (bahasa pemrograman)|Agda]] ditulis dalam Haskell.<ref>{{Citation|title=Agda 2|date=2021-10-15|url=https://github.com/agda/agda|publisher=Agda Github Community|access-date=2021-10-16}}</ref>
* [[Cabal (software)|Cabal]] adalah sebuah alat untuk [[Otomasi pembuatan|membuat]] dan mengemas program dan pustaka Haskell.<ref>{{cite web|title=The Haskell Cabal|url=https://www.haskell.org/cabal/|access-date=8 April 2015}}</ref>
* [[Darcs]] adalah sistem kontrol revisi yang ditulis dalam Haskell, dengan beberapa fitur inovatif, seperti kontrol ''patch'' yang akan diterapkan lebih tepat.
* [[Glasgow Haskell Compiler]] (GHC) juga sering kali menjadi tempat uji coba untuk fitur pemrograman fungsional tingkat lanjut dan pengoptimalan dalam bahasa pemrograman lain.
* [[Git-annex]] adalah sebuah alat untuk mengatur berkas data (besar) di bawah kontrol versi [[Git]]. It also provides a distributed file synchronization system (git-annex assistant).
* [[Linspire]] Linux memilih Haskell untuk pengembangan alat sistem.<ref>{{cite web|date=May 2006|title=Linspire/Freespire Core OS Team and Haskell|url=http://urchin.earth.li/pipermail/debian-haskell/2006-May/000169.html|work=Debian Haskell mailing list|archive-url=https://web.archive.org/web/20171227234048/http://urchin.earth.li/pipermail/debian-haskell/2006-May/000169.html|archive-date=27 December 2017|access-date=14 June 2006|url-status=dead}}</ref>
* [[Pandoc]] adalah alat untuk mengubah satu format ''markup'' ke format ''markup'' lainnya.
* [[Pugs (compiler)|Pugs]] adalah [[Compiler|kompilator]] dan [[Interpreter|penerjemah]] untuk bahasa pemrograman yang kemudian diberi nama [[Perl]] 6, namun sejak berganti nama [[Raku (bahasa pemrograman)|Raku]].
 
=== Web ===
[[Kerangka web]] terkenal yang ditulis untuk Haskell termasuk:<ref>{{cite web|title=Web/Frameworks – HaskellWiki|url=https://wiki.haskell.org/Web/Frameworks|website=wiki.haskell.org|access-date=17 September 2022}}</ref>
 
* IHP
* [[Servant (Kerangka kerja web)|Servant]]
* [[Snap (Kerangka kerja web)|Snap]]
* [[Yesod (Kerangka kerja web)|Yesod]]
 
== Referensi ==
{{reflist}}
 
== Pranala luar ==
{{Wikibooks|Haskell}}
{{Wikibooks|Write Yourself a Scheme in 48 Hours}}
* {{Official website|http://haskell.org}}
* [http://www.haskell.org/haskellwiki/Language_and_library_specification Language and library specification] {{Webarchive|url=https://web.archive.org/web/20150102195106/https://www.haskell.org/haskellwiki/Language_and_library_specification |date=2015-01-02 }} at the Haskell Wiki
* {{dmoz|Computers/Programming/Languages/Haskell|Haskell}}
; Various
* [http://www.willamette.edu/~fruehr/haskell/evolution.html The Evolution of a Haskell Programmer] {{Webarchive|url=https://web.archive.org/web/20070101192126/http://www.willamette.edu/~fruehr/haskell/evolution.html |date=2007-01-01 }}, slightly humorous overview of different programming styles available in Haskell
* [http://haskell.readscheme.org/ Online Bibliography of Haskell Research] {{Webarchive|url=https://web.archive.org/web/20080915054919/http://haskell.readscheme.org/ |date=2008-09-15 }}
* [http://contemplatecode.blogspot.com/search/label/HWN Haskell Weekly News] {{Webarchive|url=https://web.archive.org/web/20230519125853/http://contemplatecode.blogspot.com/search/label/HWN |date=2023-05-19 }}
* [http://themonadreader.wordpress.com/ The Monad.Reader] {{Webarchive|url=https://web.archive.org/web/20230608031832/https://themonadreader.wordpress.com/ |date=2023-06-08 }}, quarterly magazine on Haskell topics
* {{cite podcast|url=http://www.se-radio.net/2008/08/episode-108-simon-peyton-jones-on-functional-programming-and-haskell/ |title=Episode 108: Simon Peyton Jones on Functional Programming and Haskell |website=Software Engineering Radio |host=Markus |date=29 August 2008}}
* [http://leksah.org/ Leksah] {{Webarchive|url=https://web.archive.org/web/20120513234524/http://leksah.org/ |date=2012-05-13 }}, a GTK-based Haskell IDE written in Haskell
;Tutorials
* [http://tryhaskell.org/ Try Haskell!] {{Webarchive|url=https://web.archive.org/web/20230802163743/https://tryhaskell.org/ |date=2023-08-02 }}, an in-browser interactive tutorial
* [http://hal3.name/docs/daume02yaht.pdf Yet Another Haskell Tutorial] {{Webarchive|url=https://web.archive.org/web/20100415154045/http://hal3.name/docs/daume02yaht.pdf |date=2010-04-15 }}, by Hal Daumé III; assumes far less prior knowledge than official tutorial
* [http://cheatsheet.codeslower.com/ The Haskell Cheatsheet] {{Webarchive|url=https://web.archive.org/web/20230815210229/http://cheatsheet.codeslower.com/ |date=2023-08-15 }}, compact language reference and mini-tutorial
{{Daftar bahasa pemrograman}}
 
{{stub}}
{{Authority control}}
 
[[Kategori:Bahasa pemrograman]]
[[Kategori:Perangkat lunak bebas]]
 
 
{{stub}}