2011-12-26 34 views
5

Một thời gian trước, tôi nổi lên với bản thân mình rằng Guile và Racket có thể được nhúng và được gọi ngay từ bất kỳ ứng dụng C++ nào.Có thể sử dụng OCaml ở chế độ nhúng không?

OCaml có thể hoạt động như thế này không?

+0

Tôi đoán là không. OCaml được thiết kế như một ngôn ngữ biên dịch, vì vậy nó không thực sự có ý định được sử dụng như thế. –

Trả lời

6

Bạn có thể xem Embedded O'Caml Toplevel do Clément Capel thực hiện. Đó là kết quả của việc thực tập mùa hè nên nó không được cập nhật kể từ năm 2004.

Nếu không, có ocamlmklib.

+2

+1 cho ocamlmklib, nhận xét của OP làm rõ là những gì anh ta đang tìm kiếm. –

+0

ocamlmklib không liên quan gì đến việc nhúng OCaml. Nó là một trình bao bọc xung quanh trình liên kết để tạo các thư viện C-OCaml hỗn hợp. –

5

Bạn có thể sử dụng OCaml toplevel làm thư viện. Nó là một phần của bản phân phối chính thức của OCaml và được cập nhật. Xem toploop.mli trong nguồn OCaml cho giao diện. Nó là chính thức chỉ có sẵn trong bytecode, nhưng có hỗ trợ thử nghiệm cho mã nguồn gốc.

Nếu bạn dự định phân phối lại ứng dụng của mình, hãy lưu ý rằng thư viện to lớn (và bản thân trình biên dịch) nằm trong giấy phép hạn chế hơn (thư viện QPL đã sửa đổi) so với thư viện chuẩn và thời gian chạy (LGPL đã sửa đổi).

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