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

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; 35 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)
Phiên bản thử nghiệm
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]

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.

Lịch sử

[sửa | sửa mã nguồn]

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 | sửa mã nguồn]
  1. ^ Hudak và đồng nghiệp 2007.
  2. ^ Marlow, Simon (ngày 24 tháng 11 năm 2009). "Announcing Haskell 2010". Haskell (Danh sách thư). Truy cập ngày 12 tháng 3 năm 2011.
  3. ^ Riedel, Herbert (ngày 28 tháng 4 năm 2016). "ANN: Haskell Prime 2020 committee has formed". Haskell-prime (Danh sách thư). Truy cập ngày 6 tháng 5 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 ngày 9 tháng 2 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ữ ngày 10 tháng 2 năm 2012. {{Chú thích tạp chí}}: Chú thích magazine cần |magazine= (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 (ngày 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ữ ngày 16 tháng 6 năm 2012. Truy cập ngày 9 tháng 2 năm 2012.
  11. ^ Drobi, Sadek (ngày 4 tháng 3 năm 2009). "Erik Meijer on LINQ". InfoQ. QCon SF 2008: C4Media Inc. Truy cập ngày 9 tháng 2 năm 2012.{{Chú thích báo}}: Quản lý CS1: địa điểm (liên kết)
  12. ^ Hickey, Rich. "Clojure Bookshelf". Listmania!. Bản gốc lưu trữ ngày 3 tháng 10 năm 2017. Truy cập ngày 3 tháng 10 năm 2017.
  13. ^ Heller, Martin (ngày 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 ngày 7 tháng 10 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. ngày 20 tháng 3 năm 2014.
  17. ^ "Idris, a dependently typed language". Truy cập ngày 26 tháng 10 năm 2014.
  18. ^ "LiveScript Inspiration". Truy cập ngày 4 tháng 2 năm 2014.
  19. ^ Freeman, Phil (2016). "PureScript by Example". Leanpub. Truy cập ngày 23 tháng 4 năm 2017.
  20. ^ Kuchling, A. M. "Functional Programming HOWTO". Python v2.7.2 documentation. Python Software Foundation. Truy cập ngày 9 tháng 2 năm 2012.
  21. ^ "Glossary of Terms and Jargon". Perl Foundation Perl 6 Wiki. The Perl Foundation. Bản gốc lưu trữ ngày 21 tháng 1 năm 2012. Truy cập ngày 9 tháng 2 năm 2012.
  22. ^ "The Rust Reference: Appendix: Influences". Truy cập ngày 3 tháng 2 năm 2016.
  23. ^ Fogus, Michael (ngày 6 tháng 8 năm 2010). "MartinOdersky take(5) toList". Send More Paramedics. Truy cập ngày 9 tháng 2 năm 2012.
  24. ^ Lattner, Chris (ngày 3 tháng 6 năm 2014). "Chris Lattner's Homepage". Chris Lattner. Truy cập ngày 3 tháng 6 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.
Chúng tôi bán
Bài viết liên quan
Giới Thiệu Nhân Vật | Seele - Honkai: Star Rail
Giới Thiệu Nhân Vật | Seele - Honkai: Star Rail
Seele là một nhân vật có thuộc tính Lượng tử, vận mệnh săn bắn, có thể gây sát thương cho một kẻ địch
Sự tương đồng giữa Kuma - One Piece và John Coffey - Green Mile
Sự tương đồng giữa Kuma - One Piece và John Coffey - Green Mile
Nhiều bạn mấy ngày qua cũng đã nói về chuyện này, nhân vật Kuma có nhiều điểm giống với nhân vật John Coffey trong bộ phim Green Mile.
Giải đáp một số câu hỏi về Yelan - Genshin Impact
Giải đáp một số câu hỏi về Yelan - Genshin Impact
Yelan C0 vẫn có thể phối hợp tốt với những char hoả như Xiangling, Yoimiya, Diluc
3 nhóm kỹ năng kiến thức bổ ích giúp bạn trở thành một ứng viên sáng giá
3 nhóm kỹ năng kiến thức bổ ích giúp bạn trở thành một ứng viên sáng giá
Hiện nay với sự phát triển không ngừng của xã hội và công nghệ, việc chuẩn bị các kỹ năng bổ ích cho bản thân