dict.org

The DICT Development Group


Search for:
Search type:
Database:

Database copyright information
Server information
Wiki: Resources, links, and other information


1 definition found
 for curried function
From The Free On-line Dictionary of Computing (18 March 2015) :

  curried function
  
      A function of N arguments that
     is considered as a function of one argument which returns
     another function of N-1 arguments.  E.g. in Haskell we can
     define:
  
     	average :: Int -> (Int -> Int)
  
     (The parentheses are optional).  A partial application of
     average, to one Int, e.g. (average 4), returns a function of
     type (Int -> Int) which averages its argument with 4.  In
     uncurried languages a function must always be applied to all
     its arguments but a partial application can be represented
     using a lambda abstraction:
  
     	\ x -> average(4,x)
  
     Currying is necessary if full laziness is to be applied to
     functional sub-expressions.
  
     It was named after the logician Haskell Curry but the
     19th-century logician, Gottlob Frege was the first to
     propose it and it was first referred to in ["Uber die
     Bausteine der mathematischen Logik", M. Schoenfinkel,
     Mathematische Annalen. Vol 92 (1924)].
  
     David Turner said he got the term from Christopher
     Strachey who invented the term "currying" and used it in his
     lecture notes on programming languages written circa 1967.
     Strachey also remarked that it ought really to be called
     "Schoenfinkeling".
  
     Stefan Kahrs  reported hearing somebody in
     Germany trying to introduce "scho"nen" for currying and
     "finkeln" for "uncurrying".  The verb "scho"nen" means "to
     beautify"; "finkeln" isn't a German word, but it suggests "to
     fiddle".
  
     ["Some philosophical aspects of combinatory logic",
     H. B. Curry, The Kleene Symposium, Eds. J. Barwise,
     J. Keisler, K. Kunen, North Holland, 1980, pp. 85-101]
  
     (2002-07-24)
  

Questions or comments about this site? Contact webmaster@dict.org