OCaml/Środowisko pracy
Używam systemu GNU/Linux i większość komentarzy będę odnosił do tego systemu jednak pod innymi systemami wiele zagadnień będzie wyglądało dokładnie tak samo.
OCamla możemy ściągnąć ze strony głównej projektu http://caml.inria.fr/. Znajdziemy tam również więcej dokumentacji, opis modułów itp. Większość dystrybucji GNU/Linuxa posiada w repozytoriach swoich pakietów odpowiednie paczki i jego ręczne ściąganie nie jest konieczne.
Po instalacji powinniśmy móc korzystać z paru aplikacji. W szczególności interesujące będą dla nas:
- ocamlc -- kompilator do bytecodu. Kod bajtowy ocamla uruchamia inny program o nazwie ocamlrun. W systemach unixowych jest to uproszczone przez automatyczne dodanie linii #!/usr/bin/ocamlrun do tworzonych plików.
- ocamlopt -- kompilator generujący natywne pliki wykonywalne.
- ocaml -- wygodne środowisko działające na zasadzie wczytaj-wykonaj-wyświetl. Bardzo wygodne do nauki i szybkiego próbowania fragmentów kodu .
Większość nauki radzę przeprowadzić sobie za pomocą trzeciego programu, który jednak posiada pewną wadę. Ze względu na przenośność ma bardzo uproszczony interfejs i w oryginalnej wersji nie posiada ani historii komend, ani możliwości poprawienia wcześniej wpisanego tekstu bez kasowania reszty.
Przynajmniej w Linuxie znalazłem parę rozwiązań tego problemu. Możemy np. skorzystać z wrapperów biblioteki readline. Znam dwa "rlwrap" i "ledit". Pierwszy nie działał mi dobrze, więc ostatecznie do mojego .bashrc wrzuciłem linijkę:
alias ocaml="ledit ocaml"
Co rozwiązało moje problemy ze środowiskiem "ocaml". W razie czego zalecam spróbowanie obu wrapperów.
Istnieje też bardziej eleganckie, choć też bardziej skomplikowane rozwiązanie polegające na zainstalowaniu tuareg-mode do edytora Emacs. Prócz podświetlania składni, wcinania kodu udostępnia on też możliwość interaktywnego uruchomienia "ocaml" z historią komend i podświetlaniem składni na żywo.