Computing (FOLDOC) dictionary
Jump to user comments
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)
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
x -@# average(4,x)
functional sub-expressions.
propose it and it was first referred to in ["Uber die
Bausteine der mathematischen Logik", M. Schoenfinkel,
Mathematische Annalen. Vol 92 (1924)].
lecture notes on programming languages written circa 1967.
Strachey also remarked that it ought really to be called
"Schoenfinkeling".
Stefan Kahrs smk@dcs.ed.ac.uk 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)