GNU Free Documentation License . .

: ,

́ ́  , ( ).

, ( , ). , , .

, . , ( , , ).

«» , , , . , , , - . : . , . (. )

λ- , «» [1].

[]

[2]:

Lisp APL . Lisp, Scheme, APL [3].

, , , , . , Erlang, OCaml, Haskell, Scheme ( 1986) R (), Mathematica ( ), J K ( ), XSLT (XML) . SQL Lex/Yacc , , . , , , .

[]

- . , , . , , , λ- . , Unlambda. λ-, [4].

Lisp, , , IBM 700/7000 (.).[5]. Lisp , [6]. Scheme Dylan.

(Information Processing Language (.)., IPL) [7]. . «», , , , , . , IPL [8].

. APL , A Programming Language (ISBN 9780471430148)[9]. APL FP (.)., .  (.). APL  J.  (.)., , K, .

ML, SASL - , , Miranda . ML , Objective Caml Standard ML. , Scheme ( ), «Lambda Papers», «Structure and Interpretation of Computer Programs», .[   1089 ]

( ). , . . Haskell , .[3]

[]

( - ). , , « » - .[   1089 ]

[]

  , .[10] , .

, . : - , ,   , , ( , , , ).[   1089 ]

  , . . .

[]

, - ( ). , :

  • , .
  • , .. . , , ( ). , , .
  • , ( thread-safe)
  • , . (, ).

, , , , . , gcc, . Fortran 95 «pure» ().[   1089 ]

[]

. , , . , . , . , . Scheme . , .[   1089 ]

, , , ( «» «»). .[   1089 ]

[]

, . . ,

print length([2+1, 3*2, 1/0, 5-4])

, . 4, , , . () . ( ) , [11].

, . , Miranda, Clean Haskell.[   1089 ]

[]

, , , - . , (list comprehensions), .[   1089 ]

C . ++. C# 3.0 λ- . , -68, (, ) , .[   1089 ]

[]

- , , . ( Python) .

# imperative style
target = [] # create empty list
for item in source_list: # iterate over each thing in source
    trans1 = G(item) # transform the item with the G() function
    trans2 = F(trans1) # second transform with the F() function
    target.append(trans2) # add transformed item to target

-:

# functional style
# FP-oriented languages often have standard compose()
compose2 = lambda A, B: lambda x: A(B(x))
target = map(compose2(F, G), source_list)

, , , .

[]

, , , , . , , , , . , , . , , / . .[   1089 ]

[]

[]

  . , , , . (, , ).

[]

, , ( , - , ). , ,   .

, , . , . , . : , , [12].

[]

, «» , , , , .[   1089 ] , .

[]

, . ,   .

[]

. , . , -, . , , (, getchar C) , , .

, (, , « PROGN» LISP). , ( ) .[   1089 ] , , Haskell - - , .

[]

2009 - (XQuery), [   875 ].

[] .

[]

  1. . , . : . .  .: , 1993.  637 , . ISBN 5-03-001870-0. . 120 [ 6: : λ-].
  2. Tiobe Programming Community Index
  3. 1 2  (.). (September 1989). «Conception, evolution, and application of functional programming languages» (PDF). ACM Computing Surveys 21 (3): 359411. DOI:10.1145/72551.72554.
  4. 2: - // . , = The Emperors New Mind: Concerning Computers, Minds and The Laws of Physics.  , 2003.  ISBN 5-354-00005-X + ISBN 978-5-382-01266-7; 2011 .
  5. McCarthy, John (June 1978). «History of Lisp». In ACM SIGPLAN History of Programming Languages Conference: 217223. DOI:10.1145/800025.808387.
  6. J. Harrison, 1997, . 3. λ-
  7. (1991), Models of My Life pp.189-190 ISBN 0-465-04640-1 , , Al. , « » Logic Theorist (.). Principia Mathematica (.).. , , , , , .
  8. History of Programming Languages: IPL
  9. XIV. APL Session // History of Programming Language / Richard L. Wexelbblat.  Academic Press, 1981.  . 661-693.  749 .
  10. PDF: « , . . » . 8 « ».
  11. . .  :   .: , 2002.  260 . . 14 . 3.1.
  12. . « »

[]

[]