2009-12-23 25 views
14

Me gustaría saber si existe una aplicación de hoja de cálculo que utiliza un lenguaje de programación funcional existente para definir funciones.Hojas de cálculo que utilizan un lenguaje de programación funcional

Ya escuché sobre Resolver One que usa python, pero estoy más interesado en cualquier cosa que use un lenguaje puramente funcional como Haskell.

Gracias

+0

demasiado exótico ...¿Porqué querrías eso? Excel es como una biblioteca de GUI mala, pesada y de subproceso único con muchos agujeros que trata de hacer lo suyo. No creo que Haskell sea lo suficientemente práctico para tener bibliotecas de GUI sustanciales ... –

+2

@ipthnc ¿Dónde dijo algo sobre Excel? – phoebus

+1

Buena suerte para encontrar uno que use un lenguaje puro. Solo existen unos pocos y los lenguajes funcionales impuros en las familias Lisp y ML son mucho más populares. Python, por supuesto, no es un lenguaje funcional en absoluto; es un lenguaje OO imperativo que tiene funciones de primera clase. – Chuck

Respuesta

12

Las hojas de cálculo son una aplicación bastante popular entre los programadores funcionales. Han sido un tema recurrente en los periódicos a lo largo de los años. Algunos de los trabajos es preciso recordar

También puede leer sobre an effort to make Excel more functional.

Para cada uno de estos documentos, he leído el documento o escuché una charla basada en los documentos. Ninguno de los documentos es fabuloso, pero todos son buenos. Creo que el que tiene las ideas más interesantes es Sestoft — y sus resultados experimentales son bastante sorprendentes.

2
+0

Sospecho que Javascript es el lenguaje más funcional que encontrarás. También tenga en cuenta que hay compiladores para Haskell y OCaml para Javascript. – Chuck

+0

Haskell no es "el lenguaje más funcional". – mipadi

+0

@mipadi: No es que Haskell no sea funcional; es que no espero encontrar una aplicación de hoja de cálculo real que use Haskell para definir funciones. – Chuck

2

Hay Esquema en una cuadrícula (http://siag.nu/siag/), pero está buscando la clase de fuera de fecha.

También está Haxcel (http://www.mrtc.mdh.se/projects/Haxcel/), que era un proyecto de tesis.

Si desea hacer una programación funcional en una hoja de cálculo, la mejor opción práctica es probablemente Resolver One, como ya ha señalado. (Diría que la "programación funcional" en este contexto significa funciones de primera clase que funcionan con otras funciones de hoja de cálculo y la hoja en sí; es decir, podría escribir una función que devuelva una función, llamarla y hacer que el resultado entre en una celda aún otras celdas para llamar, etc. No sé si OpenOffice y Google Docs lo harán.)

Un colega y yo hemos estado trabajando en un pequeño proyecto para hacer esto dentro de Excel, usando una sintaxis muy cercana a Excel fórmulas. He descrito brevemente en un comentario en VBA Blog de Roy MacLeans:

http://roymacleanvba.wordpress.com/2009/08/04/domain-specific-languages-%e2%80%93-part-2/#comment-130

Ha cambiado poco desde que he publicado, pero si desea llamar a nuestra sintaxis muy-minimal una "lengua", es sin duda "pura ". (Y todavía estoy planeando lanzarlo al vasto universo de entusiastas de FP implementados en VBA, pero las cosas siguen apareciendo ...)

Cuestiones relacionadas