miércoles, 5 de mayo de 2021

Erlang: conociendo el shell

Erlang es un lenguaje de programación funcional que posee ciertas características especiales (como cualquier otro lenguaje se digne de serlo). Fue desarrollado pensando en la concurrencia y ser tolerante a fallos. Permitir ser actualizado "en caliente", lo cual  muchos otros lenguajes no pueden presumir. Además esta pensado en trabajar a la par con otros programas, no importando si están en otras máquinas o servidores. 

Para entrar al shell (o repl) de Erlang debes abrir una terminal y teclear la palabra erl.

$ erl

Con esto abrirás el shell de Erlang. Y comenzamos a probar...
> "Esto es una cadena". 
> true.
> false.
> 34 + 65.
> 22 > 11.
> X = 10.
> Str = "Hola, mundo".


Como se puede ver

  • Al final de una sentencia debes poner un punto.
  • Las variables deben comenzar con una mayúscula.

Hay dos maneras de ejecutar un programa en Erlang:

1era forma
holamundo.erl

-module(saludar).
-author("Codemonkey Junior").
-version("1.0.0").
-export([start/0]).

start() ->
    io:fwrite("Hola, mundo en Erlang\n").


% erlc holamundo.erl
% erl -noshell -s holamundo start -s init stop

Desde la terminal ejecutamos estos comandos:
$ erlc holamundo.erl
$ erl -noshell -s holamundo start -s init stop

2da forma
Desde el shell (repl) de Erlang:
$ erl
> c(holamundo).
> holamundo:start().

Para salir del shell debes escribir el comando q().

Conociendo el esqueleto de un programa en Erlang.

%% Esto es un comentario

% Se específica el programa
-module(programa).

% Se exporta la función del programa y el no. de parámetros
-export([start/0]).

% Esto sirve para dar crédito al autor del programa
-author("Codemonkey Junior").

% La versión del programa
-version("1.0.0").

% Nos sirve para exporta más funciones, sin tener que usar -export por c/u de estas
-compile(export_all).

% Para exportar todas las funciones sin warnings 
-compile(nowarn_export_all). 

% Importar una función y el no. de parámetros que necesita
-import(io, [fwrite/1]). 
% Para la documentación del programa
-spec start() -> any().
start()->
   fwrite("\t [ ***** Fundamentos en Erlang *** ]").

 

Enlaces:
https://es.wikipedia.org/wiki/Erlang
http://jungerl.sourceforge.net/
https://www.erlang-solutions.com/
https://emanuelpeg.blogspot.com/search?q=erlang

No hay comentarios:

Publicar un comentario