OnlineWoerterBuecher.de
Internes

Lexikon


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)

In addition suitable contents:
[ 2 ] [ = ] [ @ ] [ abstraction ] [ af ] [ ag ] [ ai ] [ al ] [ am ] [ an ] [ Anna ] [ app ] [ application ] [ ar ] [ arc ] [ arg ] [ argument ] [ as ] [ aspect ] [ at ] [ au ] [ av ] [ az ] [ B ] [ b ] [ bd ] [ be ] [ bi ] [ bo ] [ bs ] [ C ] [ ca ] [ cat ] [ Ch ] [ ch ] [ Christopher Strachey ] [ ci ] [ co ] [ com ] [ combinator ] [ combinatory logic ] [ con ] [ cons ] [ cu ] [ currying ] [ D ] [ David Turner ] [ dd ] [ de ] [ die ] [ du ] [ E ] [ ec ] [ ed ] [ ee ] [ eg ] [ er ] [ era ] [ es ] [ et ] [ expression ] [ fi ] [ file ] [ fo ] [ for ] [ fr ] [ full laziness ] [ function ] [ functional ] [ G ] [ ge ] [ German ] [ gh ] [ gi ] [ Go ] [ Gottlob Frege ] [ gr ] [ gu ] [ h ] [ Haskell Curry ] [ hat ] [ hr ] [ ht ] [ id ] [ ie ] [ il ] [ in ] [ int ] [ io ] [ ir ] [ is ] [ it ] [ J ] [ K ] [ ke ] [ la ] [ lambda abstraction ] [ language ] [ laziness ] [ Lex ] [ li ] [ ls ] [ ly ] [ M ] [ ma ] [ man ] [ mk ] [ mm ] [ mo ] [ mod ] [ module ] [ mp ] [ mu ] [ N ] [ na ] [ named ] [ nc ] [ ne ] [ nf ] [ ng ] [ nn ] [ no ] [ ns ] [ om ] [ op ] [ option ] [ pa ] [ parent ] [ parentheses ] [ pe ] [ ph ] [ pl ] [ port ] [ pr ] [ program ] [ programming ] [ programming language ] [ pt ] [ query ] [ rc ] [ re ] [ real ] [ ro ] [ rw ] [ S ] [ sa ] [ sc ] [ se ] [ si ] [ sk ] [ sl ] [ sm ] [ sn ] [ so ] [ spec ] [ st ] [ su ] [ T ] [ th ] [ to ] [ tr ] [ tt ] [ type ] [ ua ] [ ug ] [ uk ] [ um ] [ uncurrying ] [ us ] [ V ] [ ve ] [ vi ] [ word ]






Go Back ]

Free On-line Dictionary of Computing

Copyright © by OnlineWoerterBuecher.de - (8492 Reads)

All logos and trademarks in this site are property of their respective owner.

Page Generation in 0.1104 Seconds, with 18 Database-Queries
Zurück zur Startseite