In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.[1] Functional programming has its roots in the lambda calculus, a formal system developed in the 1930s to investigate function definition, function application, and recursion. Many functional programming languages can be viewed as embellishments to the lambda calculus.[1]

In practice, the difference between a mathematical function and the notion of a "function" used in imperative programming is that imperative functions can have side effects, changing the value of already calculated computations. Because of this they lack referential transparency, i.e. the same language expression can result in different values at different times depending on the state of the executing program. Conversely, in functional code, the output value of a function depends only on the arguments that are input to the function, so calling a function f twice with the same value for an argument x will produce the same result f(x) both times. Eliminating side-effects can make it much easier to understand and predict the behavior of a program, which is one of the key motivations for the development of functional programming.[1]

Functional programming languages, especially purely functional ones, have largely been emphasized in academia rather than in commercial software development. However, prominent functional programming languages such as Scheme,[2][3][4][5] Erlang,[6][7][8] OCaml,[9][10] and Haskell,[11][12] have been used in industrial and commercial applications by a wide variety of organizations. Functional programming also finds use in industry through domain-specific programming languages like R (statistics),[13][14] Mathematica (symbolic math),[15] J and K (financial analysis)[citation needed], and XSLT (XML).[16][17] Widespread declarative domain specific languages like SQL and Lex/Yacc, use some elements of functional programming, especially in eschewing mutable values.[18] Spreadsheets can also be viewed as functional programming languages.[19]

Programming in a functional style can be accomplished in languages that aren't specifically designed for functional programming, including C, Delphi, C++, Perl[20], Python, Ruby, Java, or JavaScript.

Contents

Show All>>

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Mon Oct 26 02:41:41 2009. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.


Tee up your multiprocessing options - EDN.com
news.google.com
Tee up your multiprocessing options

EDN.com

Focusing on functional capabilities enables stakeholders to converge their efforts to evolve their type of processing. Multicore discussions should expand ...



and more »
Google News Search: Functional programming,
Fri Jun 26 08:13:41 2009
How do I convert a .mswmm (from Movie marker - vista) to a more functional file so I can put it on a DVD?
Q. I have all of home camera files made into movies on Movie Maker for Vista, but the DVD maker will not work (typical). I have not found another DVD making program that will allow me to use my files in this form. This is why I need help!!!
Asked by jjslp122 - Sat Feb 21 11:55:06 2009 - - 3 Answers - 0 Comments

A. Aimersoft DVD Creator is a good choice. It converts popular video formats such as AVI, MPEG, WMV, DivX, DV, VOB to DVD and burn DVD movie played on portable or home DVD player. Any video to to VCD/DVD/SVCD is even faster than real-time. Free download here: Step by step guide: Unbiased reviews and side-by-side comparisons of the DVD creator give you enough information to research the ins and outs of a particular product: Also, you can search some other software:
Answered by Qiqi - Sat Feb 21 21:58:19 2009

Yahoo Answers Search: Functional programming,
Fri Jul 3 23:45:36 2009