RSS
 

Archive for the ‘Erlang’ Category

Instalando Erlang no Mac OS X Leopard

04 abr

Fanboy

Recentemente migrei para o mundo Mac com a compra de um MacBook Pro. Embora seja um equipamento caro, ao se comparar com outros notebooks com a mesma capacidade de hardware ele chega até a ser mais barato. Compare com um Sony Vaio com as mesmas especificações. Sendo assim, preferi investir num Mac que geralmente atinge melhor valor de revenda do que um PC.

Erlang

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 ao foco da computação em paralelismo ao invés de mais ciclos de processamento para escalabilidade.

Para prosseguir com meus breves estudos de Erlang, resolvi instalá-lo no Mac. Cheguei a pensar em instalar ele numa 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.

Bom, vamos ao que interessa.

Requisitos

Compilar e instalar

Eu criei uma pasta dentro do home do meu usuário 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 post.

$ 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)  [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7  (abort with ^G)
1>

Para sair pressione Ctrl-C e depois 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
a

O caminho padrão de instalação (prefix) é /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. A palavra werld é um trocadilho de world com erlang:

-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

That’s all folks… ;-)