OCaml/Środowisko pracy

Z Wikibooks, biblioteki wolnych podręczników.

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:

  1. 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.
  2. ocamlopt -- kompilator generujący natywne pliki wykonywalne.
  3. 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.