2009-12-23 13 views
14

Mi piacerebbe sapere se esiste un'applicazione per fogli di calcolo che utilizza un linguaggio di programmazione funzionale esistente per definire le funzioni.Fogli di calcolo che utilizzano un linguaggio di programmazione funzionale

Ho già sentito parlare di Resolver One che utilizza python, ma sono più interessato a tutto ciò che utilizza un linguaggio puramente funzionale come Haskell.

Grazie

+0

troppo esotico ...perché vorresti quello? Excel è come una cattiva, pesante libreria GUI a thread singolo con molti buchi che tenta di fare le sue cose. Non penso che Haskell sia abbastanza pratico da avere librerie GUI sostanziali ... –

+2

@ipthnc Dove ha detto qualcosa su Excel? – phoebus

+1

Buona fortuna trovarne uno che usi un linguaggio puro. Ne esistono solo pochi e linguaggi funzionali impuri nelle famiglie Lisp e ML sono molto più popolari. Python, ovviamente, non è affatto un linguaggio funzionale - è un linguaggio OO imperativo che ha funzioni di prima classe. – Chuck

risposta

12

I fogli di calcolo sono un'applicazione molto popolare tra i programmatori funzionali. Sono stati un tema ricorrente nei giornali nel corso degli anni. Alcuni degli articoli più memorabili includono

si può anche leggere su an effort to make Excel more functional.

Per ognuno di questi documenti ho letto il giornale o sentito un discorso basato sui documenti. Nessuna delle carte è favolosa, ma tutte sono buone. Penso che quello con le idee più interessanti sia di Sestoft — e che i suoi risultati sperimentali siano piuttosto sorprendenti.

2
+0

Sospetto che Javascript sia la lingua più funzionale che troverai. Si noti inoltre che ci sono compilatori per Haskell e OCaml per Javascript. – Chuck

+0

Haskell non è "il linguaggio più funzionale"? – mipadi

+0

@mipadi: Non è che Haskell non sia funzionale; è che non mi aspetto di trovare una vera applicazione per fogli di calcolo che utilizzi Haskell per definire le funzioni. – Chuck

2

C'è schema in una griglia (http://siag.nu/siag/), ma che sta cercando un po 'fuori di data.

C'è anche Haxcel (http://www.mrtc.mdh.se/projects/Haxcel/), che era un progetto di tesi.

Se si desidera eseguire la programmazione funzionale in un foglio di calcolo, la soluzione migliore è probabilmente Resolver One, come già notato. (Direi che "programmazione funzionale" in questo contesto significa funzioni di prima classe che funzionano con altre funzioni del foglio di calcolo e il foglio stesso - cioè potresti scrivere una funzione che restituisce una funzione, chiamarla e avere il risultato andare in una cella ancora altre cellule da chiamare, ecc. Non so se OpenOffice e Google Documenti lo faranno.)

Un collega e io abbiamo lavorato su un piccolo progetto per farlo in Excel, usando una sintassi molto vicina a Excel formule. Ho descritto brevemente in un commento sul blog di VBA di Roy Macleans:

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

E 'cambiato un po' da quando ho postato, ma se si desidera chiamare la nostra sintassi molto-minimal un "linguaggio", è certamente "puro ". (E sto ancora pianificando di rilasciarlo nel vasto universo degli entusiasti implementati da FP, ma la roba continua a venire ...)

Problemi correlati