lunes, mayo 26, 2008

Recordar es vivir

Recuerdo que el primer lenguaje "declarativo" con el que empecé (mejor digamos... traté) fue Prolog. Me acuerdo que en aquella época no fui capaz de hacer siquiera un Fibonacci.

Hace algunos días me dió curiosidad cuando un compañero del trabajo me contó la historia de lo difícil que le fue encontrar un error de sintaxis (un punto en lugar de una coma) y No me aguante las ganas de bajar SWI Prolog y probarlo.

Hice solo un par de bobadas, y confieso que me costó un poco "acomodar el cerebro" con el modo de Prolog para expresar la recursión.

Fibonacci:


fib(0,1).
fib(1,1).
fib(N,FIB):-
N > 1,
N1 is N-1,
N2 is N1-1,
fib(N1,FIB1),
fib(N2,FIB2),
FIB is FIB1 + FIB2.


Sumatoria de una lista:


sum([],0).
sum([X|XS],A) :-
sum(XS,A1),
A is X + A1.


Sé que no son los ejemplos mas interesantes del mundo, pero la verdad me emocione cuando volví a leer el término "Clausula de Horn" en el tutorial.

Que piensan de la sintaxis comparada con la de los lenguajes funcionales usuales?
Alguien sabe que paso con los lenguajes Lógicos? En un video (si mal no recuerdo) Eric Meijer decía algo sobre cierta desilusión del paradigma lógico (creo que específicamente hablaba de que las cosas bacanas requería intervenir el backtracking o algo así)

Y que hay de la pureza?

No hay comentarios.: