2017-12-25 147 views
5

Trong yesod book có một đoạn:Nội dung mã trong haskell là gì?

Template Haskell thực chất là Haskell mà tạo ra một Haskell cú pháp trừu tượng Tree (AST).

Trên thực tế, có nhiều quyền lực hơn TH vì nó thực sự có thể xem xét mã. Tuy nhiên, chúng tôi không sử dụng các cơ sở này ở Yesod.

Nội dung có ý nghĩa gì đối với mã nội dung và bạn có thể làm gì với tính năng này?

+0

Bạn có nghĩa là [cuốn sách này] (https://www.yesodweb.com/book)? Có thể thêm liên kết vào câu hỏi của bạn? – jjj

Trả lời

8

Mã mẫu Haskell trong Yesod chỉ được sử dụng để tạo mã. Theo nghĩa đó, đó là một sự thay thế nghiêm ngặt cho bản mẫu. Thay vì sử dụng Template Haskell, chúng ta có thể viết một cách thủ công một phép chuyển đổi từ cú pháp tệp tuyến đường thành mã bạn nên viết bằng tay và bạn có thể tự viết mã tương đương.

Với nội tâm, bạn thực sự xem xét thông tin hiện có mà trình biên dịch có và đưa ra quyết định. Ví dụ: bạn có thể tìm kiếm tất cả các phiên bản của kiểu chữ Show và tạo String bằng danh sách đó. Cách tiếp cận đó có thể hữu ích trong một số trường hợp, chẳng hạn như tự động tạo một tập hợp các thử nghiệm. Nhận xét trong cuốn sách chỉ nói rằng Yesod không bao giờ làm điều này.

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