Đây là một thực hiện các ngôn ngữ ML, dựa trên phương ngữ CAML Ánh sáng mở rộng với một hệ thống đối tượng dựa trên lớp đầy đủ và một hệ thống module mạnh mẽ trong phong cách của Standard ML.
Mục tiêu CAML gồm hai trình biên dịch. Một tạo bytecode sau đó được giải thích bởi một chương trình C.
Trình biên dịch này chạy một cách nhanh chóng, có thể di động để thực chất bất cứ nền tảng Unix 32 hoặc 64 bit và tạo ra mã nhỏ gọn với yêu cầu bộ nhớ vừa phải.
Hiệu suất của chương trình được tạo ra là khá tốt cho một thực hiện bytecoded.
Trình biên dịch này có thể được sử dụng như một thiết bị độc, trình biên dịch hàng loạt định hướng sản xuất các chương trình độc lập, hoặc là một hệ thống cấp đầu tương tác dựa trên.
Các trình biên dịch khác tạo ra hiệu suất cao mã nguồn gốc cho một số
bộ vi xử lý.
Compilation mất lâu hơn và tạo ra mã lớn hơn, nhưng các chương trình tạo ra cung cấp hiệu suất tuyệt vời, trong khi giữ lại các yêu cầu bộ nhớ vừa phải của trình biên dịch bytecode.
Mục tiêu CAML là biến thể phổ biến nhất của ngôn ngữ CAML.
Từ một quan điểm ngôn ngữ, nó mở rộng ngôn ngữ cốt lõi CAML với một lớp hướng đối tượng đầy đủ chính thức, cũng như một hệ thống module mạnh mẽ, tất cả các kết nối bởi một âm thanh, tính năng suy luận kiểu hệ thống kiểu đa hình.
Hệ thống CAML Mục tiêu là thực hiện công nghiệp-sức mạnh của ngôn ngữ này, gồm có một trình biên dịch bản địa-mã-hiệu năng cao (ocamlopt) cho 9 bộ xử lý kiến trúc (IA32, PowerPC, AMD64, Alpha, Sparc, MIPS, IA64, HPPA, StrongARM), cũng như một trình biên dịch bytecode (ocamlc) và một vòng lặp tương tác đọc eval-in (ocaml) cho sự phát triển nhanh chóng và tính di động.
Sự phân bố CAML Mục tiêu bao gồm một thư viện chuẩn toàn diện, một debugger replay (ocamldebug), lexer (ocamllex) và phân tích cú pháp (ocamlyacc) máy phát điện, một bộ xử lý trước khá-in (camlp4) và một máy phát tài liệu (ocamldoc).
là gì mới trong phiên bản này:
- Cập nhật để Tcl / Tk 8.6.
- Từ chối nhiều tờ khai cùng một phương pháp hoặc biến cá thể trong một đối tượng.
- Tuyên truyền các loại thông tin hướng tới mô hình khớp, ngay cả trong sự hiện diện của các biến thể đa hình.
là gì mới trong phiên bản 4.02.1:
- Cập nhật để Tcl / Tk 8.6.
- Từ chối nhiều tờ khai cùng một phương pháp hoặc biến cá thể trong một đối tượng.
- Tuyên truyền các loại thông tin hướng tới mô hình khớp, ngay cả trong sự hiện diện của các biến thể đa hình.
là gì mới trong phiên bản 3.12.1:
- Buds cố định:
- biến chưa sử dụng không được phát hiện trong "bao gồm (struct .. cuối)"
- camlp4 sửa lỗi in ấn cú pháp trong các mục cấp đầu (báo cáo về CAML-list)
- configure: không xác định _WIN32 dưới Cygwin
- Hardened so sánh chung chung trong trường hợp hai khối tùy chỉnh được so sánh và có bộ khác nhau của hoạt động tùy chỉnh.
- Hardened so sánh giữa bigarrays trong trường hợp hai bigarrays có các loại khác nhau.
- Sửa lỗi tự động phát hiện sai trái của expm1 () và log1p ().
- Đừng thêm hậu tố .exe khi cài đặt các script shell ocamlmktop
- ocamldoc: sửa chữa nhỏ liên quan đến việc hiển thị các tùy chọn ocamldoc
- Cố định lỗi với giá trị rất lớn trong OCAMLRUNPARAM
- không phù hợp giữa khai báo và định nghĩa của caml_major_collection_slice
- mong muốn Tính năng:
- Added '-ml-đồng nghĩa' và '-mli-đồng nghĩa' tùy chọn để ocamldep
- Added '-ocamldoc' tùy chọn để ocamlbuild
- Thêm khả năng để thêm tùy chọn để ocamlbuild
- Thêm truy cập để phân tích cú pháp camlp4 hiện tại và máy in
- Cải thiện lựa chọn hướng dẫn cho các hoạt động nổi trên amd64
- Thêm một 'usage_string' chức năng để Arg
- Cho phép với những hạn chế để thêm một phương trình loại đến một định nghĩa kiểu dữ liệu
- Cho phép sáp nhập 'before' thẻ giống như những người khác
- Cho phép phụ thuộc vào file "_oasis"
- Các thay đổi khác:
- Thay đổi mặc định nhỏ kích thước heap từ 32k đến 256k từ.
- thêm hoạt động mới 'compare_ext' để khối tùy chỉnh, được gọi là khi so sánh một giá trị khối tùy chỉnh với một số nguyên hộp bọc.
là gì mới trong phiên bản 3.12.0:
- mẫu Ghi dạng {lbl = pat; _} Để đánh dấu rằng không phải tất cả các nhãn được liệt kê, có mục đích.
- Cảnh báo được doanh nghiệp đánh số và có thể được bật và tắt cá nhân. Các hệ thống cũ với chữ đề cập đến bộ cảnh báo vẫn được hỗ trợ.
- Thêm tùy chọn '-strict-chuỗi' để buộc phía trên bên trái của chuỗi có kiểu đơn vị.
- Bản đồ:. thực hiện các chức năng từ Set đó có ý nghĩa cho bản đồ
- Thêm hỗ trợ cho dynlink bản địa.
- Các ngữ nghĩa của cảnh báo 7 (mã 'M', phương pháp ghi đè) đã thay đổi (bây giờ nó phát hiện tất cả các ghi đè, không chỉ định nghĩa lặp đi lặp lại bên trong cơ thể cùng một lớp), và bây giờ là hoạt động theo mặc định.
là gì mới trong phiên bản 3.11.2:
- tài liệu tốt hơn cho min và max w.r.t. NaN
- ocamlbuild sử dụng sai biên dịch cho các tập tin C
- ocamlbuild không sử dụng đúng cách cấu hình chi
- Theo một số cài đặt Windows, lần đầu lên cao cho Unix lib
- Vấn đề với scanf và CRLF
- vấn đề ocamlmklib dưới Windows
- BSD vấn đề với địa chỉ socket, ví dụ trong Unix.getnameinfo
- Vấn đề với phân tích các chữ nổi bằng assembler GNU
- Vấn đề với các mô-đun và các loại tin
Yêu cầu :
- GNU C compiler - gcc
Bình luận không