|
|
«» , , , . , , , - . : . , . (. )
|
|
[]
[2]:
- LISP ( , 1958) , :
- Erlang (Joe Armstrong, 1986) .
- APL , MATLAB.
- ML ( , 1979, Standard ML Objective CAML).
- F# ML .NET
- Scala
- Miranda ( Ҹ, 1985, Haskell).
- Nemerle / .
- XSLT XQuery
- Haskell . .
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», .
[]
( - ). , , « » - .
[]
, .[10] , .
, . : - , , , , ( , , , ).
, . . .
[]
- , .
- , ( thread-safe)
- , . (, ).
, , , , . , gcc, . Fortran 95 «pure» ().
[]
. , , . , . , . , . Scheme . , .
[]
, . . ,
print length([2+1, 3*2, 1/0, 5-4])
, . 4, , , . () . ( ) , [11].
[]
, , , - . , (list comprehensions), .
C . ++. C# 3.0 λ- . , -68, (, ) , .
[]
- , , . ( 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)
, , , .
[]
, , , , . , , , , . , , . , , / . .
[]
[]
. , , , . (, , ).
[]
, , ( , - , ). , , .
, , . , . , . : , , [12].
[]
, «» , , , , . , .
[]
[]
. , . , -, . , , (, getchar C) , , .
, (, , « PROGN» LISP). , ( ) . , , Haskell - - , .
[]
2009 - (XQuery), .
[] .
[]
- . , . : . . .: , 1993. 637 , . ISBN 5-03-001870-0. . 120 [ 6: : λ-].
- Tiobe Programming Community Index
- 1 2 (.). (September 1989). «Conception, evolution, and application of functional programming languages» (PDF). ACM Computing Surveys 21 (3): 359411. DOI:10.1145/72551.72554.
- 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 .
- McCarthy, John (June 1978). «History of Lisp». In ACM SIGPLAN History of Programming Languages Conference: 217223. DOI:10.1145/800025.808387.
- J. Harrison, 1997, . 3. λ-
- (1991), Models of My Life pp.189-190 ISBN 0-465-04640-1 , , Al. , « » Logic Theorist (.). Principia Mathematica (.).. , , , , , .
- History of Programming Languages: IPL
- XIV. APL Session // History of Programming Language / Richard L. Wexelbblat. Academic Press, 1981. . 661-693. 749 .
- PDF: « , . . » . 8 « ».
- . . : .: , 2002. 260 . . 14 . 3.1.
- . « »
[]
- . . . .: - , 2004. . 280. ISBN 5-9556-0008-6
- . . Haskell. .: , 2006. . 608. ISBN 5-94074-335-8
- . , . : . . .: , 1993. 637 , . ISBN 5-03-001870-0
- . . : .: , 2002. 260 .
- John Harrison. . = Functional Programming. 1997.
[]
| ?: |