2012-04-15 29 views
6

Tôi mới đến Haskell và cho đến nay khá thích nó. Một điều khiến tôi ấn tượng là nó có vẻ khá lớn, với nhiều cấu trúc cú pháp và các thư viện xác định các hàm cho mọi thứ. Ví dụ, Data.Map định nghĩa gần 100 hàm. Data.Set cũng định nghĩa nhiều hàm, cũng như Data.List, cũng cung cấp rất nhiều chức năng giống như Data.Set.Tại sao Haskell lại quá lớn?

Tôi có ý kiến ​​của người mới bắt đầu về lý do tại sao có thể (cung cấp các chức năng cho tất cả các kiểu phổ biến, giảm tiếng ồn), nhưng tôi muốn nghe một số ý kiến ​​kỳ cựu về chủ đề này.

+3

Đã bỏ phiếu để đóng: đây là một câu hỏi hay nhưng rất quan tâm và không phù hợp với SO. Tôi khuyên bạn nên tự đăng bài trên [/r/haskell] (http://reddit.com/r/haskell) –

+1

Đủ công bằng, [tại đây] [http://www.reddit.com/r/haskell/ comments/sb80y/why_is_haskell_so_large /). – Scott

Trả lời

3

Tôi có thể nói rằng kích thước của ngôn ngữ Haskell ở đâu đó ở giữa (lớn hơn Lisp, nhỏ hơn C++). Mặc dù kể từ khi tất cả các cú pháp đường đã được xác định rõ bản dịch xuống Haskell Core (trong đó có khoảng 7 yếu tố), hơi khó phân biệt giữa thư viện và ngôn ngữ.

Đúng là các thư viện có chứa rất nhiều chức năng nhỏ, về cơ bản vì các lập trình viên của Haskell đã tìm thấy các mẫu tiếp tục bật lên và sau đó đặt chúng vào mã. Là một người học, tôi thường có cảm giác "nên có một chức năng để làm điều đó" và sau đó phát hiện ra rằng có. Bạn học chúng theo cùng một cách như chúng được viết: tự viết hàm, và sau đó tìm nó trong tài liệu cho một số thư viện vài ngày sau đó.

+1

"lớn hơn Lisp" Bạn có nghĩa là Đề án? Lisp thường nổi tiếng là rất lớn, và Scheme đã được tạo ra để phản ứng với nó. –

+0

@PascalCuoq: thậm chí Common Lisp là khá nhỏ so với nhiều ngôn ngữ hiện đại. - C++ không thực sự là _that_ lớn. Nó chỉ có rất nhiều cách khác nhau để làm việc. – leftaroundabout

+0

@PascalCuoq là bạn nói rằng Đề án đã được tạo ra với dự đoán của một lớn sắp tới Common Lisp :)? – Peteris

Các vấn đề liên quan