Tôi muốn thực hiện một số phép lập trình meta bằng ngôn ngữ được gõ tĩnh, trong đó cả hai chương trình và chương trình meta của tôi sẽ được nhập. Ý tôi là điều này theo nghĩa mạnh mẽ: nếu trình biên dịch chương trình của tôi biên dịch, tôi muốn hệ thống kiểu đủ mạnh để chỉ có thể tạo ra các chương trình kiểu đúng.Ngôn ngữ lập trình đã nhập
Theo như tôi biết, chỉ metaocaml mới có thể thực hiện việc này. (Không, mẫu Bản mẫu Haskell và C++ không phù hợp với hóa đơn - xem this paper). Câu hỏi: những ngôn ngữ/hệ thống nào khác cho phép điều này?
EDIT: Theo như tôi có thể nói, metaocaml đã chết. Oleg tried to resurrect it, nhưng điều đó vẫn còn bị mắc kẹt một số phiên bản đằng sau OCaml chính nó. Nếu ai muốn đi với các ngôn ngữ thực nghiệm (tức là thậm chí nhiều hơn so với metaocaml, có vẻ như Ur và hoàn toàn có thể Idris phù hợp với những hóa đơn. Bất kỳ mục mới khác để lĩnh vực này?
Có một câu hỏi? – Ken
@Ken: yes - cung cấp cho tôi các ngôn ngữ/hệ thống cho phép điều này. Tôi sẽ chỉnh sửa câu hỏi (mặc dù tôi thấy rằng 2 người trả lời đã hiểu tôi rất rõ). –
Tôi dự định nhận xét, về TH, rằng [chủ đề này đã xuất hiện trên danh sách gửi thư của Haskell-cafe] (http://www.haskell.org/pipermail/haskell-cafe/2010-April/075753.html) một chút trong khi trở lại, nhưng sau khi tìm kiếm các chủ đề có vẻ như vậy, vì lý do rõ ràng, nó không hỗ trợ trả lời câu hỏi này ... –