Presentando Programación Funcional, AjLisp y Clojure

Ayer, Jueves 4 de Noviembre, tuve el placer de compartir una charla con @MartinSalias y @RodolfoF, sobre Programación Funcional. La dimos como una charla del nuevo emprendimiento de Martin:

http://www.codeandbeyond.org/

El lugar fue las instalaciones de @Southworks, donde tuvimos proyector, sillas, sonido, y catering (incluyendo cervezas!! ;-). El evento quedó grabado, así que esperamos que Martín lo publique.

Un resumen de lo que dieron Martín y Rodolfo: Martín presentó Programación Funcional en general, comentando sobre Cálculo Lambda, Lisp y la historia de los lenguajes de programación funcional, como ML, Caml, F# y otros. Luego me tocó mi turno, más abajo doy detalles. Tercer parte, de nuevo Martín mostrando F#, y finalmente, Rodolfo mostrando que C# desde el principio es funcional, y dando ejemplos de código procedural vs funcional.

No desesperen, entonces, que todo quedará disponible para verlo en línea.

Mientras, en este post, quería dejar enlaces y comentarios breves de mi intervención en la charla.

Primero, la primera parte presentación se basó en una que ya había dado para @southworks: LambdaPresentation.pptx.

La presentación de ayer en LispClojure.pptx (no es gran cosa, más que algunos enlaces, tiene varios slides en blanco, ver las notas, donde hay código de ejemplo).

Mostré código de cálculo lambda de mi proyecto AjLambda:

Presenting AjLambda: Lambda Calculus Implementation in C#
Presentando AjLambda: implementación de Cálculo Lambda en C#

Si quieren conocer sobre cálculo lambda, desde las matemáticas y lógica, dejé historia y enlaces que usé en

Notas sobre Cálculo Lambda

Trabajé unos minutos mostrando Lambdas en AjLisp. Posts sobre el proyecto AjLisp. Ahí van a encontrar otras implementaciones, como AjScheme, y un AjSharpure, (Work in Progress).

La parte de Clojure la basé en la más larga, detallada y excelente charla de @unclebob:

Uncle Bob Martin’s "Clojure – Up Close and Personal"

Usé el ejemplo de multithreading en Clojure con transacciones en memoria:

https://github.com/sfraser/MultithreadedGameOfLife

Hace ya unos años, escribí sobre Recursos de F# y Programación Funcional.

Mis posts sobre F#
Mis posts sobre Programación Funcional

Mis enlaces:

http://delicious.com/ajlopez/functionalprogramming
http://delicious.com/ajlopez/lisp
http://delicious.com/ajlopez/f#
http://delicious.com/ajlopez/clojure
http://delicious.com/ajlopez/monads
http://delicious.com/ajlopez/lambda
http://delicious.com/ajlopez/scheme

Para los que les interesa Lisp, les recomiendo el libro y más:

Structure and Interpretation of Computer Programs
Video Lectures by Hal Abelson and Gerald Jay Sussman
Structure and Interpretation of Computer Programs adapted for the Clojure programming language
http://delicious.com/ajlopez/sicp

Algo más matemático, que mencioné al pasar:

http://delicious.com/ajlopez/categorytheory
http://www.delicious.com/ajlopez/grothendieck
Alexander Grothendieck
Nicolas Bourbaki

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

This entry was posted in 10754, 11656, 6269, 8313, 8848, 8870, 8871. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>