En nu de nadelen :
Die zijn er natuurlijk ook

- Het is ongeloofelijk traag
Ik zie dat je hieronder spreekt over de traagheid van je ervaring met Haskell / Hugs. Zoals je misschien weet is Hugs geinterpeteerd, wat bijna inherent staat aan beretraag. Probeer eens de Glasgow Haskell Compiler. Deze optimaliseerd erg sterk en is niet traag te noemen in de code werlke deze uitspuugt.
http://www.haskell.org/ghc/
Maak anders eens een algortime in Haskell, laat GHC dit compileren naar C code en ga dit dan vergelijken met je eigen algoritme. Ik vermoed dat er niet echt veel verschil in O in gaat zitten

- Functionele programmas zijn tov de huidige hardware te vergelijken met water en vuur.
Hoezo? Het kijken naar lijsten is de manier van het bekijken van een linked list met pointermanipulatie. Het bekijken van een recursieve (lazy) functie is een gewone goto. Het bekijken van een pattern match is ook te gebruiken in imperatieve OO talen dmv Visitors. Ik zie princiepes die zo te vertalen zijn. Waar zitten de verschillen dan precies?
- Op de meest nutteloze plekken wordt recursie gebruikt
Recursie is over het algemeen effectief en een recursieve datastructuur als een Linked List eist vaak een recursief pattroon. Echter als er 'nutteloze' recursie gebruikt wordt (ipv maps bijv) dan is dat toch de schuld van de programmeur?
- mbv een functionele programmeertaal verwijder je jezelf meer en meer van de oplossing ... uiteindelijk ben je alleen nog maar bezig met bewijzen en bewijs je dat je vorige bewijs met het zonet geleverde bewijs hebt bewezen, om dit bewijs te leveren heb je echter een vervolg bewijs nodig
Als ik het goed begrijp heb je het hier over een overdaad aan abstractie? Mja, sorry, maar dat vind ik toch echt een beperking van de programmeur ipv de programeertaal. Abstractie is juist ontzettend belangrijk voor het schrijven van herbruikbare code.
Ik ben het echter wel met je eens dat het OO abstractieniveau dichter bij de programmeur z'n beleving ligt, maar na een bepaalde periode ga je 'functioneel denken' en dan denk je er niet eens meer over na
Kortom functionele talen hebben inderdaad nadelen (zo is lazyness niet altijd goed), maar als je in een combinatie gaat kijken met andere .NET talen en dit laat mixen, kan ik niet anders dan voordelen zien

Kun jij mij dan een doel geven van een functionele programmeertaal waarbij dus duidelijk is dat we deze talen verder zullen moeten ontwikkelen?
Door de 'referential intergrity' van pure functionele programmeertalen is hergebruik van code een stuk minder probleematisch dan bij imperatieve talen. Daarnaast bieden functionele talen in het algemeen (niet alleen de pure) een grotere mate expressiviteit, hetgeen de productiviteit van programmeurs ten goede komt.
Vanuit een academisch oogpunt zijn functionele talen ook erg interessant. Deze talen zijn namelijk een stuk complexer om te implementeren dan de imperatieve talen en hebben zodoende de compiler technologie een stuk verbeterd. Dit komt ook de imperatieve talen ten goede. Dat jij schijnbaar geen nut ziet in functionele programmeertalen wil dus nog niet zeggen dat we de ontwikkeling ervan maar stop moeten zetten; dat zou van grote naiviteit getuigen.
Als je dan een doel hebt bedacht kun je mij dan vertellen waar ik een open-source project (ik neem aan dat het dat is) kan vinden die dat doel tracht te bereiken
Daar jij zojuist impliciet hebt aangegeven Google te kunnen gebruiken, ga ik je dat werk echt niet uit handen nemen.

Enfin, veel compilers voor functionele talen zijn zelf in een functionele taal geschreven. De Clean 2.0 compiler is geschreven in Clean, The Glasgow Haskell Compiler is geschreven in Haskell, de Ocaml compiler is geschreven in Ocaml, etc, etc. Mocht je op zoek zijn naar een goede Bayesian spam filter, zoek dan maar eens naar SpamOracle, geschreven in jawel Ocaml. Wel eens gehoord van Emacs? Grotendeel geschreven in een Lisp variant. Wel eens gehoord Erlang? Het is een functionele programeertaal ontwikkelt door Ericsson die in een deel van hun producten wordt gebruikt. Ergens (oefening voor de lezer

) is er ook een webserver, geschreven in Erlang, te vinden. Enfin ik denk dat dat wel genoeg voorbeelden zijn; zoek en gij zult vinden.
Je kunt er allemaal moeilijke termen bij halen
'Tail recursion' is nou niet bepaald een moeilijke term; zeker niet voor iemand die enigzins verstand heeft van functionele programmeertalen of claimt er mee gewerkt te hebben!.
ze hadden zelf namenlijk ook wel door dat recursie niet de oplossing is) en een plak en lijm middel bedacht hebben voor bepaalde situaties
Nogmaals je slaat een toon aan alsof je weet waarover je praat, maar je slaat de plank telkens compleet mis. Ik zou zeggen pak er eens lekker een boek over functionele programmeertalen bij, installeer Hugs nog maar eens een keer, ga er serieus mee aan de slag en hopelijk kan je dan iets zinnigs over functionele programmeertalen schrijven.
Dit wordt vermoeiend
