2015-09-11 18 views
15

Các thư viện cụ thể của GHC có thể được gọi là thư viện chuẩn không? Hay chỉ những người trong số báo cáo của Haskell 2010?Thư viện chuẩn Haskell là gì?

Nhiều thư viện GHC có thể được thực hiện bởi các hàm trong báo cáo Haskell, có thể được kết hợp với các ràng buộc C. Nhưng những người khác phụ thuộc vào các phần mở rộng cụ thể của GHC, vì ngôn ngữ Haskell hiện tại được định nghĩa trong báo cáo ngôn ngữ không hỗ trợ nó.

Ví dụ: có thể Data.Array.IO được triển khai trong Haskell chuẩn thuần túy không?

Có thực sự ổn khi nghĩ rằng GHC Haskell?

+2

Cụ thể về 'Data.Array.IO', câu trả lời rõ ràng là" không ". [The * mảng * tài liệu] (https://hackage.haskell.org/package/array-0.5.1.0) nói rằng "* Ngoài * cung cấp mô-đun Data.Array như được chỉ định trong Báo cáo ngôn ngữ Haskell 2010, điều này gói * cũng * định nghĩa các lớp IArray của mảng bất biến và MArray của mảng có thể thay đổi trong các monads thích hợp, cũng như một số trường hợp của các lớp này "(nhấn mạnh của tôi); trong khi đó, ['Data.Array.IO'] (https://hackage.haskell.org/package/array-0.5.1.0/docs/Data-Array-IO.html) được đánh dấu là" không di động (sử dụng Dữ liệu .Array.MArray) ". – duplode

+4

Theo như tôi biết, GHC là mục đích chung duy nhất hiện tại của Haskell. Điều đó nói rằng, bạn có thể muốn kiểm tra xem những thư viện nào có sẵn với 'GHCJS' và' Haste', và có lẽ để phân nhánh một chút cho những người thân của Haskell như Purescript và Frege. – dfeuer

+8

Thật không may là cộng đồng Haskell không có sự đồng thuận thực sự về thư viện "chuẩn". Các thư viện báo cáo quá hạn chế đối với nhiều công dụng, các thư viện GHC chủ yếu được xác định bởi chính những gì GHC * cần *, Nền tảng Haskell là một nỗ lực để xác định một nhưng nhiều người không thích phụ thuộc vào nó, và Stackage và đặc biệt là Hackage quá lớn. –

Trả lời

7

Thật không may cộng đồng Haskell không có sự đồng thuận thực sự về thư viện "chuẩn".

  • report libraries quá giới hạn cho nhiều lần sử dụng.
  • GHC libraries chủ yếu được xác định bởi chính GHC cần.
  • Haskell Platform là một nỗ lực để xác định một nhưng nhiều người không muốn phụ thuộc vào nó.
  • Stackage và đặc biệt là Hackage quá lớn.
Các vấn đề liên quan