Language:
Free Online Dictionary|3Dict

functional programming

Source : Free On-Line Dictionary of Computing

functional programming
     
         (FP) A program in a functional language consists
        of a set of (possibly {recursive}) {function} definitions and
        an expression whose value is output as the program's result.
        Functional languages are one kind of {declarative language}.
        They are mostly based on the {typed lambda-calculus} with
        constants.  There are no {side-effects} to expression
        evaluation so an expression, e.g. a function applied to
        certain arguments, will always evaluate to the same value (if
        its evaluation terminates).  Furthermore, an expression can
        always be replaced by its value without changing the overall
        result ({referential transparency}).
     
        The order of evaluation of subexpressions is determined by the
        language's {evaluation strategy}.  In a {strict}
        ({call-by-value}) language this will specify that arguments
        are evaluated before applying a function whereas in a
        non-strict ({call-by-name}) language arguments are passed
        unevaluated.
     
        Programs written in a functional language are generally
        compact and elegant, but have tended, until recently, to run
        slowly and require a lot of memory.
     
        Examples of purely functional languages are {Clean}, {FP},
        {Haskell}, {Hope}, {Joy}, {LML}, {Miranda}, and {SML}.  Many
        other languages such as {Lisp} have a subset which is purely
        functional but also contain non-functional constructs.
     
        See also {lazy evaluation}, {reduction}.
     
        {Lecture notes
        (ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.ps)}.
        or the same {in dvi-format
        (ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.dvi)}.
     
        {FAQ
        (http://www.cs.nott.ac.uk/Department/Staff/gmh/faq.html)}.
     
        {SEL-HPC Article Archive
        (http://www.lpac.ac.uk/SEL-HPC/Articles/)}.
     
        (2003-03-25)
Sort by alphabet : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z