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.
Semantik Haskell secara historis didasarkan pada bahasa pemrograman Miranda, yang berfungsi untuk memfokuskan upaya kelompok kerja Haskell awal.[14] 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.[15][16][17] Hingga Mei 2021[update], Haskell adalah bahasa pemrograman terpopuler ke-28 menurut Google Pencarian untuk tutorial,[18] dan berjumlah kurang dari 1% pengguna aktif di repositori kode sumber GitHub.[19]
Sejarah
suntingSetelah perilisan 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 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-bahasa fungsional yang ada menjadi bahasa yang umum untuk digunakan sebagai dasar pengmebangan masa depan dalam desain bahasa fungsional.[20]
Contoh
suntingHello World
suntingBerikut ini adalah contoh program sederhana yang akan mencetak kalimat "Hello, World!".
main = putStrLn "Hello, world!"
Penjumlahan sederhana
suntingBerikut ini adalah contoh program sederhana yang akan mencetak hasil penjumlahan antara 2 dan 10.
main = print (2 + 10)
Cetak nama
suntingBerikut ini adalah contoh program sederhana yang akan meminta nama pengguna dan mencetaknya kembali.
main = do
putStrLn "Masukan nama Anda:"
nama <- getLine
putStrLn ("Selamat datang, " ++ nama ++ "!")
Referensi
sunting- ^ a b c d e f g h i j k l m Haskell 98 Report, p. xi
- ^ Norell, Ulf (2008). "Dependently Typed Programming in Agda" (PDF). Gothenburg: Chalmers University. Diarsipkan (PDF) dari versi asli tanggal 2014-04-01. Diakses tanggal 9 February 2012.
- ^ Stroustrup, Bjarne; Sutton, Andrew (2011). "Design of Concept Libraries for C++" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2011-08-25. Diakses tanggal 2021-02-21.
- ^ Meijer, Erik (1 October 2009). "C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals, Chapter 1 of 13". Channel 9. Microsoft. Diarsipkan dari versi asli tanggal 2012-06-16. Diakses tanggal 9 February 2012.
- ^ Drobi, Sadek (4 March 2009). "Erik Meijer on LINQ". InfoQ. QCon SF 2008: C4Media Inc. Diarsipkan dari versi asli tanggal 2021-01-26. Diakses tanggal 9 February 2012.
- ^ 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). - ^ Hickey, Rich. "Clojure Bookshelf". Listmania!. Amazon.com. Diarsipkan dari versi asli tanggal 2012-03-19. Diakses tanggal 9 February 2012.
- ^ Heller, Martin (18 October 2011). "Turn up your nose at Dart and smell the CoffeeScript". JavaWorld. InfoWorld. Diarsipkan dari versi asli tanggal 2012-02-10. Diakses tanggal 9 February 2012.
- ^ 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.
- ^ "Glossary of Terms and Jargon". Perl Foundation Perl 6 Wiki. The Perl Foundation. 28 February. Diarsipkan dari versi asli tanggal 2012-01-21. Diakses tanggal 9 February 2012.
- ^ Kuchling, A. M. "Functional Programming HOWTO". Python v2.7.2 documentation. Python Software Foundation. Diarsipkan dari versi asli tanggal 2012-10-24. Diakses tanggal 9 February 2012.
- ^ Fogus, Michael (6 August 2010). "MartinOdersky take(5) toList". Send More Paramedics. Diarsipkan dari versi asli tanggal 2012-02-14. Diakses tanggal 9 February 2012.
- ^ Erik Meijer, "Confessions of a Used Programming Language Salesman",[1] OOPSLA 2007
- ^ Edward Kmett, Edward Kmett – Type Classes vs. the World
- ^ Mossberg, Erik (2020-06-08), erkmos/haskell-companies, diakses tanggal 2020-06-22
- ^ O'Sullivan, Bryan; Goerzen, John; Stewart, Donald Bruce (15 November 2008). Real World Haskell: Code You Can Believe In (dalam bahasa Inggris). "O'Reilly Media, Inc.". hlm. xxviii–xxxi. ISBN 978-0-596-55430-9.
- ^ "Haskell in Production: Riskbook". Serokell Software Development Company (dalam bahasa Inggris). Diakses tanggal 2021-09-07.
- ^ "PYPL PopularitY of Programming Language index". pypl.github.io (dalam bahasa Inggris). May 2021. Diarsipkan dari versi asli tanggal 7 May 2021. Diakses tanggal 16 May 2021.
- ^ Frederickson, Ben. "Ranking Programming Languages by GitHub Users". www.benfrederickson.com. Diakses tanggal 6 September 2019.
- ^ Peyton Jones 2003, Preface.
Pranala luar
sunting- Situs web resmi
- Language and library specification Diarsipkan 2015-01-02 di Wayback Machine. at the Haskell Wiki
- Haskell di Curlie (dari DMOZ)
- Various
- The Evolution of a Haskell Programmer Diarsipkan 2007-01-01 di Wayback Machine., slightly humorous overview of different programming styles available in Haskell
- Online Bibliography of Haskell Research Diarsipkan 2008-09-15 di Wayback Machine.
- Haskell Weekly News Diarsipkan 2023-05-19 di Wayback Machine.
- The Monad.Reader Diarsipkan 2023-06-08 di Wayback Machine., quarterly magazine on Haskell topics
- Markus (29 August 2008). "Episode 108: Simon Peyton Jones on Functional Programming and Haskell". Software Engineering Radio (Podcast). http://www.se-radio.net/2008/08/episode-108-simon-peyton-jones-on-functional-programming-and-haskell/.
- Leksah Diarsipkan 2012-05-13 di Wayback Machine., a GTK-based Haskell IDE written in Haskell
- Tutorials
- Try Haskell! Diarsipkan 2023-08-02 di Wayback Machine., an in-browser interactive tutorial
- Yet Another Haskell Tutorial Diarsipkan 2010-04-15 di Wayback Machine., by Hal Daumé III; assumes far less prior knowledge than official tutorial
- The Haskell Cheatsheet Diarsipkan 2023-08-15 di Wayback Machine., compact language reference and mini-tutorial