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

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog