Sat Apr 4, 2009, 400 words, read in about 2 mins.
erlang mac-os-x programming

Erlang é uma linguagem de programação funcional criada pela Ericsson em 1987 que tem foco em concorrência, sistemas distribuídos e tolerância a falhas. Ultimamente vêm se tornando muito conhecida graças a seus recursos de concorrência e a necessidade por tais facilidades.

Para prosseguir com meus breves estudos de Erlang, resolvi instalá-lo no Mac. Considerei instalá-lo em uma máquina virtual VMware ou Parallels, mas isso envolveria a aquisição destes softwares. Além disso eu não estaria aproveitando 100% do hardware para testar a capacidade do Erlang, sendo assim, preferi instalá-lo diretamente no host.

Bom, vamos ao que interessa.

Requisitos

  • Source do Erlang, encontrado aqui. Utilizei a versão R13A (17 Março 2009). É recomendado também efetuar o download da documentação em formato man;
  • Apple Xcode 3, encontrado em aqui

Compilar e instalar

Criei uma pasta dentro do $HOME e deixei lá dentro tudo o que precisei para compilar o Erlang.

Os comandos abaixo estão de acordo com as versões que utilizei. Caso utilize uma versão diferente, faça as devidas alterações nos nomes de arquivos e diretórios. Caso descubra alguma particularidade da versão, fique à vontade para comentar no final deste artigo.

$ tar xvzf otp_src_R13A.tar.gz
$ cd otp_src_R13A
$ ./configure --enable-hipe --enable-smp-support --enable-threads
$ make
$ sudo make install

Para testar o Erlang:

$ erl

Você verá algo assim:

Erlang R13A (erts-5.7)
[source][/source]
[smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.7 (abort with ^G) 1>

Para sair pressione Ctrl-C, escolha a opção a e pressione ENTER.

BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution

O caminho padrão de instalação é /usr/local. Caso queira utilizar outro prefixo, é necessário utilizar a opção --prefix no comando configure.

Documentação

Para instalar a documentação em formato man, utilize o seguinte comando:

$ sudo tar xvzf otp_doc_man_R13A.tar.gz -C /usr/local/share

Para testar a documentação:

$ man erl

Testando

Para testar se o básico está funcionando, crie um arquivo chamado hello.erl com o código abaixo.

-module(hello).
-export([hello_werld/0]).

hello_werld()->
	io:format("Hello WErld ~n").

Para compilar e executar o teste:

$ erl -compile hello
$ erl -noshell -s hello hello_werld -s init stop

Pronto! Já pode dominar o mundo Pink!


is a programmer with more than 18 years of experience in different sub areas of the internet and software industry. He is a open-source contributor and author of a few projects at Github. You can also find him on Twitter, and LinkedIn.