Gần đây OCaml 3.12 giới thiệu một feature các module đóng gói hạng nhất:Sử dụng tốt các mô-đun đóng gói OCaml là gì?
First-class gói mô-đun.
- loại mới của biểu thức loại, cho module đóng gói:
(module PT)
- loại mới của ngôn luận, để đóng gói một module như một giá trị hạng nhất:
(module MODEXPR : PT)
.- Loại biểu thức mô-đun mới, để giải nén một giá trị hạng nhất làm mô-đun:
(val EXPR : PT)
.- PT là loại gói của biểu mẫu
S
hoặcS with type t1 = ... and ... and type tn = ...
(S
là loại mô-đun).
Tôi có thể tìm các ví dụ hoặc giấy tờ khuyến khích sử dụng tính năng này ở đâu?
Theo như tôi nhớ, Moscow ML, một triển khai SML sử dụng ánh sáng caml như back-end, là người đầu tiên triển khai mô-đun hạng nhất. Phần thích hợp của tài liệu của Moscow ML đề cập đến các tệp mosml/example/modules/{sieve.sml, array.sml, choice.sml, matrix.sml} từ bản phân phối cho các ví dụ. –
@Pascal Đẹp tham khảo cho các ví dụ. Đó là phần mở rộng của Claudio mà tôi đã đề cập. – RD1