Tôi quan tâm đến các ví dụ về lập trình meta được viết bằng F # thể hiện việc sử dụng chức năng F # -specific như hàm TryGetReflectedDefinition
trong thư viện chuẩn F #.Ví dụ về lập trình meta trong F #
Tôi có thể tìm các ví dụ như vậy ở đâu?
Tôi quan tâm đến các ví dụ về lập trình meta được viết bằng F # thể hiện việc sử dụng chức năng F # -specific như hàm TryGetReflectedDefinition
trong thư viện chuẩn F #.Ví dụ về lập trình meta trong F #
Tôi có thể tìm các ví dụ như vậy ở đâu?
WebSharper và Unquote là hai ví dụ về thư viện mã nguồn mở F # sử dụng Báo giá (Unquote không sử dụng cụ thể TryGetReflectedDefinition
, nhưng tôi tin rằng WebSharper có).
FSharp.PowerPack.Linq là một ví dụ khác. Ngoài ra, tôi đã tìm thấy các implementation of quotations trong trình biên dịch F # là một tài liệu tham khảo hữu ích và sâu sắc.
Cách đây một thời gian, tôi đã viết một dự án dịch F # trích dẫn sang mã GPU bằng cách sử dụng MSR Accelerator.
Đây là một trình dịch khá đơn giản (so với WebSharper, khá phức tạp), nhưng nó sẽ chứng minh hầu hết các tính năng bạn quan tâm. Cụ thể, nó dịch các chức năng được đánh dấu bằng thuộc tính ReflectedDefinition
. Nó cũng là từ miền tính toán khoa học yêu thích của bạn :-)
tôi phát triển WebSharper, và vâng, chúng tôi sử dụng trích dẫn siêu dữ liệu. Mặc dù chúng tôi đã phải viết lại TryGetReflectedDefinition để làm việc xung quanh một số lỗi F #, chúng tôi đang sử dụng cùng một bảng siêu dữ liệu như hàm này. – t0yv0