2009-12-23 5 views
14

J'aimerais savoir s'il existe une application de feuille de calcul qui utilise un langage de programmation fonctionnel existant pour définir des fonctions.Feuilles de calcul utilisant un langage de programmation fonctionnel

J'ai déjà entendu parler de Resolver One qui utilise python, mais je suis plus intéressé par tout ce qui utilise un langage purement fonctionnel comme Haskell.

Merci

+0

Trop exotique ...Pourquoi voudrai-tu ceci? Excel est comme une bibliothèque GUI à un seul thread, lourde et lourde, avec beaucoup de trous qui essaye de faire son propre truc. Je ne pense pas que Haskell soit assez pratique pour avoir des bibliothèques GUI substantielles ... –

+2

@ipthnc Où a-t-il parlé d'Excel? – phoebus

+1

Bonne chance en trouver un qui utilise un langage pur. Il en existe seulement quelques-uns, et les langages fonctionnels impurs dans les familles Lisp et ML sont beaucoup plus populaires. Python, bien sûr, n'est pas du tout un langage fonctionnel - c'est un langage OO impératif qui possède des fonctions de premier ordre. – Chuck

Répondre

12

Les feuilles de calcul sont une application assez populaire parmi les programmeurs fonctionnels. Ils ont été un thème récurrent dans les journaux au fil des ans. Certains des documents les plus mémorables comprennent

Vous pouvez également lire sur an effort to make Excel more functional.

Pour chacun de ces articles, j'ai lu le document ou entendu une discussion basée sur les articles. Aucun des papiers n'est fabuleux mais tous sont bons. Je pense que celui avec les idées les plus intéressantes est par Sestoft — et ses résultats expérimentaux sont assez étonnants.

2
+0

Je suppose que Javascript est le langage le plus fonctionnel que vous trouverez. Notez également qu'il existe des compilateurs pour Haskell et OCaml pour Javascript. – Chuck

+0

Haskell n'est pas "le langage le plus fonctionnel"? – mipadi

+0

@mipadi: Ce n'est pas que Haskell n'est pas fonctionnel; c'est que je ne m'attends pas à trouver une vraie application de feuille de calcul qui utilise Haskell pour définir des fonctions. – Chuck

2

Il y a schéma dans une grille (http://siag.nu/siag/), mais il cherche assez à ce jour.

Il y a aussi Haxcel (http://www.mrtc.mdh.se/projects/Haxcel/), qui était un projet de thèse.

Si vous voulez faire de la programmation fonctionnelle dans un tableur, le meilleur choix pratique est probablement Resolver One, comme vous l'avez déjà noté. (Je dirais que "programmation fonctionnelle" dans ce contexte signifie des fonctions de première classe qui fonctionnent avec d'autres fonctions de feuille de calcul et la feuille elle-même - vous pourriez écrire une fonction renvoyant une fonction, l'appeler et la renvoyer dans une cellule d'autres cellules à appeler, etc. Je ne sais pas si OpenOffice et Google Docs vont le faire.)

Un collègue et moi avons travaillé sur un petit projet pour faire cela dans Excel, en utilisant une syntaxe très proche d'Excel formules. Je l'ai décrit brièvement dans un commentaire sur le blog VBA Roy MacLeans:

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

Il a changé un peu depuis que j'ai posté, mais si vous voulez appeler notre syntaxe très minimale d'une « langue », il est certainement « pure ". (Et je prévois toujours de le publier dans le vaste univers des passionnés de FP-implémentés-dans-VBA, mais les choses continuent à arriver ...)

Questions connexes