To jest implementacją języka ML, oparty na dialekcie Caml światła rozszerzony o kompletny system na bazie klasy obiektu i potężny system modułu w stylu Standard ML.
Cel Caml składa się z dwóch kompilatorów. Jeden generuje kodu bajtowego, który jest następnie interpretowany przez program C.
Ten kompilator działa szybko, jest w zasadzie dowolny przenośny do 32 lub 64 bitowej platformie Unix i generuje kod kompaktowy z umiarkowanymi wymaganiami pamięci.
Wydajność generowanych programów jest dość dobry dla bytecoded realizacji.
Ten kompilator może być używany zarówno jako samodzielny, partii zorientowanych kompilatora, która produkuje programy samodzielne lub jako interaktywny, oparty na systemie, będąc w głównym.
Drugi kompilator generuje wysokiej jakości kodu natywnego dla wielu
procesorów.
Kompilacja trwa dłużej i generuje większy kod, ale generowane programy zapewniają doskonałą wydajność, przy zachowaniu umiarkowanych wymagania dotyczące pamięci o kompilator kodu bajtowego.
Cel Caml jest najbardziej popularną odmianą języka Caml.
Z punktu widzenia językowego, rozszerza podstawowy język Caml z pełnoprawnej warstwy obiektowego, a także potężny system modułowy, wszystkie podłączone poprzez dźwięk, polimorficzny systemu typu gościnnie typu wnioskowanie.
Cel systemu Caml jest implementacją przemysłowej wytrzymałości tego języka, wyposażony jest w wysokiej jakości native kod kompilatora (ocamlopt) do 9 architektur procesorów (IA32, PowerPC, AMD64, Alpha, SPARC, MIPS, IA64, HPPA, strongarm), oraz kompilator kodu bajtowego (ocamlc) oraz pętli interaktywne odczytu-analizy-drukowania (SML) dla szybkiego rozwoju i przenośności.
Rozkład Cel Caml zawiera obszerną bibliotekę standardową, debugger powtórka (ocamldebug), Lexer (ocamllex) i parser (ocamlyacc) generatory, pre-procesor całkiem-drukarki (camlp4) oraz generator dokumentacji (ocamldoc).
Co nowego w tym wydaniu:
- Aktualizacja do Tcl / Tk 8.6.
- Odrzuć wielu deklaracji tej samej metody lub zmiennej instancji w obiekcie.
- Rozprzestrzeniać typ informacji kierunku dopasowywania wzorców, nawet w obecności wariantów polimorficznych.
Co nowego w wersji 4.02.1:
- Aktualizacja do Tcl / Tk 8.6.
- Odrzuć wielu deklaracji tej samej metody lub zmiennej instancji w obiekcie.
- Rozprzestrzeniać typ informacji kierunku dopasowywania wzorców, nawet w obecności wariantów polimorficznych.
Co nowego w wersji 3.12.1:
- pąki stałe:
- zmienne Niewykorzystane nie wykryte w "obejmują (struct .. end)"
- camlp4 poprawione drukowanie składnia błąd w Toplevel (zgłaszane na Caml liście)
- Konfiguracja: nie definiują _WIN32 Cygwin
- Utwardzony rodzajowe porównania w przypadku, gdy są dwa bloki niestandardowe porównaniu i mają różne zestawy działań niestandardowych.
- Utwardzony porównanie bigarrays w przypadku, gdy oba bigarrays mają różnego rodzaju.
- Poprawiono błędne automatyczne wykrywanie expm1 () i log1p ().
- Nie dodawaj .exe przyrostek podczas instalacji skryptu ocamlmktop powłoki
- ocamldoc: drobne poprawki związane z wyświetlaniem opcji ocamldoc
- Naprawiono błąd z wielkich wartości w OCAMLRUNPARAM
- Niezgodność pomiędzy deklaracji i definicji caml_major_collection_slice
- życzenia Wyposażenie:
- dodanej "-ml-synonimem" i opcje "-mli-synonim 'do ocamldep
- dodanej "-ocamldoc" opcja ocamlbuild
- Dodano możliwość dodania opcji do ocamlbuild
- Dodano dostęp do aktualnych parserami camlp4 i drukarek
- Ulepszona wybór instrukcja dla operacji zmiennoprzecinkowych na amd64
- Dodano 'usage_string "funkcję Arg
- Zezwalaj z ograniczeniami dodać równanie typu do definicji typu danych
- Pozwól, aby połączyć "before" tagi, takie jak innych z nich
- Zezwalaj na zależność od pliku "_oasis"
- Inne zmiany:
- Zmieniono domyślny drobne rozmiar sterty od 32k do 256k słów.
- Dodano nowy operacja "compare_ext" do niestandardowych bloków, zwanych przy porównywaniu niestandardową wartość bloku z krytym bez opakowania liczby całkowitej.
Co nowego w wersji 3.12.0:
- wzory Rekordowa postaci {lbl = pat; _}, Aby zaznaczyć, że nie wszystkie etykiety są na liście, celowo.
- Ostrzeżenia są już policzone i mogą być włączane i wyłączane indywidualnie. Stary system z listów odnoszące się do zestawów ostrzeżeń jest nadal obsługiwana.
- Dodano opcję "-strict-sekwencja" zmusić lewej części sekwencji mieć urządzenie typu.
- Mapa:. realizacji funkcji z zestawu, które mają sens dla mapy
- Dodaj wsparcie dla rodzimej dynlink.
- Semantyka ostrzeżenia 7 (kod "M", metoda obejścia) zmieniły się (teraz wykrywa wszystkie przesłonięcia, nie tylko powtarzające definicji wewnątrz samego ciała klasy), i to jest teraz wyłączony domyślnie.
Co nowego w wersji 3.11.2:
- Lepsza dokumentacja dla min i max w.r.t. NaN
- ocamlbuild używa złego kompilator plików C
- ocamlbuild nie używać prawidłowo informacji konfiguracyjnych
- W niektórych instalacjach systemu Windows, wysokie czasy rozruchu dla Unix lib
- Problem z scanf i CRLF
- Problem ocamlmklib pod Windows
- BSD problem z adresów gniazd, na przykład w Unix.getnameinfo
- Problem z parsowania literałów płyną GNU assemblera
- Problem z modułów i prywatnych typów
Wymagania :
- kompilatora GNU C - gcc
Komentarze nie znaleziono