Per cominciare, sto praticamente venduto sul 'tutto linguaggio funzionale'. Mi viene in mente che, per anni, ho fatto principalmente programmazione in stile funzionale in Java. Ma sono un po 'persa su come avviare una grande app funzionale. Mi piacerebbe vedere la struttura di origine e di costruzione di un grande progetto (OSS o qualsiasi altra cosa) in modo da poter vedere come la modularità sia gestita al meglio in tale ambiente.Quali grandi progetti linguistici funzionali sono disponibili gratuitamente?
Il contesto della mia domanda è che voglio avviare un grande progetto JVM e attualmente sto pensando di scegliere un mix Java/Groovy o un mix Scala/Groovy. Non voglio andare con il mix di Scala/Groovy a meno che non vada nella direzione funzionale perché non mi piace la programmazione di Scala per OO (un argomento completamente diverso). Questo significa evitare cose come quadri DI, AspectJ, ecc (so di poter emulare/realizzare/approvare a queste cose con programmazione funzionale ... ma non è qui rilevante.) Sono preoccupato che la mancanza di grandi dimensioni pubblicamente visibile i progetti che utilizzano questi linguaggi sono dovuti all'argomento comune che sono davvero scarsi per i grandi progetti, il che sarebbe un vero peccato ...
Quindi, chiedo, quali grandi progetti di FP (diciamo 20K + linee) segui? Sarei molto contento di sapere di quelli che girano in una lingua sulla JVM. Soprattutto se ritieni che gestiscano la modularità in un buon modo.
Alcuni progetti interessanti sono stati elencati per Erlang, Haskell e Lisp (senza Scala o Clojure ... forse questo è un segno). Mi piacciono molto le ali 3D. Ma nessuno dei progetti sembra mostrare molta modularità (eccetto Emacs che, è stato menzionato, è scritto in modo abbastanza imperativo ... come ricordo di aver scritto dei plugin più di un decennio fa). Non ho usato il termine "impresa" perché è generalmente un termine inutile, ma sto cercando un progetto che si basa su un altro codice di tipo non core o "standard library". Qualcosa di simile alle dimensioni e all'utilità cross-cutting per Spring Framework o Hibernate o OSGI ... – Dave
A vedere un "segno" per Clojure: http://flightcaster.com/team –