No sé cómo llamar a este blog

El blog de alguien sin derecho a expresarse

Registros

Tercera entrada sobre Erlang en un día.

Nuestros nuevos conocidos, los registros, dan la respuesta a la siguiente pregunta: ¿Qué ocurre cuando tenemos que pasar mucha información de un lado a otro, pero sólo vamos a utilizar o modificar una parte de ella?

Read the rest of this entry »

Archivado bajo:Erlang ,

Funs

En la anterior entrada sobre Erlang hacíamos llamadas a la función lists:foreach/2 y veíamos que el primer parámetro tenía la forma

fun(Parámetros) ->
  Instrucciones
end

¿Qué es esto? A esto lo llamamos fun y es una referencia a una función, declarada, en este caso, in situ.

Read the rest of this entry »

Archivado bajo:Erlang ,

Tuplas

Seguimos con Erlang a vueltas.

Hemos visto ya las listas. Las listas están pensadas para contener términos del mismo tipo y tienen una longitud variable.

Otras veces, necesitamos representar datos de distinto tipo, relacionados entre sí, o datos del mismo tipo en los que el orden es inportante. Para esto, utilizaremos las tuplas.

Una tupla consiste en uno o más elementos, separados por comas y rodeados por llaves {}. Así, por ejemplo, podríamos almacenar una dirección IP como

IP={192,168,0,1}.

Read the rest of this entry »

Archivado bajo:Erlang ,

¿Dije que había acabado con las listas?

Pues sí, lo dije anteayer, en mi anterior entrada sobre Erlang. Y es cierto, no hay nada más que explicar sobre las listas, al menos sobre su teoría. Lo que viene ahora es una demostración de la potencia de Erlang como lenguaje de alto nivel que es.

Read the rest of this entry »

Archivado bajo:Erlang , ,

Acabamos ya con las listas

La anterior entrada no terminó de contar todo lo que hay que contar sobre las listas.

Comenté que se pueden concatenar listas con el operador ++. También podemos quitar elementos de una lista con el operador --:

1> Verano=[junio,julio,agosto].
[junio,julio,agosto]
2> Otono=[septiembre,octubre,noviembre].
[septiembre,octubre,noviembre]
3> Invierno=[diciembre,enero,febrero].
[diciembre,enero,febrero]
4> Primavera=[marzo,abril,mayo].
[marzo,abril,mayo]
5> Ano=Primavera++Verano++Otono++Invierno.
[marzo,abril,mayo,junio,julio,agosto,septiembre,octubre,
 noviembre,diciembre,enero,febrero]
6> Frio=Ano--Verano.
[marzo,abril,mayo,septiembre,octubre,noviembre,diciembre,
 enero,febrero]
7> Ano--[noviembre,mayo].
[marzo,abril,junio,julio,agosto,septiembre,octubre,
 diciembre,enero,febrero]

Read the rest of this entry »

Archivado bajo:Erlang ,

Más listas

En la anterior entrada sobre Erlang, empecé a explicar cómo funcionaban las listas. También propuse unos ejercicios.

Las respuestas a los ejercicios son:

Read the rest of this entry »

Archivado bajo:Erlang ,

Yaws

Antes de ponerme en el meollo, he de comentar algo que he encontrado por ahí.

Pese a que me voy convirtiendo cada vez más en un fan de Erlang según lo voy descubriendo, sigo siendo un tanto excéptico con respecto a su rendimiento.

Pues bien, pese a que no es un tema de rendimiento, resulta que hay un software desarrollado en Erlang que escala mejor que el software de referencia en su campo. Y la escalabilidad es otra cosa que no parece fácilmente asociable a un lenguaje funcional que se ejecuta en una máquina virtual.

StumpleUpon me ha llevado a este artículo, que es realmente interesante de por sí. Pero la cuestión es que me ha hecho saber sobre Yaws, un servidor web desarrollado en Erlang. El dato realmente llamativo es este: Yaws soporta veinte veces más sesiones HTTP concurrentes que Apache.

Además, Yaws permite crear páginas web con código Erlang embebido, lo cual hace Erlang más atractivo: con Yaws se pueden hacer aplicaciones prácticas rápidamente. Creo.

Sí, sé que debería haber publicado hace algún tiempo la segunda parte del artículo sobre listas. Prometo hacerlo esta semana.

Archivado bajo:Erlang ,

Listas

Sigo con mis disertaciones sobre Erlang.

En mi anterior entrada dije que iba a intentar hablar de las listas y las tuplas. Estoy vago, así que voy a hablar sólo de las primeras.

Read the rest of this entry »

Archivado bajo:Erlang , , ,

Un poquito más de Erlang

Voy a empezar diciendo algo que debería haber dicho mi anterior entrada. No pretendo dar un curso de Erlang. Me interesa más el proselitismo que la docencia, si bien intentaré ser todo lo didáctico que pueda. Si alguien quiere aprender el lenguage, lo mejor es que se recorra la tutorial/curso que puede encontrar en la página oficial del lenguaje.

Con esto en mente, prosigo.

Read the rest of this entry »

Archivado bajo:Erlang

Primeros pasos con Erlang

Vía Barrapunto llegué a esta página: defmacro – Functional Programming For The Rest Of Us. Y me picó el gusanillo.

Tengo un amigo, un poco raro él, que me insiste periódicamente en las maravillas de los lenguajes de programación funcionales. Pero hasta ahora no le había pillado la gracia, en parte porque la visión que obtenía de los mismos a través de él no era la correcta, no sé si porque se explicaba mal o porque yo no le hacía demasiado caso.

Pero en este artículo lo explican bastante claro. Y, aunque no parece en un principio un entorno muy adecuado para hacer “aplicaciones serias”, desde luego sí que parece algo interesante que explorar.
Read the rest of this entry »

Archivado bajo:Erlang , ,