Ambiente OCaml

Esta página reúne instruções/sugestões para trabalhar confortavelmente com OCaml.

1. Instalação específica ao OS

Windows

Cygwin

Seguir as instruções de instalação na página OCaml for Windows. Escolher o instalador gráfico, na versão 32-bit ou 64-bit, consoante a sua máquina. Este instalador permite em particular escolher os pacotes Cygwin a instalar. Certifique-se que seleciona os pacotes emacs-w32 e emacs. Pode demorar a aparecer a lista completa (Full) de pacotes. Após a instalação (que poderá levar algum tempo), terá acesso a um ambiente de trabalho do tipo UNIX executando o Cygwin.

Máquina virtual

Poderá utilizar uma máquina virtual Linux em execução no Window. Deverá descarregar a distribuição Linux que mais lhe agrada e e também o instalador VirtualBox. Abra o VirtualBox, crie uma nova máquina virtual, adicione a imagem da distribuição que escolheu e depois lance a máquina virtual e proceda à instalação do sistema operativo. Após a instalação, deverá proceder à instalação do ambiente OCaml de acordo com as instruções específicas para a distribuição que vai usar.

Windows Subsystem for Linux (apenas recomendado se utilizar o editor VS Code)

O Windows Subsystem for Linux permite corre um ambiente GNU/Linux diretamente no Windows, não modificado, sem o overhead de uma máquina virtual. Para instalar este subsistema, siga os passos descritos aqui e aqui. Após a instalação e configuração inicial da distribuição, deverá seguir os passos descritos mais à frente para a distribuição que instalou.

OSX

Instalar o homebrew e depois executar num terminal o comando

        brew install opam emacs
      

Linux

Debian e Ubuntu

Num terminal, executar (com privilégios de super-utilizador) o comando

        apt-get install opam emacs
      

Fedora, CentOS e RHEL

Num terminal, executar (com privilégios de super-utilizador) o comando

        dnf install opam emacs
      

Archlinux

Num terminal, executar (com privilégios de super-utilizador) o comando

        pacman -S opam emacs
      


2. Ambiente de trabalho OCaml

É sugerido que utilize um editor no qual o OCaml se integre bem, como o Emacs, Vim, Visual Studio Code, ou outros. Recomenda-se a utilização de um destes três editores e todos estão disponíveis para Linux, Mac e Windows. No entanto, é igualmente possível utilizar um outro editor (como o gedit por exemplo) e compilar num terminal.

opam

O opam é um sistema de pacotes para OCaml que permite instalar bibliotecas OCaml e programas escritos em OCaml, descarregando o seu código-fonte, compilando-o e instalando-o na sua conta. Em particular, o opam não exige privilégios de super-utilizador. O opam permite também instalar simultaneamente múltiplas versões do compilador OCaml na sua máquina.

Antes de utilizar o opam pela primeira vez, executar num terminal os comandos


        opam init
        eval `opam config env`
        opam install tuareg merlin menhir
      
(e aceitar o que é pedido).

Emacs

Se quiser utilizar o emacs, deverá instalar os modos Tuareg e Merlin no Emacs com o comando opam install tuareg merlin e seguir as instruções exibidas no ecrã (ver secção anterior).

A configuração do Emacs é feita no ficheiro .emacs localizado na raíz da sua conta. A instalação descrita acima terá adicionado algumas linhas ao ficheiro. No final, o seu conteúdo deverá ser qualquer coisa como isto.

O modo Merlin compila o programa de cada vez que guardar as alterações (para assinalar os erros), mas não constrói o executável.

Para construir um executável, é possível chamar o compilador OCaml diretamente no Emacs com o comando Meta-x compile (Meta obtém-se premindo Alt ou Esc, à escolha). Poderá lançar o mesmo comando com Meta-x recompile. Se o compilador OCaml assinal um erro, poderá dirigir-se diretamente à posição correspondente com Meta-x next-error. Poderá simplificar os atalhos de teclado destes três comandos inserindo, por exemplo, as seguintes linhas no ficheiro ~/.emacs:


      (global-set-key [f5] 'compile)
      (global-set-key [f6] 'recompile)
      (global-set-key [f7] 'next-error)
      
Esta é uma forma muito eficaz de trabalhar. (E poderá utilizar estes atalhos para outra coisa que não seja programação OCaml.)

Se pretender os atalhos Ctrl-C, Ctrl-V, Ctrl-X para copiar-colar em Emacs, poderá adicionar a linha


        (custom-set-variables '(cua-mode t nil (cua-base)))
      
ao ficheiro .emacs para ativar o modo Cua para Emacs. Isto é feito no ficheiro .emacs proposto.

Vim

O modo Merlin para Vim é instalado com o comando opam install merlin. Siga as instruções exibidas no ecrã.

Visual Studio Code

Instalar a extensão OCaml and Reason IDE (freebroccolo.reasonml) (ou OCaml and Reason IDE - for WSL (raiscui.reasonml-wsl) se estiver a usar Windows + WSL). É necessário instalar também os pacotes opam merlin e ocp-ident, com o comando

        opam install merlin ocp-indent
      

Sublime 3

Instalar os packages Better OCaml e Merlin. É necessário instalar também o pacote opam merlin, com o comando

        opam install merlin
      

Atom

Instalar os packages nuclide e ocaml-merlin. É necessário instalar também os pacotes opam merlin e ocp-indent, com o comando

        opam install merlin ocp-indent
      

IntelliJ IDEA

Instalar o plugin ReasonML e seguir as intruções aqui. É necessário instalar também os pacotes opam merlin e ocp-indent, com o comando

        opam install merlin ocp-indent
      


Adaptado de: Environnement OCaml