Re:Why are there no big applications written using functiona...
by Hexstream on Wednesday February 24, 2010 @09:55AM
(#1148095)
By the way, Common Lisp is neither "pure" functional nor not-OO. It's a multi-paradigm language that supports imperative, functional, object-oriented, language-oriented, etc.
Google for CLOS, the Common Lisp Object System. I'd say it's more "pure OO" than most so-called object systems in use to day.
Haskell would count as purely functional, not Lisp.
Re:Why are there no big applications written using functiona...
by dantheman on Wednesday February 24, 2010 @10:07AM
(#1148119)
Agreed -- I've read the art of the metaobject protocol. But when most people think of functional programming they think of lisp, and this was about perception and not technical accuracy.
Re:Why are there no big applications written using functiona...
by asolove on Wednesday February 24, 2010 @12:08PM
(#1148435)
But what is the meaning of "pure" here? Stretching back over the last forty years of Lisp, then Prolog, etc., it's a moving target. "Pure" once meant using routines instead of GOTO. Then it meant structured instead of GOTO. Then recursion rather than iteration, followed by structured recursion with fold rather than explicit recursion.
Most recently, it meant first-class functions. Read a lot of papers from the 90's and you'll see this being used as the definition of a real functional language. And lambdas and currying. Now that we've all seen the power these things give, us, they're now mainstream and we have a new definition of "functional programming" in terms of type-controlled effects.
I think the issue is that, there are a "pure" functional programming languages (Lisp, Scheme, Closure, ML etc) and pure OO. People see the value in the functional paradigm but they don't want to give up the benefits of OO so we are are seeing a convergence where the language supports elements from both paradigms, and in general people don't look at that as functional language. I'd say javascript is a good mix between OO and functional.