main features of functional programming paradigm

Hi, I would like to ask about what are tha main features of functional programming? Additionally, about FAD: A Functional Analysis and Design Methodology What kind of software can i develop with this methodology? thanks for your answers Abigail. __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.com/

--- Abigail
Hi,
I would like to ask about what are tha main features of functional programming?
Caveat: I'm a relative newcomer to functional programming myself,
certainly not an expert.
There's the obvious definition: Functional programming is writing
programs in the form of functions that are evaluated, as opposed to
procedures that are evaluated. but even if it's tecnically correct,
I'm not that such a distinction helps very much. I know it uses Scheme
(a variety of Lisp) rather than Haskell, but ch. 3 of "The Structure
and Interpretation of Programming Languages" (SICP) has a nice
treatment of mutable data structures on the one hand, and delayed
evaluation on the other. It's interesting because it gives some insight
into the complementary nature of the approach taken by pure languages
like Haskell (called streams in SICP), and non-functional techniques
such as assignment.
I like to think of this as a kind of time/space duality. If you think
about the sequence of "events" during a computation, then you are
squarely on the side of time, and your computational model is decidely
imperative. If you're willing to let go a bit of time, and instead
start thinking about comprehensions and (potentially) infinite lists,
then you've moved over into the space camp, and your programming style
becomes more functional.
===
Gregory Woodhouse

I would like to ask about what are tha main features of functional programming?
If you are new to functional programming, read this http://haskell.org/haskellwiki/Introduction
What kind of software can i develop with this methodology?
I'm not sure what you mean by your question as it is very general. (If you are refering to the "methodology" in the FAD paper at http://www.cs.kent.ac.uk/pubs/2001/1152/ , I haven't read it so I can't help you there.) With Haskell, you can develop pretty much any kind of software, as any other programming language. See http://haskell.org/haskellwiki/Applications (If you want to develop a compiler or interpreter, you are in luck as functional programming languages are very good for developing this kind of software.) What kind of software are you intending to develop? Jared. -- http://www.updike.org/~jared/ reverse ")-:"
participants (3)
-
Abigail
-
Greg Woodhouse
-
Jared Updike