Nhiều hướng dẫn Haskell mà tôi đã xem xét tập trung gần như hoàn toàn trên cú pháp với phạm vi phủ sóng rất ít về cách cấu trúc chương trình.Cấu trúc cơ bản của chương trình Haskell
Ví dụ ...
Dưới đây là một phác thảo trần xương của một ứng dụng C++:
#include <iostream>
using namespace std;
int addition (int a, int b)
{
int r;
r=a+b;
return (r);
}
int main()
{
int z;
z = addition (5,3);
cout << "The result is " << z;
return 0;
}
Khi tôi lần đầu tiên bắt đầu học C++, ví dụ như thế này đã giúp tôi vô cùng trong việc học cách lắp ráp riêng thành các chương trình làm việc. Có lẽ tôi đang tìm kiếm ở những nơi sai, nhưng tôi đã không thể tìm thấy bất kỳ ví dụ như vậy là trực tiếp và đơn giản cho Haskell.
Tôi đã biết NHIỀU cú pháp Haskell. Tôi có thể viết danh sách đệ quy, và thao tác chuỗi, số nguyên, và liệt kê ra wazoo.
Tóm tắt: Tôi chỉ muốn biết hai chương trình con và biến thay đổi trông như thế nào trong Haskell. Nếu tôi có thể có được một số hiểu biết cơ bản về cách cấu trúc một chương trình Haskell, cuối cùng tôi có thể đặt tất cả cú pháp mà tôi đã học được để sử dụng một số.
Tôi sẽ bắt đầu tại các địa điểm như http://www.haskell.org/haskellwiki/Haskell_in_5_steps Tôi đang học Clojure. Tuy nhiên, tôi có cuốn sách O'Reilly Haskell và cuốn sách này - http://www.nostarch.com/lyah.htm - dường như đang nhận được nhiều đánh giá tốt. – octopusgrabbus
Trong khi đây là một câu hỏi hợp pháp, cho phép tôi đề nghị bạn đang tiếp cận Haskell hơi sai. Haskell nhấn mạnh các hàm thuần túy càng nhiều càng tốt, và hầu hết các triển khai Haskell cung cấp một REPL (vòng lặp đọc-eval-print), nơi bạn có thể chơi xung quanh với các hàm bạn đã định nghĩa. Tôi khuyên bạn nên, thay vì làm cho các chương trình nhỏ in ra stdout, chỉ cần viết các hàm và chơi với chúng trong ghci. Tôi nghĩ bạn sẽ thấy nó linh hoạt và thú vị hơn cho việc học Haskell. –
@DanBurton Tôi có lẽ đã dành tháng cuối cùng để đọc về cú pháp và chơi xung quanh với các chức năng và khả năng hiểu danh sách trong ghci. Tôi đã sẵn sàng để làm một chương trình ngay bây giờ. (D: Bạn đang ở ngay trong đó tôi đã tiếp cận Haskell sai. Tôi đang cố gắng áp dụng các nguyên tắc lập trình thủ tục cho một ngôn ngữ lập trình hàm. Tôi vẫn đang cố gắng quấn đầu về cách biến một loạt các hàm thành một thứ gì đó –