Entradas

Mostrando entradas de abril, 2011

1, 2, 3..... TODOS A LA CHURCH!

"Estoy escribiendo la función que nunca nadie escribió.... pero no puedo terminarla" Cuando hablamos de Javascript hablamos de funciones lambda, pero... de donde viene ese lambda?. El calculo lambda es un sistema formal introducido por Alonzo Church allá por los años 30 para modelar la matemática (WOW! Que ambición!) pero se volvió suceptible a la paradoja de Russell y entonces lo uso para estudiar la computabilidad. Ahora... cómo es el calculo lambda? Bueno Alonzo introdujo algunos conceptos muy complejos en las funciones, conceptos que ya estaban ahi pero que nadie habia notado. Los tres conceptos del cálculo lambda Dada la función suma(x,y)=x+y Church nota los siguientes puntos Las funciones no necesitan ser explícitamente nombradas: esto es: suma(x,y)=f(x,y)=s(x,y)=x+y, no importa el nombre de la función, sino lo que esta hace. El nombre que se le asigne a los parámetros es irrelevante: quiere decir que suma(x,y)=x+y === suma(u,v)u+v (simple) Toda función que recibe

Sabes programar en javascript...Y?

"Puedo escribir las funciones menos tristes esta noche." picanteverde Despues de tanto tiempo sin traerles nada divertido al blog, he decidido volver porque por suerte ahora tengo un trabajo donde puedo aprender cosas nuevas para traer por aca. Hoy vamos a hablar de Y combinator (me encantaría escribir este post en ingles pero lo voy a hacer en castellano para contribuir un poco a la poquisima cantidad de articulos (de buen javascript) en este idioma). Qué es el combinador Y? Ademas de ser una empresa de Capital de riesgo de inversión y un operador matemático (por dios que estas leyendo) tambien conocido como Fixed Point Combinator es uno de los artilugios más fascinantes de la ciencia de la computación y es muy simple de explicar (eso es mentira). El Combinador Y es una funcion de alto orden que calcula el punto fijo (fixed point) de otra funcion. Si no entendiste nada vamos por partes. El punto fijo (fixed point) de una función f es un valor x tal que: f(x)=x Por ejemplo