funcionales Combinaci´ on y composici´ on de funciones peque˜ nas. Datos + funciones transformadoras. Aplicaci´ on de transformaciones mediante orden superior. Uso de funciones inline. Acotado de efectos laterales. Tendencia al uso de funciones puras. Jes´ us Espino Garc´ ıa Python funcional
lenguaje funcional? No. Es un lenguaje multi-paradigma. Soporta algunas caracter´ ısticas funcionales. Permite hacer programaci´ on funcional. Carece de caracter´ ısticas avanzadas presentes en lenguajes funcionales. Jes´ us Espino Garc´ ıa Python funcional
los lenguajes funcionales? Estructuras inmutables eficientes. Funciones de orden superior. Pattern matching. TCO: Tail call optimization. Aplicaci´ on parcial y currificaci´ on. Control de efectos laterales. Funciones lambda. Evaluaci´ on perezosa. Composici´ on de funciones. Jes´ us Espino Garc´ ıa Python funcional
python? Evaluaci´ on perezosa (Limitada). Aplicaci´ on parcial. Funciones lambda. Funciones de orden superior. Jes´ us Espino Garc´ ıa Python funcional
fn.py? Estructuras inmutables eficientes (En desarrollo). TCO: Tail call optimization. Aplicaci´ on parcial y currificaci´ on. Composici´ on de funciones. Funciones lambda (Al estilo de Scala). Jes´ us Espino Garc´ ıa Python funcional
normal def fact(n): if n == 0: return 1 return n * fact(n-1) TCO from fn import recur @recur.tco def fact(n, acc=1): if n == 0: return False, acc return True, (n-1, acc*n) Jes´ us Espino Garc´ ıa Python funcional
programar de forma funcional. Fn.py nos da las herramientas para llegar un poco m´ as lejos. Python + Fn.py se queda lejos de lenguajes como Erlang, Clojure o Haskell. Lo que se puede aplicar en Python es una mejora significativa sobre el c´ odigo. Jes´ us Espino Garc´ ıa Python funcional
https://docs.python.org/3/howto/functional.html: Howto de programaci´ on funcional. http://kachayev.github.io/talks/uapycon2012/: Charla de Alexey Kachayev Jes´ us Espino Garc´ ıa Python funcional