viernes, diciembre 15, 2006

Definindo a verdade no ^-cálculo

Pois que rematei com "Razonando con Haskell". Desfrutei-no moito, nom só aprendim a ler esta linguage, senom cousas acerca de como atacar os problemas desde um ponto de vista atípico, pero aínda asi correcto.
O último capítulo era acerca de teoria do cálculo lambda. Algo del xa sabia, pero chocou-me a similitude de Lisp coa definiçom matemática deste cálculo a nível tanto sintactico como semántico (som malhados).
Unda das cousas que mais me chocou é a definiçom que se dá dentro deste cálculo da verdade e da mentira: som duas funçons, como todo no cálculo este, de aridade 2 --vale, isto é discutíbel--, que se diferenzam namais que en que a verdade resulta no primeiro argumento, e a mentira no segundo. Simples, nom?. Abrem-se ante ti dous caminhos, e debes escoller cal dos dous tomar. Real como a vida mesma simplificada.
[Mais chocante é a toma de alternativas "Se confiçom alternativa_verdade ou alternativa_mentira", xa que dada a definiçom de verdadeiro ou falso pode reducirse a: cond arg1 arg2 arg3 onde arg1::bool arg2,arg3::func -> arg1 arg2 arg3 ; e con só isto, avaliando arg1 xa se fará a escolla que corresponda... as condicionais, unha cousa mais que nom é imprescindíbel]