Haskell (ngôn ngữ lập trình)

Haskell là một ngôn ngữ lập trình thuần hàm, đặt theo tên của Haskell Curry. Vì là ngôn ngữ lập trình hàm, trong Haskell, hàm là "cư dân hạng nhất", với hầu hết các cấu trúc điều khiển là hàm.

Haskell
Logo of Haskell
Mẫu hìnhThuần hàm
Thiết kế bởiLennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, Simon Peyton Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, Philip Wadler
Xuất hiện lần đầu1990; 34 năm trước (1990)[1]
Phiên bản ổn định
Haskell 2010[2] / tháng 7 năm 2010; 14 năm trước (2010-07)
Bản xem thử
Haskell 2020 announced[3]
Kiểm tra kiểuInferred, kiểu tĩnh, strong
Hệ điều hànhĐa nền tảng
Phần mở rộng tên tập tin.hs, .lhs
Trang mạngwww.haskell.org
Các bản triển khai lớn
GHC, Hugs, NHC, JHC, Yhc, UHC
Phương ngữ
Gofer
Ảnh hưởng từ
Clean,[4] FP,[4] Gofer,[4] Hope and Hope ,[4] Id,[4] ISWIM,[4] KRC,[4] Lisp,[4] Miranda,[4] ML and Standard ML,[4] Orwell, SASL,[4] Scheme,[4] SISAL[4]
Ảnh hưởng tới
Agda,[5] Bluespec,[6] C 11/Concepts,[7] C#/LINQ,[8][9][10][11] CAL,[cần dẫn nguồn] Cayenne,[8] Clean,[8] Clojure,[12] CoffeeScript,[13] Curry,[8] Elm, Epigram,[cần dẫn nguồn] Escher,[14] F#,[15] Hack,[16] Idris,[17] Isabelle,[8] Java/Generics,[8] LiveScript,[18] Mercury,[8] Ωmega, PureScript,[19] Python,[8][20] Raku,[21] Rust,[22] Scala,[8][23] Swift,[24] Visual Basic 9.0[8][9]

Lịch sử

sửa

Năm 1987, trong hội nghị về ngôn ngữ lập trình hàm và kiến trúc máy tính (FPCA) diễn ra tại ở bang Oregon, Hoa Kỳ, một hội đồng với nhiệm vụ hợp nhất các ngôn ngữ lập trình hàm đã được thành lập. Đến năm 1990, phiên bản đầu tiên của Haskell ra đời (Haskell 1.0). Trong các năm sau đó, các phiên bản tiếp theo (1.1 đến 1.4) lần lượt được ra mắt. Tới năm 1998, Haskell được tiêu chuẩn hóa dưới cái tên Haskell 98. Phiên bản mới nhất của Haskell là Haskell 2010, giới thiệu vào tháng bảy 2010.

Tham khảo

sửa
  1. ^ Hudak và đồng nghiệp 2007.
  2. ^ Marlow, Simon (24 tháng 11 năm 2009). “Announcing Haskell 2010”. Haskell (Danh sách thư). Truy cập 12 Tháng Ba năm 2011.
  3. ^ Riedel, Herbert (28 tháng 4 năm 2016). “ANN: Haskell Prime 2020 committee has formed”. Haskell-prime (Danh sách thư). Truy cập 6 tháng Năm năm 2017.
  4. ^ a b c d e f g h i j k l m Peyton Jones 2003, tr. xi
  5. ^ Norell, Ulf (2008). “Dependently Typed Programming in Agda” (PDF). Gothenburg: Chalmers University. Truy cập 9 Tháng hai năm 2012.
  6. ^ Hudak và đồng nghiệp 2007, tr. 12–38, 43.
  7. ^ Stroustrup, Bjarne; Sutton, Andrew (2011). “Design of Concept Libraries for C ” (PDF). Bản gốc (PDF) lưu trữ 10 Tháng hai năm 2012. Chú thích journal cần |journal= (trợ giúp)
  8. ^ a b c d e f g h i j Hudak và đồng nghiệp 2007, tr. 12-45–46.
  9. ^ a b Meijer, Erik (2006). “Confessions of a Used Programming Language Salesman: Getting the Masses Hooked on Haskell”. Oopsla 2007. CiteSeerX 10.1.1.72.868.
  10. ^ Meijer, Erik (1 tháng 10 năm 2009). “C9 Lectures: Dr. Erik Meijer – Functional Programming Fundamentals, Chapter 1 of 13”. Channel 9. Microsoft. Bản gốc lưu trữ 16 Tháng sáu năm 2012. Truy cập 9 Tháng hai năm 2012.
  11. ^ Drobi, Sadek (4 tháng 3 năm 2009). “Erik Meijer on LINQ”. InfoQ. QCon SF 2008: C4Media Inc. Truy cập 9 Tháng hai năm 2012.Quản lý CS1: địa điểm (liên kết)
  12. ^ Hickey, Rich. “Clojure Bookshelf”. Listmania!. Bản gốc lưu trữ 3 tháng Mười năm 2017. Truy cập 3 tháng Mười năm 2017.
  13. ^ Heller, Martin (18 tháng 10 năm 2011). “Turn up your nose at Dart and smell the CoffeeScript”. InfoWorld. Truy cập ngày 15 tháng 7 năm 2020.
  14. ^ “Declarative programming in Escher” (PDF). Truy cập 7 tháng Mười năm 2015.
  15. ^ Syme, Don; Granicz, Adam; Cisternino, Antonio (2007). Expert F#. Apress. tr. 2. F# also draws from Haskell particularly with regard to two advanced language features called sequence expressions and workflows.
  16. ^ “Facebook Introduces 'Hack,' the Programming Language of the Future”. WIRED. 20 tháng 3 năm 2014.
  17. ^ “Idris, a dependently typed language”. Truy cập 26 tháng Mười năm 2014.
  18. ^ “LiveScript Inspiration”. Truy cập 4 Tháng hai năm 2014.
  19. ^ Freeman, Phil (2016). “PureScript by Example”. Leanpub. Truy cập 23 Tháng tư năm 2017.
  20. ^ Kuchling, A. M. “Functional Programming HOWTO”. Python v2.7.2 documentation. Python Software Foundation. Truy cập 9 Tháng hai năm 2012.
  21. ^ “Glossary of Terms and Jargon”. Perl Foundation Perl 6 Wiki. The Perl Foundation. Bản gốc lưu trữ 21 Tháng Một năm 2012. Truy cập 9 Tháng hai năm 2012.
  22. ^ “The Rust Reference: Appendix: Influences”. Truy cập 3 Tháng hai năm 2016.
  23. ^ Fogus, Michael (6 tháng 8 năm 2010). “MartinOdersky take(5) toList”. Send More Paramedics. Truy cập 9 Tháng hai năm 2012.
  24. ^ Lattner, Chris (3 tháng 6 năm 2014). “Chris Lattner's Homepage”. Chris Lattner. Truy cập 3 Tháng sáu năm 2014. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.