7159:
7207:
7197:
7187:
6060:. Thus, any partial application may be reduced to a single curry operation. As such, curry is more suitably defined as an operation which, in many theoretical cases, is often applied recursively, but which is theoretically indistinguishable (when considered as an operation) from a partial application.
5205:
Currying and partial function application are often conflated. One of the significant differences between the two is that a call to a partially applied function returns the result right away, not another function down the currying chain; this distinction can be illustrated clearly for functions whose
6470:
In the last line we have used a trick called
Currying (after the logician H. Curry) to solve the problem of introducing a binary operation into a language where all functions must accept a single argument. (The referee comments that although "Currying" is tastier, "Schönfinkeling" might be more
1105:
showed that it was sufficient to provide solutions for the single argument case, as it was possible to transform a function with multiple arguments into a chain of single-argument functions instead. This transformation is the process now known as currying. All "ordinary" functions that might
4485:
being the most prominent example of such a language. It is important in this context, because it can be built from a single type constructor, the arrow type. Currying then endows the language with a natural product type. The correspondence between objects in categories and types then allows
2945:
694:
This is a somewhat informal example; more precise definitions of what is meant by "object" and "function" are given below. These definitions vary from context to context, and take different forms, depending on the theory that one is working in.
2589:
5828:
5635:
The practical motivation for partial application is that very often the functions obtained by supplying some but not all of the arguments to a function are useful; for example, many languages have a function or operator similar to
4947:
6511:
5933:
Thus, partial application is reduced to a curried function at a fixed point. Further, a curried function at a fixed point is (trivially), a partial application. For further evidence, note that, given any function
4061:
4260:
900:, it provides a way to study functions with multiple arguments in simpler theoretical models which provide only one argument. The most general setting for the strict notion of currying and uncurrying is in the
5899:
4574:
3915:
5328:
2757:
5541:
2862:
1195:
Currying is most easily understood by starting with an informal definition, which can then be molded to fit many different domains. First, there is some notation to be established. The notation
1183:, but that source introduces the concept as "a device originated by Schönfinkel", and the term "currying" is not used, while Curry is mentioned later in the context of higher-order functions.
5691:
5261:
3097:
2190:
881:
4277:; however, uncurried functions are generally preferred for efficiency reasons, since the overhead of partial application and closure creation can then be avoided for most function calls.
2857:
5423:
692:
5050:, and thus lacks a product (that is, lacks a way of writing down pairs of objects). Categories that do have both products and internal homs are exactly the closed monoidal categories.
4775:
1519:
5583:
1862:
5459:
1573:
1831:
1164:
had the idea six years before Curry. The alternative name "Schönfinkelisation" has been proposed. In the mathematical context, the principle can be traced back to work in 1893 by
5928:
4814:
2253:
99:
2392:
437:
3976:
3758:
1093:
Currying provides a way for working with functions that take multiple arguments, and using them in frameworks where functions might take only one argument. For example, some
7056:
5010:
4980:
4323:
3626:
3522:
3312:
2489:
2286:
1705:
1315:
724:
605:
306:
6058:
5640:. Partial application makes it easy to define these functions, for example by creating a function that represents the addition operator with 1 bound as its first argument.
4106:
1982:
207:
4685:
6592:
Some contemporary logicians call this way of looking at a function "currying", because I made extensive use of it; but Schönfinkel had the idea some 6 years before I did.
4138:
2068:
3247:
4421:
2008:
1341:
5369:
3938:
3500:
3397:
3366:
3335:
4445:
1003:
493:
6002:
5967:
5717:
4652:
4181:
3720:
1643:
1219:
794:
581:
376:
280:
5037:
4619:
3164:
2974:
2831:
2619:
2500:
2467:
2323:
1901:
540:
464:
4387:
6313:
250:
165:
142:
6735:
6063:
So, a partial application can be defined as the objective result of a single application of the curry operator on some ordering of the inputs of some function.
5486:
4853:
4363:
4343:
3826:
3806:
3782:
3477:
3457:
3437:
3417:
3137:
3117:
3038:
3018:
2994:
2804:
2784:
2683:
2659:
2639:
2440:
2420:
2221:
2128:
2108:
2088:
2028:
1945:
1925:
1788:
1768:
1748:
1728:
1617:
1597:
1469:
1449:
1429:
1409:
1385:
1365:
1283:
1263:
1243:
1083:
1063:
1043:
1023:
978:
958:
764:
744:
513:
396:
346:
326:
227:
119:
3282:
5722:
6550:
The Kleene
Symposium: Proceedings of the Symposium Held June 18-24, 1978 at Madison, Wisconsin, U.S.A. (Studies in Logic and the Foundations of Mathematics)
4865:
6265:(in German). Book from the collections of University of Wisconsin - Madison, digitized by Google on 26 August 2008. Jena: Hermann Pohle. pp. 54–55.
6411:
There is a device originated by Schönfinkel, for reducing operators with several operands to the successive application of single operand operators.
3667:, where, roughly speaking, two computer programs can be considered to be homotopic, i.e. compute the same results, if they can be "continuously"
1148:
can be used to perform partial application and a kind of currying, by hiding arguments in an environment that travels with the curried function.
6195:. Lecture Notes in Physics. Vol. 813: New Structures for Physics. Berlin, Heidelberg: Springer (published 5 July 2010). pp. 95–172.
7201:
1180:
1114:
can be curried. However, there are categories in which currying is not possible; the most general categories which allow currying are the
5468:
refers to the process of fixing a number of arguments to a function, producing another function of smaller arity. Given the definition of
5046:, and thus lacks an internal hom functor (possibly because there is more than one choice for such a functor). Another way is if it is not
3984:
6499:. 13 – via Syracuse University: College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects.
4189:
5833:
4505:
3838:
7245:
4688:
6284:(1967). "Introduction to Moses Schönfinkel's 1924 "On the building blocks of mathematical logic"". In van Heijenoort, Jean (ed.).
5461:, we are left with a function that takes a single argument and returns another function, not a function that takes two arguments.
5266:
908:
of proofs and programs to a correspondence with many other structures, including quantum mechanics, cobordisms and string theory.
7063:
2695:
5491:
3648:
of computer algorithms. Note that the Scott topology is quite different than many common topologies one might encounter in the
6187:
3419:
with the unit interval, modulo an equivalence relation to turn the interval into a loop. The curried form then maps the space
7005:
6962:
6933:
6928:. Studies in logic and the foundations of mathematics. Vol. 103 (Rev. ed.). North-Holland, an imprint of Elsevier.
6900:
6510:
Slonneger, Kenneth; Kurtz, Barry L. (1995). "Curried
Functions, 5.1: Concepts and Examples, Chapter 5: The Lambda Calculus".
6218:
702:. The example above can be used to illustrate partial application; it is quite similar. Partial application is the function
6951:"Chapter I. Categories of Functors; sections 7. Propositional Calculus, 8. Heyting Algebras, and 9. Quantifiers as Adjoints"
6186:
Baez, John C.; Stay, Mike (6 June 2009). "Physics, Topology, Logic and
Computation: A Rosetta Stone". In Coecke, Bob (ed.).
5425:, applying each argument in turn to a single-argument function returned by the previous invocation. Note that after calling
7191:
6169:
896:, and many others, it provides a way of automatically managing how arguments are passed to functions and exceptions. In
7770:
5646:
5216:
7795:
6774:
6727:
6712:
6696:
6569:
6524:
6480:
6455:
6293:
2940:{\displaystyle {\begin{aligned}&&{\text{eval}}:Y^{X}\times X\to Y\\&&(f,x)\mapsto f(x)\end{aligned}}}
1172:
6548:(1980). Barwise, Jon; Keisler, H. Jerome; Kunen, Kenneth (eds.). "Some Philosophical Aspects of Combinatory Logic".
3683:, currying provides a way to study functions with multiple arguments in very simple theoretical models, such as the
3043:
2136:
799:
167:
The curried form of this function treats the first argument as a parameter, so as to create a family of functions
7883:
7878:
7743:
7568:
7367:
7101:
5374:
5160:
5113:
4499:
4487:
3640:(as ordinary set theory is inadequate to do this). More generally, Scott-continuous functions are now studied in
905:
610:
7461:
6626:
4463:
3649:
1145:
4736:
1480:
607:
is a function that takes objects from the first set, and returns objects in the second set, and so one writes
7591:
7551:
7238:
5546:
5109:
1844:
5585:. Note that the result of partial function application in this case is a function that takes two arguments.
7561:
7556:
7137:
5589:
5428:
5089:
4712:
4482:
3680:
1534:
897:
51:
6866:
1796:
7836:
7674:
7211:
6609:
5904:
4780:
2226:
60:
7451:
6082:
4727:
4274:
3179:
2360:
401:
6798:
3943:
3725:
2199:
for the set of functions. As is the case in all instances of currying, the formula above describes an
7659:
7654:
7481:
6980:
Logic in
Computer Science (LICS 2004): Proceedings, 19th Annual IEEE Symposium, Turku, Finland, 2004]
5188:
4731:
4716:
4451:
2834:
2686:
1126:
6381:
4989:
4959:
4296:
3609:
3505:
3291:
2472:
2258:
1651:
1288:
705:
586:
287:
7888:
7699:
7664:
7631:
7281:
7231:
6112:
6007:
5156:
4820:
4073:
1954:
1115:
901:
170:
4661:
7601:
7573:
7511:
7496:
7476:
7412:
7254:
6281:
4111:
3532:
2033:
3196:
1839:
is the reverse transformation, and is most easily understood in terms of its right adjoint, the
7578:
7506:
7456:
7291:
7049:
6816:
Tillotson, J.; Booth, Peter I. (March 1980) . Written at
Memorial University of Newfoundland.
6769:. Chicago lectures in mathematics. Chicago, Ill.: University of Chicago Press. pp. 39–55.
6761:
6376:
5096:
of cartesian closed categories; and it is for this reason that pairs and lists are the primary
5073:
4856:
4720:
4400:
4145:
3645:
3636:. Scott-continuous functions were first investigated in the attempt to provide a semantics for
1987:
1320:
1222:
1133:, where in both cases all functions have exactly one argument. This property is inherited from
1098:
938:
890:
47:
6978:
Abramsky, Samson; Coecke, Bob (5 March 2007). "A categorical semantics of quantum protocols".
5643:
Partial application can be seen as evaluating a curried function at a fixed point, e.g. given
5333:
4293:
in computer science is formalized into a specific algebra of types. For example, when writing
3923:
3482:
3379:
3348:
3317:
2584:{\displaystyle {\text{curry}}:{\text{Hom}}(X\times Y,Z)\to {\text{Hom}}(X,{\text{Hom}}(Y,Z)),}
7857:
7760:
7606:
7586:
7531:
6950:
6322:
6072:
5065:
4430:
3603:
3559:
3338:
2662:
1471:
may be sets, or they may be types, or they may be other kinds of objects, as explored below.
1107:
930:
469:
7022:
6957:. New York: Springer-Verlag, part of Springer Science & Business Media. pp. 48–57.
6683:
5972:
5937:
5696:
4699:
The above notions of currying and uncurrying find their most general, abstract statement in
4631:
4151:
3690:
2996:
locally compact
Hausdorff. These two results are central for establishing the continuity of
1622:
1198:
769:
545:
351:
255:
19:
This article is about the mathematical technique. For the cooking process of this name, see
7669:
7626:
7621:
7611:
7521:
7180:
7158:
7121:
7089:
6360:
6256:
5015:
4626:
4597:
4270:
4141:
3940:
is the abstractor of lambda calculus. Since curry takes, as input, functions with the type
3664:
3142:
2952:
2809:
2597:
2445:
2301:
2196:
1879:
1176:
1122:
1111:
893:
518:
442:
6309:
5592:
of the function, you get a function of the remaining arguments". For example, if function
4372:
1161:
916:
8:
7709:
7694:
7689:
7546:
7431:
7377:
6665:"Frequently Asked Questions for comp.lang.functional, 3. Technical topics, 3.2. Currying"
5200:
5132:
5058:
4986:, the two are the same. When the product is the cartesian product, then the internal hom
4577:
4474:
3629:
3555:
3544:
3182:, and, as such, plays an important role in a variety of different settings. For example,
2350:
2342:
2296:
1948:
1141:
934:
699:
6433:
5823:{\displaystyle {\text{curry}}({\text{partial}}(f)_{a})(y)(z)={\text{curry}}(f)(a)(y)(z)}
4266:
That is, the parenthesis are not required to disambiguate the order of the application.
1125:
almost always use curried functions to achieve multiple arguments; notable examples are
983:
232:
147:
124:
7831:
7810:
7719:
7616:
7466:
7359:
7311:
7273:
7111:
6983:
6840:
6706:
6583:
6461:
6402:
6339:
6224:
6196:
5471:
5180:
5172:
5152:
4838:
4708:
4704:
4592:
4348:
4328:
3811:
3791:
3767:
3571:
3462:
3442:
3422:
3402:
3187:
3175:
3122:
3102:
3023:
3003:
2979:
2789:
2769:
2668:
2644:
2624:
2425:
2405:
2326:
2206:
2113:
2093:
2073:
2013:
1930:
1910:
1773:
1753:
1733:
1713:
1602:
1582:
1454:
1434:
1414:
1394:
1370:
1350:
1268:
1248:
1228:
1068:
1048:
1028:
1008:
963:
943:
749:
729:
498:
381:
331:
311:
212:
104:
6561:
3255:
1101:
with a single argument. Practical functions frequently take more arguments than this.
886:
The currying of a function with more than two arguments can be defined by induction.
7501:
7344:
7334:
7329:
7301:
7296:
7001:
6958:
6929:
6906:
6896:
6848:
6817:
6780:
6770:
6692:
6652:. Vol. I (2 ed.). Amsterdam, Netherlands: North-Holland Publishing Company.
6587:
6575:
6565:
6520:
6451:
6394:
6343:
6289:
6228:
6214:
5164:
5120:
5093:
5081:
5047:
4824:
4588:) corresponds to conjunction in logic, and function type corresponds to implication.
4478:
4067:
3543:) can be understood as a form of currying, which in turn leads to the duality of the
2354:
1904:
1388:
6406:
7800:
7541:
7486:
7407:
7397:
7387:
7382:
6993:
6832:
6818:"Monoidal closed, Cartesian closed and convenient categories of topological spaces"
6557:
6492:
6476:
6443:
6429:
6386:
6331:
6232:
6206:
5069:
4983:
4942:{\displaystyle \mathrm {Hom} (A\otimes B,C)\cong \mathrm {Hom} (A,B\Rightarrow C).}
4832:
4390:
3668:
2292:
2200:
1184:
39:
6664:
6465:
6161:
7790:
7736:
7714:
7491:
7446:
7417:
7392:
7372:
7319:
7286:
7262:
6890:
6513:
Formal Syntax and
Semantics of Programming Languages: A Laboratory Based Approach
6260:
6077:
5488:
above, we might fix (or 'bind') the first argument, producing a function of type
5077:
5054:
5043:
4700:
4655:
4622:
4470:
3684:
3637:
3599:
3525:
2346:
1134:
6210:
4502:, the existence of currying and uncurrying is equivalent to the logical theorem
7775:
7636:
7339:
7324:
5136:
5053:
The setting of cartesian closed categories is sufficient for the discussion of
4469:
The type-theoretical approach provides a natural complement to the language of
3653:
3633:
3575:
3567:
3548:
3285:
2841:
2338:
1187:
defined "currying" in a 1972 paper, but did not claim to have coined the term.
6997:
6604:
6496:
6390:
7872:
7596:
7441:
7402:
7349:
7072:
6852:
6844:
6645:
6579:
6545:
6398:
6252:
5330:. That is, while an evaluation of the first function might be represented as
5176:
5144:
5124:
4394:
3641:
2763:
1165:
1157:
1102:
920:
912:
6910:
6784:
4450:
The type-theoretical approach is expressed in programming languages such as
7852:
7815:
7704:
7679:
7471:
7223:
6836:
6437:
6138:
5184:
5140:
5128:
5085:
4956:
denotes the (external) Hom-functor of all morphisms in the category, while
4828:
4585:
4490:), and as other types of mathematical systems, as explored further, below.
4424:
3595:
1344:
6447:
6364:
4982:
denotes the internal hom functor in the closed monoidal category. For the
1137:, where multi-argument functions are usually represented in curried form.
16:
Transforming a function in such a way that it only takes a single argument
7805:
7780:
7765:
7684:
7516:
7084:
6988:
6087:
5191:, such as mutual exclusion locks, and the operation of vending machines.
5148:
5101:
5097:
5057:; the more general setting of closed monoidal categories is suitable for
4723:
4366:
4290:
4286:
3657:
3583:
3579:
3563:
3536:
2395:
54:
into a sequence of families of functions, each taking a single argument.
35:
5042:
Currying can break down in one of two ways. One is if a category is not
2848:, usually called "evaluation" in this context, is continuous (note that
796:
Using the same notation as above, partial application has the signature
6335:
3369:
3183:
1873:
3687:, in which functions only take a single argument. Consider a function
7785:
5588:
Intuitively, partial function application says "if you fix the first
5168:
3540:
2844:
its curried form is continuous. Another important result is that the
2492:
883:
Written this way, application can be seen to be adjoint to currying.
28:
6831:(1). Berkeley, California: Mathematical Sciences Publishers: 35–53.
6691:. Malden, Massachusetts: Blackwell Publishers, an imprint of Wiley.
5620:
that returns the multiplicative inverse of its argument, defined by
4473:, as discussed below. This is because categories, and specifically,
4056:{\displaystyle {\text{curry}}:((X\times Y)\to Z)\to (X\to (Y\to Z))}
7130:
7080:
6955:
Sheaves in
Geometry and Logic: A First Introduction to Topos Theory
6286:
From Frege to Gödel: A Source Book in
Mathematical Logic, 1879-1931
4255:{\displaystyle (({\text{curry}}(f)\;x)\;y)={\text{curry}}(f)\;x\;y}
2997:
6481:"Definitional Interpreters for Higher-Order Programming Languages"
6434:"Definitional interpreters for higher-order programming languages"
6201:
3528:
that maps suspensions to loop spaces, and uncurrying is the dual.
889:
Currying is useful in both practical and theoretical settings. In
7143:
6895:. Graduate texts in mathematics; 119. New York: Springer-Verlag.
6556:. North-Holland Publishing Company, imprint of Elsevier: 85–101.
4459:
1130:
378:
The proper notation for expressing this is verbose. The function
24:
7041:
5894:{\displaystyle {\text{partial}}(f)_{a}={\text{curry}}_{1}(f)(a)}
4569:{\displaystyle ((A\land B)\to C)\Leftrightarrow (A\to (B\to C))}
3910:{\displaystyle {\text{curry}}(f)=\lambda x.(\lambda y.(f(x,y)))}
3558:, the relationship between currying and uncurrying is known as
2852:
is a strictly different concept in computer science.) That is,
6924:
Barendregt, Hendrik Pieter (1984). "Theorems 1.2.13, 1.2.14".
6728:"Programming language, Currying, or Schonfinkeling?, #9 / 14"
5371:, evaluation of the curried function would be represented as
5207:
5194:
4687:, thus making it clear that the exponential object really is
4581:
3099:
can be thought of as either a homotopy of two functions from
2845:
1840:
20:
5323:{\displaystyle {\text{curry}}(f)\colon X\to (Y\to (Z\to N))}
5105:
4455:
2849:
2752:{\displaystyle {\text{curry}}:Z^{X\times Y}\to (Z^{Y})^{X}}
5536:{\displaystyle {\text{partial}}(f)\colon (Y\times Z)\to N}
5159:, and, more generally, allow a vast generalization of the
4486:
programming languages to be re-interpreted as logics (via
933:
transformation to currying, and can be seen as a form of
2195:
Indeed, it is this natural bijection that justifies the
57:
In the prototypical example, one begins with a function
6552:. Studies in Logic and the Foundations of Mathematics.
6316:[On the building blocks of mathematical logic]
6663:
Hutton, Graham; Jones, Mark P., eds. (November 2002).
5543:. Evaluation of this function might be represented as
2840:
One useful corollary is that a function is continuous
804:
710:
615:
591:
328:
as an argument, and returns a function that maps each
292:
6143:
Lambda the Ultimate: The Programming Languages Weblog
6132:
6130:
6128:
6010:
5975:
5940:
5907:
5836:
5725:
5699:
5649:
5549:
5494:
5474:
5431:
5377:
5336:
5269:
5219:
5018:
4992:
4962:
4868:
4841:
4783:
4739:
4664:
4634:
4600:
4508:
4433:
4403:
4375:
4351:
4331:
4299:
4192:
4154:
4114:
4076:
3987:
3946:
3926:
3841:
3814:
3794:
3770:
3728:
3693:
3612:
3508:
3485:
3465:
3445:
3425:
3405:
3382:
3351:
3320:
3294:
3258:
3199:
3145:
3125:
3105:
3046:
3026:
3006:
2982:
2955:
2860:
2812:
2792:
2772:
2698:
2671:
2647:
2627:
2600:
2503:
2475:
2448:
2428:
2408:
2363:
2304:
2261:
2229:
2209:
2139:
2116:
2096:
2076:
2036:
2016:
1990:
1957:
1933:
1913:
1882:
1847:
1799:
1776:
1756:
1736:
1716:
1654:
1625:
1605:
1585:
1537:
1483:
1457:
1437:
1417:
1397:
1373:
1353:
1323:
1291:
1271:
1251:
1231:
1201:
1156:
The "Curry" in "Currying" is a reference to logician
1071:
1051:
1031:
1011:
986:
966:
946:
802:
772:
752:
732:
708:
613:
589:
548:
521:
501:
472:
445:
404:
384:
354:
334:
314:
290:
258:
235:
215:
173:
150:
127:
107:
63:
6139:"Currying != Generalized Partial Application?!"
2469:
to denote the subset of continuous functions. Here,
1171:
The originator of the word "currying" is not clear.
6624:
4658:, and the exponential object has the explicit form
4454:and the languages derived from and inspired by it:
1085:, to those arguments. The process can be iterated.
6682:Heim, Irene; Kratzer, Angelika (January 2, 1998).
6519:. Addison-Wesley Publishing Company. p. 144.
6491:(4). Boston: Kluwer Academic Publishers: 363–397.
6439:Proceedings of the ACM annual conference - ACM '72
6125:
6052:
5996:
5961:
5922:
5893:
5822:
5711:
5685:
5577:
5535:
5480:
5453:
5417:
5363:
5322:
5255:
5031:
5004:
4974:
4941:
4847:
4808:
4769:
4679:
4646:
4613:
4568:
4439:
4415:
4381:
4357:
4337:
4317:
4254:
4175:
4132:
4100:
4055:
3970:
3932:
3909:
3820:
3800:
3776:
3752:
3714:
3620:
3516:
3494:
3471:
3451:
3431:
3411:
3391:
3360:
3329:
3306:
3276:
3241:
3158:
3139:, or, equivalently, a single (continuous) path in
3131:
3111:
3091:
3032:
3012:
2988:
2968:
2939:
2825:
2798:
2778:
2751:
2677:
2653:
2633:
2613:
2583:
2483:
2461:
2434:
2414:
2386:
2317:
2280:
2247:
2215:
2184:
2122:
2102:
2082:
2062:
2022:
2002:
1976:
1939:
1919:
1895:
1856:
1825:
1782:
1762:
1742:
1722:
1699:
1637:
1611:
1591:
1567:
1513:
1463:
1443:
1423:
1403:
1379:
1359:
1335:
1309:
1277:
1257:
1237:
1213:
1077:
1057:
1037:
1017:
997:
972:
952:
875:
788:
758:
738:
718:
686:
599:
575:
534:
507:
487:
458:
431:
390:
370:
340:
320:
300:
274:
244:
221:
201:
159:
136:
113:
93:
6982:. IEEE Computer Society Press. pp. 415–425.
6625:Barendregt, Henk; Barendsen, Erik (March 2000) .
5616:1) is another function: the same as the function
3978:, one concludes that the type of curry itself is
3663:The notion of continuity makes its appearance in
7870:
6948:
5686:{\displaystyle f\colon (X\times Y\times Z)\to N}
5256:{\displaystyle f\colon (X\times Y\times Z)\to N}
4397:or arrow type. Similarly, the Cartesian product
2594:while uncurrying is the inverse map. If the set
1005:that takes as parameters the arguments for both
6614:. Cunningham & Cunningham, Inc. 6 May 2012.
6365:"Fundamental Concepts in Programming Languages"
1045:, and returns, as a result, the application of
904:, which underpins a vast generalization of the
209:The family is arranged so that for each object
6977:
6815:
6509:
6288:. Harvard University Press. pp. 355–357.
6162:"Partial Function Application is not Currying"
5155:. Such categories are suitable for describing
5139:. The internal language of such categories is
3092:{\displaystyle Z^{I\times Y}\cong (Z^{Y})^{I}}
2185:{\displaystyle A^{B\times C}\cong (A^{C})^{B}}
876:{\displaystyle {\mbox{apply}}:(\times X)\to .}
7239:
7057:
6926:The lambda calculus: its syntax and semantics
6314:"Ăśber die Bausteine der mathematischen Logik"
5064:The difference between these two is that the
1181:Fundamental Concepts in Programming Languages
698:Currying is related to, but not the same as,
7253:
6442:. Vol. 2. ACM Press. pp. 717–740.
1144:. In practice, the programming technique of
1140:Currying is related to, but not the same as
6949:Mac Lane, Saunders; Moerdijk, Ieke (1992).
6889:Rotman, Joseph Jonah (1988). "Chapter 11".
6867:"convenient category of topological spaces"
6681:
6662:
6308:
5418:{\displaystyle f_{\text{curried}}(1)(2)(3)}
4777:and the morphisms to an exponential object
3808:, and the function itself returns the type
687:{\displaystyle {\mbox{curry}}:\to (X\to ).}
7246:
7232:
7064:
7050:
6923:
6540:
6538:
6536:
6423:
6421:
6419:
6355:
6353:
6156:
6154:
6152:
5195:Contrast with partial function application
4248:
4244:
4220:
4213:
3760:, which should be understood to mean that
3722:taking two arguments, and having the type
3439:to the space of functions from loops into
911:The concept of currying was introduced by
6987:
6884:
6882:
6880:
6669:University of Nottingham Computer Science
6644:
6380:
6200:
6181:
6179:
3562:. Here, an interesting twist arises: the
23:. For the leather finishing process, see
6475:
6428:
6359:
6185:
6136:
4819:This generalizes to a broader result in
4770:{\displaystyle f\colon (X\times Y)\to Z}
3399:can be seen as the cartesian product of
1514:{\displaystyle f\colon (X\times Y)\to Z}
1160:, who used the concept extensively, but
6799:"compactly generated topological space"
6533:
6416:
6350:
6312:(September 1924) . Written at Moskau.
6276:
6274:
6272:
6247:
6245:
6149:
5578:{\displaystyle f_{\text{partial}}(2,3)}
1857:{\displaystyle \operatorname {apply} .}
960:whose return value is another function
7871:
6888:
6877:
6763:A concise course in algebraic topology
6755:
6753:
6725:
6176:
5068:for cartesian categories (such as the
3578:; this leads to the definition of the
308:itself becomes a function, that takes
7227:
7045:
7023:"Functional Programming in 5 Minutes"
6892:An introduction to algebraic topology
6544:
6485:Higher-Order and Symbolic Computation
6369:Higher-Order and Symbolic Computation
6280:
6251:
6172:from the original on 23 October 2016.
5454:{\displaystyle f_{\text{curried}}(1)}
4823:: Currying is the statement that the
4269:Curried functions may be used in any
3169:
1568:{\displaystyle g\colon X\to (Y\to Z)}
6269:
6242:
4654:. Distributive Heyting algebras are
1826:{\displaystyle {\text{curry}}(f)=g.}
7020:
6759:
6750:
6732:Computer Programming Language Forum
6330:(3–4). Berlin?: Springer: 305–316.
4066:The → operator is often considered
3178:, currying serves as an example of
766:together as arguments, and returns
101:that takes two arguments, one from
13:
7192:Category:Mathematical philosophers
5923:{\displaystyle {\text{curry}}_{1}}
5596:stands for the division operation
4911:
4908:
4905:
4876:
4873:
4870:
4809:{\displaystyle g\colon X\to Z^{Y}}
4694:
4665:
3652:; the Scott topology is typically
3486:
3383:
3352:
3321:
3230:
3203:
2332:
2248:{\displaystyle B\mapsto B\times C}
94:{\displaystyle f:(X\times Y)\to Z}
46:is the technique of translating a
14:
7900:
7071:
7037:
6738:from the original on 3 March 2022
3674:
3644:, which encompasses the study of
2837:, although there are more cases.
2387:{\displaystyle {\text{Hom}}(X,Y)}
432:{\displaystyle (X\times Y)\to Z.}
7206:
7205:
7196:
7195:
7186:
7185:
7157:
5114:functional programming languages
3971:{\displaystyle (X\times Y)\to Z}
3753:{\displaystyle (X\times Y)\to Z}
3589:
2349:, one is commonly interested in
466:belongs to the set of functions
398:belongs to the set of functions
7744:Enterprise Integration Patterns
7014:
6971:
6942:
6917:
6859:
6809:
6791:
6719:
6685:Semantics in Generative Grammar
6675:
6656:
6638:
6628:Introduction to Lambda Calculus
6618:
6597:
5012:becomes the exponential object
4423:of types is constructed by the
4070:, so the curried function type
2255:is left adjoint to the functor
1619:and returns a function of type
1094:
6825:Pacific Journal of Mathematics
6634:(Revised ed.). p. 8.
6503:
6436:. In Shields, Rosemary (ed.).
6302:
6047:
6035:
6026:
6014:
5991:
5979:
5956:
5944:
5888:
5882:
5879:
5873:
5849:
5842:
5817:
5811:
5808:
5802:
5799:
5793:
5790:
5784:
5773:
5767:
5764:
5758:
5755:
5746:
5739:
5731:
5677:
5674:
5656:
5572:
5560:
5527:
5524:
5512:
5506:
5500:
5448:
5442:
5412:
5406:
5403:
5397:
5394:
5388:
5358:
5340:
5317:
5314:
5308:
5302:
5299:
5293:
5290:
5281:
5275:
5247:
5244:
5226:
5005:{\displaystyle B\Rightarrow C}
4996:
4975:{\displaystyle B\Rightarrow C}
4966:
4933:
4927:
4915:
4898:
4880:
4793:
4761:
4758:
4746:
4638:
4563:
4560:
4554:
4548:
4545:
4539:
4536:
4533:
4527:
4524:
4512:
4509:
4376:
4318:{\displaystyle f\colon X\to Y}
4309:
4280:
4241:
4235:
4224:
4217:
4210:
4204:
4196:
4193:
4170:
4158:
4124:
4118:
4095:
4089:
4083:
4080:
4050:
4047:
4041:
4035:
4032:
4026:
4023:
4020:
4014:
4011:
3999:
3996:
3962:
3959:
3947:
3904:
3901:
3898:
3886:
3880:
3868:
3853:
3847:
3744:
3741:
3729:
3709:
3697:
3650:category of topological spaces
3632:when the lattice is given the
3621:{\displaystyle {\text{curry}}}
3517:{\displaystyle {\text{curry}}}
3307:{\displaystyle A\rightarrow B}
3298:
3271:
3259:
3236:
3221:
3215:
3200:
3190:; this is commonly written as
3080:
3066:
2930:
2924:
2918:
2915:
2903:
2891:
2740:
2726:
2723:
2575:
2572:
2560:
2546:
2538:
2535:
2517:
2484:{\displaystyle {\text{curry}}}
2381:
2369:
2281:{\displaystyle A\mapsto A^{C}}
2265:
2233:
2173:
2159:
2051:
2037:
1811:
1805:
1700:{\displaystyle g(x)(y)=f(x,y)}
1694:
1682:
1673:
1667:
1664:
1658:
1629:
1562:
1556:
1550:
1547:
1505:
1502:
1490:
1310:{\displaystyle f\colon X\to Y}
1301:
1205:
867:
861:
855:
852:
849:
840:
834:
831:
819:
816:
813:
719:{\displaystyle {\mbox{apply}}}
678:
675:
669:
663:
660:
654:
651:
648:
642:
639:
627:
624:
600:{\displaystyle {\mbox{curry}}}
567:
561:
555:
552:
476:
420:
417:
405:
301:{\displaystyle {\mbox{curry}}}
252:there is exactly one function
190:
85:
82:
70:
1:
6711:: CS1 maint: date and year (
6562:10.1016/S0049-237X(08)71254-0
6118:
6053:{\displaystyle g(y,x)=f(x,y)}
5930:curries f's first parameter.
5119:By contrast, the product for
4101:{\displaystyle X\to (Y\to Z)}
3376:. In essence, the suspension
2766:. This is also the case when
2621:of continuous functions from
2090:to the set of functions from
1977:{\displaystyle A^{B\times C}}
1867:
1285:is such a function, we write
1190:
1088:
202:{\displaystyle f_{x}:Y\to Z.}
6726:Turner, David (1 Jun 1997).
5466:partial function application
5090:Simply typed lambda calculus
4835:; that is, for every object
4680:{\displaystyle \neg P\lor Q}
4483:simply-typed lambda calculus
3681:theoretical computer science
1175:says the word was coined by
1106:typically be encountered in
980:, and yields a new function
898:theoretical computer science
7:
7837:Portland Pattern Repository
7102:Curry–Howard correspondence
7021:Lee, G. Kay (15 May 2013).
6610:Portland Pattern Repository
6262:Grundgesetze der arithmetik
6211:10.1007/978-3-642-12821-9_2
6066:
5161:Curry–Howard correspondence
4717:cartesian closed categories
4500:Curry–Howard correspondence
4488:Curry–Howard correspondence
4133:{\displaystyle X\to Y\to Z}
2063:{\displaystyle (A^{C})^{B}}
1387:respectively, that is, the
919:, and further developed by
906:Curry–Howard correspondence
10:
7905:
6605:"Currying Schonfinkelling"
6189:New Structures for Physics
6083:Closure (computer science)
5198:
5189:synchronization primitives
5187:are useful for describing
5084:; it is interpreted as an
4821:closed monoidal categories
3242:{\displaystyle \approxeq }
1907:of functions from the set
1599:takes an argument of type
1528:constructs a new function
1179:in his 1967 lecture notes
1151:
1116:closed monoidal categories
902:closed monoidal categories
495:Thus, something that maps
27:. For horse grooming, see
18:
7845:
7824:
7753:
7728:
7645:
7530:
7430:
7358:
7310:
7272:
7261:
7166:
7155:
7120:
7097:
7079:
6998:10.1109/LICS.2004.1319636
6004:may be defined such that
5213:Given a function of type
4416:{\displaystyle X\times Y}
3598:, that is, the theory of
2687:locally compact Hausdorff
2003:{\displaystyle B\times C}
1336:{\displaystyle X\times Y}
7462:Event-based asynchronous
7255:Software design patterns
6427:Originally published as
6137:cdiggins (24 May 2007).
6113:Closed monoidal category
5364:{\displaystyle f(1,2,3)}
5157:entangled quantum states
4493:
4289:, the general idea of a
3933:{\displaystyle \lambda }
3531:The duality between the
3495:{\displaystyle \Omega Z}
3392:{\displaystyle \Sigma X}
3361:{\displaystyle \Omega A}
3330:{\displaystyle \Sigma A}
2442:, and uses the notation
2201:adjoint pair of functors
144:and produces objects in
7368:Chain of responsibility
7202:Category:Mathematicians
6760:May, Jon Peter (1999).
6648:; Feys, Robert (1958).
6497:10.1023/A:1010027404223
6391:10.1023/A:1010000313106
5074:complete partial orders
4711:, and gives rise to an
4625:is normally written as
4440:{\displaystyle \times }
3671:from one to the other.
3535:and the mapping fiber (
1097:can only be applied to
488:{\displaystyle Y\to Z.}
7884:Functional programming
7879:Higher-order functions
7507:Scheduled-task pattern
7457:Double-checked locking
6837:10.2140/pjm.1980.88.35
6054:
5998:
5997:{\displaystyle g(y,x)}
5963:
5962:{\displaystyle f(x,y)}
5924:
5895:
5824:
5713:
5712:{\displaystyle a\in X}
5687:
5579:
5537:
5482:
5455:
5419:
5365:
5324:
5257:
5088:of items (or a list).
5033:
5006:
4976:
4943:
4849:
4810:
4771:
4719:. That is, there is a
4681:
4648:
4647:{\displaystyle P\to Q}
4615:
4570:
4441:
4417:
4383:
4359:
4339:
4319:
4256:
4177:
4176:{\displaystyle f(x,y)}
4134:
4102:
4057:
3972:
3934:
3911:
3828:. The curried form of
3822:
3802:
3778:
3754:
3716:
3715:{\displaystyle f(x,y)}
3646:denotational semantics
3622:
3604:partially ordered sets
3518:
3496:
3473:
3453:
3433:
3413:
3393:
3362:
3331:
3308:
3278:
3243:
3180:Eckmann–Hilton duality
3160:
3133:
3113:
3093:
3034:
3014:
2990:
2970:
2941:
2827:
2800:
2780:
2753:
2679:
2655:
2635:
2615:
2585:
2485:
2463:
2436:
2416:
2388:
2319:
2282:
2249:
2217:
2203:: for every fixed set
2186:
2124:
2104:
2084:
2064:
2024:
2004:
1978:
1941:
1921:
1903:is used to denote the
1897:
1858:
1827:
1784:
1764:
1744:
1724:
1701:
1639:
1638:{\displaystyle Y\to Z}
1613:
1593:
1569:
1515:
1465:
1445:
1425:
1405:
1381:
1361:
1337:
1311:
1279:
1259:
1239:
1215:
1214:{\displaystyle X\to Y}
1079:
1059:
1039:
1019:
999:
974:
954:
891:functional programming
877:
790:
789:{\displaystyle f_{x}.}
760:
740:
720:
688:
601:
577:
576:{\displaystyle X\to .}
536:
509:
489:
460:
433:
392:
372:
371:{\displaystyle f_{x}.}
342:
322:
302:
276:
275:{\displaystyle f_{x}.}
246:
223:
203:
161:
138:
115:
95:
7858:Architectural pattern
7761:Christopher Alexander
7122:Programming languages
6448:10.1145/800194.805852
6361:Strachey, Christopher
6323:Mathematische Annalen
6073:Tensor-hom adjunction
6055:
5999:
5964:
5925:
5896:
5825:
5714:
5688:
5580:
5538:
5483:
5456:
5420:
5366:
5325:
5258:
5210:is greater than two.
5034:
5032:{\displaystyle C^{B}}
5007:
4977:
4944:
4850:
4811:
4772:
4682:
4649:
4616:
4614:{\displaystyle Q^{P}}
4571:
4442:
4418:
4384:
4360:
4340:
4325:, the intent is that
4320:
4257:
4178:
4135:
4103:
4058:
3973:
3935:
3912:
3823:
3803:
3779:
3755:
3717:
3623:
3560:tensor-hom adjunction
3519:
3497:
3474:
3454:
3434:
3414:
3394:
3363:
3332:
3309:
3279:
3244:
3161:
3159:{\displaystyle Z^{Y}}
3134:
3114:
3094:
3035:
3020:is the unit interval
3015:
2991:
2971:
2969:{\displaystyle Y^{X}}
2942:
2828:
2826:{\displaystyle Y^{X}}
2801:
2781:
2754:
2680:
2663:compact-open topology
2656:
2636:
2616:
2614:{\displaystyle Y^{X}}
2586:
2486:
2464:
2462:{\displaystyle Y^{X}}
2437:
2417:
2389:
2320:
2318:{\displaystyle Y^{X}}
2283:
2250:
2218:
2187:
2125:
2105:
2085:
2065:
2025:
2005:
1979:
1942:
1922:
1898:
1896:{\displaystyle Y^{X}}
1859:
1828:
1790:. We then also write
1785:
1765:
1745:
1725:
1702:
1640:
1614:
1594:
1570:
1516:
1466:
1446:
1426:
1406:
1382:
1362:
1338:
1312:
1280:
1260:
1240:
1216:
1123:programming languages
1108:mathematical analysis
1095:analytical techniques
1080:
1060:
1040:
1020:
1000:
975:
955:
878:
791:
761:
741:
721:
689:
602:
578:
537:
535:{\displaystyle f_{x}}
510:
490:
461:
459:{\displaystyle f_{x}}
434:
393:
373:
343:
323:
303:
277:
247:
224:
204:
162:
139:
116:
96:
7670:Dependency injection
7627:Inversion of control
7622:Data transfer object
7522:Thread-local storage
7181:Open-source software
7090:computer programming
6008:
5973:
5938:
5905:
5834:
5723:
5697:
5647:
5547:
5492:
5472:
5429:
5375:
5334:
5267:
5263:, currying produces
5217:
5147:; the corresponding
5016:
4990:
4960:
4866:
4839:
4781:
4737:
4689:material implication
4662:
4632:
4627:material implication
4598:
4506:
4431:
4401:
4393:, specifically, the
4382:{\displaystyle \to }
4373:
4349:
4329:
4297:
4271:programming language
4190:
4152:
4144:is considered to be
4142:function application
4112:
4108:is often written as
4074:
3985:
3944:
3924:
3839:
3812:
3792:
3768:
3726:
3691:
3665:homotopy type theory
3610:
3506:
3483:
3463:
3443:
3423:
3403:
3380:
3349:
3318:
3292:
3256:
3197:
3143:
3123:
3103:
3044:
3024:
3004:
2980:
2976:is compact-open and
2953:
2858:
2810:
2790:
2770:
2696:
2669:
2645:
2625:
2598:
2501:
2473:
2446:
2426:
2406:
2361:
2351:continuous functions
2302:
2259:
2227:
2207:
2197:exponential notation
2137:
2114:
2094:
2074:
2034:
2014:
1988:
1955:
1931:
1911:
1880:
1845:
1797:
1774:
1754:
1734:
1714:
1652:
1623:
1603:
1583:
1535:
1481:
1455:
1435:
1415:
1395:
1371:
1351:
1321:
1289:
1269:
1249:
1229:
1199:
1177:Christopher Strachey
1112:computer programming
1069:
1049:
1029:
1009:
984:
964:
944:
800:
770:
750:
730:
726:that takes the pair
706:
611:
587:
583:With this notation,
546:
542:will be of the type
519:
499:
470:
443:
402:
382:
352:
332:
312:
288:
256:
233:
213:
171:
148:
125:
105:
61:
50:that takes multiple
7675:Intercepting filter
6238:on 5 December 2022.
5608:with the parameter
5201:Partial application
5133:functional analysis
5121:monoidal categories
5059:quantum computation
4857:natural isomorphism
4621:in the category of
4475:monoidal categories
3788:must have the type
3764:must have the type
3630:continuous function
3556:homological algebra
3188:reduced suspensions
2949:is continuous when
2835:compactly generated
2665:, and if the space
2343:functional analysis
1645:. It is defined by
1347:of the elements of
1142:partial application
935:defunctionalization
700:partial application
7832:The Hillside Group
7617:Data access object
7467:Guarded suspension
7452:Binding properties
7212:Category:Logicians
6336:10.1007/BF01448013
6310:Schönfinkel, Moses
6166:The Uncarved Block
6050:
5994:
5959:
5920:
5891:
5820:
5709:
5683:
5612:fixed at 1 (i.e.,
5575:
5533:
5478:
5451:
5415:
5361:
5320:
5253:
5181:linear type system
5173:algebraic topology
5153:linear type system
5029:
5002:
4972:
4939:
4845:
4806:
4767:
4709:exponential object
4705:universal property
4677:
4644:
4611:
4593:exponential object
4566:
4437:
4413:
4379:
4369:, while the arrow
4355:
4335:
4315:
4252:
4173:
4130:
4098:
4053:
3968:
3930:
3907:
3818:
3798:
3774:
3750:
3712:
3618:
3570:functor might not
3514:
3492:
3469:
3449:
3429:
3409:
3389:
3358:
3327:
3304:
3274:
3239:
3176:algebraic topology
3170:Algebraic topology
3156:
3129:
3109:
3089:
3030:
3010:
2986:
2966:
2937:
2935:
2823:
2796:
2776:
2749:
2675:
2651:
2631:
2611:
2581:
2481:
2459:
2432:
2412:
2384:
2355:topological spaces
2327:exponential object
2315:
2278:
2245:
2213:
2182:
2120:
2100:
2080:
2070:of functions from
2060:
2020:
2000:
1984:of functions from
1974:
1947:. Currying is the
1937:
1917:
1893:
1854:
1823:
1780:
1760:
1740:
1720:
1697:
1635:
1609:
1589:
1565:
1511:
1461:
1441:
1421:
1401:
1377:
1357:
1333:
1307:
1275:
1255:
1235:
1211:
1075:
1065:and subsequently,
1055:
1035:
1015:
998:{\displaystyle f'}
995:
970:
950:
873:
808:
786:
756:
736:
716:
714:
684:
619:
597:
595:
573:
532:
505:
485:
456:
429:
388:
368:
338:
318:
298:
296:
272:
245:{\displaystyle X,}
242:
219:
199:
160:{\displaystyle Z.}
157:
137:{\displaystyle Y,}
134:
111:
91:
7866:
7865:
7660:Business delegate
7592:Publish–subscribe
7426:
7425:
7221:
7220:
7153:
7152:
7007:978-0-7695-2192-3
6964:978-0-387-97710-2
6935:978-0-444-87508-2
6902:978-0-387-96678-6
6873:. 11 August 2023.
6650:Combinatory logic
6546:Curry, Haskell B.
6477:Reynolds, John C.
6432:(1 August 1972).
6430:Reynolds, John C.
6220:978-3-642-12821-9
6168:. 7 August 2020.
5912:
5865:
5840:
5782:
5737:
5729:
5557:
5498:
5481:{\displaystyle f}
5439:
5385:
5273:
5165:quantum mechanics
5094:internal language
5082:Cartesian product
4848:{\displaystyle B}
4479:internal language
4358:{\displaystyle Y}
4338:{\displaystyle X}
4233:
4202:
4183:is equivalent to
4068:right-associative
3991:
3845:
3821:{\displaystyle Z}
3801:{\displaystyle Y}
3777:{\displaystyle X}
3616:
3512:
3472:{\displaystyle X}
3452:{\displaystyle Z}
3432:{\displaystyle X}
3412:{\displaystyle X}
3132:{\displaystyle Z}
3112:{\displaystyle Y}
3033:{\displaystyle I}
3013:{\displaystyle X}
2989:{\displaystyle Y}
2870:
2799:{\displaystyle Y}
2779:{\displaystyle X}
2702:
2678:{\displaystyle Y}
2654:{\displaystyle Y}
2634:{\displaystyle X}
2558:
2544:
2515:
2507:
2479:
2435:{\displaystyle Y}
2415:{\displaystyle X}
2398:) for the set of
2367:
2337:In the theory of
2216:{\displaystyle C}
2123:{\displaystyle A}
2103:{\displaystyle C}
2083:{\displaystyle B}
2023:{\displaystyle A}
1949:natural bijection
1940:{\displaystyle Y}
1920:{\displaystyle X}
1803:
1783:{\displaystyle Y}
1763:{\displaystyle y}
1743:{\displaystyle X}
1723:{\displaystyle x}
1612:{\displaystyle X}
1592:{\displaystyle g}
1474:Given a function
1464:{\displaystyle Y}
1444:{\displaystyle X}
1424:{\displaystyle Y}
1404:{\displaystyle X}
1389:Cartesian product
1380:{\displaystyle Y}
1360:{\displaystyle X}
1278:{\displaystyle f}
1258:{\displaystyle Y}
1238:{\displaystyle X}
1162:Moses Schönfinkel
1078:{\displaystyle g}
1058:{\displaystyle f}
1038:{\displaystyle g}
1018:{\displaystyle f}
973:{\displaystyle g}
953:{\displaystyle f}
917:Moses Schönfinkel
807:
759:{\displaystyle x}
739:{\displaystyle f}
713:
618:
594:
508:{\displaystyle x}
391:{\displaystyle f}
341:{\displaystyle x}
321:{\displaystyle f}
295:
284:In this example,
222:{\displaystyle x}
114:{\displaystyle X}
7896:
7665:Composite entity
7542:Front controller
7282:Abstract factory
7270:
7269:
7248:
7241:
7234:
7225:
7224:
7209:
7208:
7199:
7198:
7189:
7188:
7161:
7095:
7094:
7066:
7059:
7052:
7043:
7042:
7031:
7030:
7018:
7012:
7011:
6991:
6989:quant-ph/0402130
6975:
6969:
6968:
6946:
6940:
6939:
6921:
6915:
6914:
6886:
6875:
6874:
6863:
6857:
6856:
6822:
6813:
6807:
6806:
6795:
6789:
6788:
6768:
6757:
6748:
6747:
6745:
6743:
6723:
6717:
6716:
6710:
6702:
6690:
6679:
6673:
6672:
6660:
6654:
6653:
6642:
6636:
6635:
6633:
6622:
6616:
6615:
6601:
6595:
6594:
6542:
6531:
6530:
6518:
6507:
6501:
6500:
6473:
6425:
6414:
6413:
6384:
6357:
6348:
6347:
6319:
6306:
6300:
6299:
6278:
6267:
6266:
6249:
6240:
6239:
6237:
6231:. Archived from
6204:
6194:
6183:
6174:
6173:
6158:
6147:
6146:
6134:
6106:
6105:
6104:
6101:
6095:
6092:
6059:
6057:
6056:
6051:
6003:
6001:
6000:
5995:
5968:
5966:
5965:
5960:
5929:
5927:
5926:
5921:
5919:
5918:
5913:
5910:
5900:
5898:
5897:
5892:
5872:
5871:
5866:
5863:
5857:
5856:
5841:
5838:
5829:
5827:
5826:
5821:
5783:
5780:
5754:
5753:
5738:
5735:
5730:
5727:
5718:
5716:
5715:
5710:
5692:
5690:
5689:
5684:
5639:
5584:
5582:
5581:
5576:
5559:
5558:
5555:
5542:
5540:
5539:
5534:
5499:
5496:
5487:
5485:
5484:
5479:
5460:
5458:
5457:
5452:
5441:
5440:
5437:
5424:
5422:
5421:
5416:
5387:
5386:
5383:
5370:
5368:
5367:
5362:
5329:
5327:
5326:
5321:
5274:
5271:
5262:
5260:
5259:
5254:
5078:Heyting algebras
5070:category of sets
5038:
5036:
5035:
5030:
5028:
5027:
5011:
5009:
5008:
5003:
4984:category of sets
4981:
4979:
4978:
4973:
4948:
4946:
4945:
4940:
4914:
4879:
4854:
4852:
4851:
4846:
4833:adjoint functors
4815:
4813:
4812:
4807:
4805:
4804:
4776:
4774:
4773:
4768:
4703:. Currying is a
4686:
4684:
4683:
4678:
4656:Boolean algebras
4653:
4651:
4650:
4645:
4623:Heyting algebras
4620:
4618:
4617:
4612:
4610:
4609:
4575:
4573:
4572:
4567:
4446:
4444:
4443:
4438:
4422:
4420:
4419:
4414:
4391:type constructor
4388:
4386:
4385:
4380:
4364:
4362:
4361:
4356:
4344:
4342:
4341:
4336:
4324:
4322:
4321:
4316:
4261:
4259:
4258:
4253:
4234:
4231:
4203:
4200:
4182:
4180:
4179:
4174:
4146:left-associative
4139:
4137:
4136:
4131:
4107:
4105:
4104:
4099:
4062:
4060:
4059:
4054:
3992:
3989:
3977:
3975:
3974:
3969:
3939:
3937:
3936:
3931:
3916:
3914:
3913:
3908:
3846:
3843:
3827:
3825:
3824:
3819:
3807:
3805:
3804:
3799:
3783:
3781:
3780:
3775:
3759:
3757:
3756:
3751:
3721:
3719:
3718:
3713:
3627:
3625:
3624:
3619:
3617:
3614:
3523:
3521:
3520:
3515:
3513:
3510:
3501:
3499:
3498:
3493:
3478:
3476:
3475:
3470:
3459:, that is, from
3458:
3456:
3455:
3450:
3438:
3436:
3435:
3430:
3418:
3416:
3415:
3410:
3398:
3396:
3395:
3390:
3367:
3365:
3364:
3359:
3336:
3334:
3333:
3328:
3313:
3311:
3310:
3305:
3286:homotopy classes
3283:
3281:
3280:
3277:{\displaystyle }
3275:
3248:
3246:
3245:
3240:
3165:
3163:
3162:
3157:
3155:
3154:
3138:
3136:
3135:
3130:
3118:
3116:
3115:
3110:
3098:
3096:
3095:
3090:
3088:
3087:
3078:
3077:
3062:
3061:
3039:
3037:
3036:
3031:
3019:
3017:
3016:
3011:
2995:
2993:
2992:
2987:
2975:
2973:
2972:
2967:
2965:
2964:
2946:
2944:
2943:
2938:
2936:
2901:
2900:
2884:
2883:
2871:
2868:
2865:
2864:
2832:
2830:
2829:
2824:
2822:
2821:
2805:
2803:
2802:
2797:
2785:
2783:
2782:
2777:
2758:
2756:
2755:
2750:
2748:
2747:
2738:
2737:
2722:
2721:
2703:
2700:
2684:
2682:
2681:
2676:
2660:
2658:
2657:
2652:
2640:
2638:
2637:
2632:
2620:
2618:
2617:
2612:
2610:
2609:
2590:
2588:
2587:
2582:
2559:
2556:
2545:
2542:
2516:
2513:
2508:
2505:
2490:
2488:
2487:
2482:
2480:
2477:
2468:
2466:
2465:
2460:
2458:
2457:
2441:
2439:
2438:
2433:
2421:
2419:
2418:
2413:
2393:
2391:
2390:
2385:
2368:
2365:
2324:
2322:
2321:
2316:
2314:
2313:
2293:category of sets
2287:
2285:
2284:
2279:
2277:
2276:
2254:
2252:
2251:
2246:
2222:
2220:
2219:
2214:
2191:
2189:
2188:
2183:
2181:
2180:
2171:
2170:
2155:
2154:
2129:
2127:
2126:
2121:
2109:
2107:
2106:
2101:
2089:
2087:
2086:
2081:
2069:
2067:
2066:
2061:
2059:
2058:
2049:
2048:
2029:
2027:
2026:
2021:
2009:
2007:
2006:
2001:
1983:
1981:
1980:
1975:
1973:
1972:
1951:between the set
1946:
1944:
1943:
1938:
1926:
1924:
1923:
1918:
1902:
1900:
1899:
1894:
1892:
1891:
1863:
1861:
1860:
1855:
1832:
1830:
1829:
1824:
1804:
1801:
1789:
1787:
1786:
1781:
1769:
1767:
1766:
1761:
1749:
1747:
1746:
1741:
1729:
1727:
1726:
1721:
1706:
1704:
1703:
1698:
1644:
1642:
1641:
1636:
1618:
1616:
1615:
1610:
1598:
1596:
1595:
1590:
1574:
1572:
1571:
1566:
1520:
1518:
1517:
1512:
1470:
1468:
1467:
1462:
1450:
1448:
1447:
1442:
1430:
1428:
1427:
1422:
1410:
1408:
1407:
1402:
1386:
1384:
1383:
1378:
1366:
1364:
1363:
1358:
1342:
1340:
1339:
1334:
1316:
1314:
1313:
1308:
1284:
1282:
1281:
1276:
1264:
1262:
1261:
1256:
1244:
1242:
1241:
1236:
1220:
1218:
1217:
1212:
1185:John C. Reynolds
1084:
1082:
1081:
1076:
1064:
1062:
1061:
1056:
1044:
1042:
1041:
1036:
1024:
1022:
1021:
1016:
1004:
1002:
1001:
996:
994:
979:
977:
976:
971:
959:
957:
956:
951:
882:
880:
879:
874:
809:
805:
795:
793:
792:
787:
782:
781:
765:
763:
762:
757:
745:
743:
742:
737:
725:
723:
722:
717:
715:
711:
693:
691:
690:
685:
620:
616:
606:
604:
603:
598:
596:
592:
582:
580:
579:
574:
541:
539:
538:
533:
531:
530:
514:
512:
511:
506:
494:
492:
491:
486:
465:
463:
462:
457:
455:
454:
438:
436:
435:
430:
397:
395:
394:
389:
377:
375:
374:
369:
364:
363:
347:
345:
344:
339:
327:
325:
324:
319:
307:
305:
304:
299:
297:
293:
281:
279:
278:
273:
268:
267:
251:
249:
248:
243:
228:
226:
225:
220:
208:
206:
205:
200:
183:
182:
166:
164:
163:
158:
143:
141:
140:
135:
120:
118:
117:
112:
100:
98:
97:
92:
40:computer science
7904:
7903:
7899:
7898:
7897:
7895:
7894:
7893:
7889:Lambda calculus
7869:
7868:
7867:
7862:
7841:
7820:
7811:Douglas Schmidt
7791:Ward Cunningham
7749:
7737:Design Patterns
7724:
7715:Method chaining
7647:
7641:
7602:Service locator
7533:
7526:
7497:Read–write lock
7433:
7422:
7413:Template method
7354:
7306:
7264:
7257:
7252:
7222:
7217:
7184:
7162:
7149:
7116:
7112:Curry's paradox
7088:
7075:
7070:
7040:
7035:
7034:
7019:
7015:
7008:
6976:
6972:
6965:
6947:
6943:
6936:
6922:
6918:
6903:
6887:
6878:
6865:
6864:
6860:
6820:
6814:
6810:
6797:
6796:
6792:
6777:
6766:
6758:
6751:
6741:
6739:
6724:
6720:
6704:
6703:
6699:
6688:
6680:
6676:
6661:
6657:
6643:
6639:
6631:
6623:
6619:
6603:
6602:
6598:
6572:
6543:
6534:
6527:
6516:
6508:
6504:
6474:Republished as
6458:
6426:
6417:
6382:10.1.1.332.3161
6363:(April 2000) .
6358:
6351:
6317:
6307:
6303:
6296:
6279:
6270:
6250:
6243:
6235:
6221:
6192:
6184:
6177:
6160:
6159:
6150:
6135:
6126:
6121:
6102:
6099:
6097:
6096:
6093:
6090:
6089:
6078:Lazy evaluation
6069:
6009:
6006:
6005:
5974:
5971:
5970:
5939:
5936:
5935:
5914:
5909:
5908:
5906:
5903:
5902:
5867:
5862:
5861:
5852:
5848:
5837:
5835:
5832:
5831:
5779:
5749:
5745:
5734:
5726:
5724:
5721:
5720:
5698:
5695:
5694:
5648:
5645:
5644:
5637:
5554:
5550:
5548:
5545:
5544:
5495:
5493:
5490:
5489:
5473:
5470:
5469:
5436:
5432:
5430:
5427:
5426:
5382:
5378:
5376:
5373:
5372:
5335:
5332:
5331:
5270:
5268:
5265:
5264:
5218:
5215:
5214:
5203:
5197:
5055:classical logic
5023:
5019:
5017:
5014:
5013:
4991:
4988:
4987:
4961:
4958:
4957:
4904:
4869:
4867:
4864:
4863:
4840:
4837:
4836:
4800:
4796:
4782:
4779:
4778:
4738:
4735:
4734:
4701:category theory
4697:
4695:Category theory
4663:
4660:
4659:
4633:
4630:
4629:
4605:
4601:
4599:
4596:
4595:
4576:(also known as
4507:
4504:
4503:
4496:
4471:category theory
4432:
4429:
4428:
4402:
4399:
4398:
4374:
4371:
4370:
4350:
4347:
4346:
4330:
4327:
4326:
4298:
4295:
4294:
4283:
4230:
4199:
4191:
4188:
4187:
4153:
4150:
4149:
4113:
4110:
4109:
4075:
4072:
4071:
3988:
3986:
3983:
3982:
3945:
3942:
3941:
3925:
3922:
3921:
3842:
3840:
3837:
3836:
3813:
3810:
3809:
3793:
3790:
3789:
3769:
3766:
3765:
3727:
3724:
3723:
3692:
3689:
3688:
3685:lambda calculus
3677:
3638:lambda calculus
3613:
3611:
3608:
3607:
3592:
3549:Puppe sequences
3526:adjoint functor
3509:
3507:
3504:
3503:
3484:
3481:
3480:
3464:
3461:
3460:
3444:
3441:
3440:
3424:
3421:
3420:
3404:
3401:
3400:
3381:
3378:
3377:
3350:
3347:
3346:
3319:
3316:
3315:
3293:
3290:
3289:
3257:
3254:
3253:
3198:
3195:
3194:
3172:
3150:
3146:
3144:
3141:
3140:
3124:
3121:
3120:
3104:
3101:
3100:
3083:
3079:
3073:
3069:
3051:
3047:
3045:
3042:
3041:
3025:
3022:
3021:
3005:
3002:
3001:
2981:
2978:
2977:
2960:
2956:
2954:
2951:
2950:
2934:
2933:
2898:
2897:
2879:
2875:
2867:
2861:
2859:
2856:
2855:
2846:application map
2817:
2813:
2811:
2808:
2807:
2791:
2788:
2787:
2771:
2768:
2767:
2743:
2739:
2733:
2729:
2711:
2707:
2699:
2697:
2694:
2693:
2670:
2667:
2666:
2646:
2643:
2642:
2626:
2623:
2622:
2605:
2601:
2599:
2596:
2595:
2555:
2541:
2512:
2504:
2502:
2499:
2498:
2476:
2474:
2471:
2470:
2453:
2449:
2447:
2444:
2443:
2427:
2424:
2423:
2407:
2404:
2403:
2402:functions from
2364:
2362:
2359:
2358:
2347:homotopy theory
2339:function spaces
2335:
2333:Function spaces
2309:
2305:
2303:
2300:
2299:
2272:
2268:
2260:
2257:
2256:
2228:
2225:
2224:
2208:
2205:
2204:
2176:
2172:
2166:
2162:
2144:
2140:
2138:
2135:
2134:
2115:
2112:
2111:
2095:
2092:
2091:
2075:
2072:
2071:
2054:
2050:
2044:
2040:
2035:
2032:
2031:
2015:
2012:
2011:
1989:
1986:
1985:
1962:
1958:
1956:
1953:
1952:
1932:
1929:
1928:
1912:
1909:
1908:
1887:
1883:
1881:
1878:
1877:
1876:, the notation
1870:
1846:
1843:
1842:
1800:
1798:
1795:
1794:
1775:
1772:
1771:
1755:
1752:
1751:
1735:
1732:
1731:
1715:
1712:
1711:
1653:
1650:
1649:
1624:
1621:
1620:
1604:
1601:
1600:
1584:
1581:
1580:
1536:
1533:
1532:
1482:
1479:
1478:
1456:
1453:
1452:
1436:
1433:
1432:
1416:
1413:
1412:
1396:
1393:
1392:
1372:
1369:
1368:
1352:
1349:
1348:
1322:
1319:
1318:
1290:
1287:
1286:
1270:
1267:
1266:
1250:
1247:
1246:
1230:
1227:
1226:
1200:
1197:
1196:
1193:
1154:
1135:lambda calculus
1091:
1070:
1067:
1066:
1050:
1047:
1046:
1030:
1027:
1026:
1010:
1007:
1006:
987:
985:
982:
981:
965:
962:
961:
945:
942:
941:
915:, developed by
803:
801:
798:
797:
777:
773:
771:
768:
767:
751:
748:
747:
731:
728:
727:
709:
707:
704:
703:
614:
612:
609:
608:
590:
588:
585:
584:
547:
544:
543:
526:
522:
520:
517:
516:
500:
497:
496:
471:
468:
467:
450:
446:
444:
441:
440:
403:
400:
399:
383:
380:
379:
359:
355:
353:
350:
349:
333:
330:
329:
313:
310:
309:
291:
289:
286:
285:
263:
259:
257:
254:
253:
234:
231:
230:
214:
211:
210:
178:
174:
172:
169:
168:
149:
146:
145:
126:
123:
122:
106:
103:
102:
62:
59:
58:
32:
17:
12:
11:
5:
7902:
7892:
7891:
7886:
7881:
7864:
7863:
7861:
7860:
7855:
7849:
7847:
7843:
7842:
7840:
7839:
7834:
7828:
7826:
7822:
7821:
7819:
7818:
7813:
7808:
7803:
7798:
7793:
7788:
7783:
7778:
7776:John Vlissides
7773:
7768:
7763:
7757:
7755:
7751:
7750:
7748:
7747:
7740:
7732:
7730:
7726:
7725:
7723:
7722:
7717:
7712:
7707:
7702:
7697:
7692:
7687:
7682:
7677:
7672:
7667:
7662:
7657:
7651:
7649:
7643:
7642:
7640:
7639:
7634:
7629:
7624:
7619:
7614:
7609:
7604:
7599:
7594:
7589:
7584:
7576:
7571:
7566:
7565:
7564:
7559:
7549:
7544:
7538:
7536:
7528:
7527:
7525:
7524:
7519:
7514:
7509:
7504:
7499:
7494:
7489:
7484:
7479:
7474:
7469:
7464:
7459:
7454:
7449:
7444:
7438:
7436:
7428:
7427:
7424:
7423:
7421:
7420:
7415:
7410:
7405:
7400:
7395:
7390:
7385:
7380:
7375:
7370:
7364:
7362:
7356:
7355:
7353:
7352:
7347:
7342:
7337:
7332:
7327:
7322:
7316:
7314:
7308:
7307:
7305:
7304:
7299:
7294:
7292:Factory method
7289:
7284:
7278:
7276:
7267:
7259:
7258:
7251:
7250:
7243:
7236:
7228:
7219:
7218:
7216:
7215:
7176:
7174:= discontinued
7167:
7164:
7163:
7156:
7154:
7151:
7150:
7148:
7147:
7141:
7135:
7126:
7124:
7118:
7117:
7115:
7114:
7109:
7104:
7098:
7092:
7077:
7076:
7069:
7068:
7061:
7054:
7046:
7039:
7038:External links
7036:
7033:
7032:
7013:
7006:
6970:
6963:
6941:
6934:
6916:
6901:
6876:
6858:
6808:
6805:. 28 May 2023.
6790:
6775:
6749:
6718:
6697:
6674:
6655:
6646:Curry, Haskell
6637:
6617:
6596:
6570:
6532:
6525:
6502:
6456:
6415:
6349:
6301:
6294:
6268:
6253:Frege, Gottlob
6241:
6219:
6175:
6148:
6123:
6122:
6120:
6117:
6116:
6115:
6110:
6085:
6080:
6075:
6068:
6065:
6049:
6046:
6043:
6040:
6037:
6034:
6031:
6028:
6025:
6022:
6019:
6016:
6013:
5993:
5990:
5987:
5984:
5981:
5978:
5958:
5955:
5952:
5949:
5946:
5943:
5917:
5890:
5887:
5884:
5881:
5878:
5875:
5870:
5860:
5855:
5851:
5847:
5844:
5819:
5816:
5813:
5810:
5807:
5804:
5801:
5798:
5795:
5792:
5789:
5786:
5778:
5775:
5772:
5769:
5766:
5763:
5760:
5757:
5752:
5748:
5744:
5741:
5733:
5708:
5705:
5702:
5682:
5679:
5676:
5673:
5670:
5667:
5664:
5661:
5658:
5655:
5652:
5574:
5571:
5568:
5565:
5562:
5553:
5532:
5529:
5526:
5523:
5520:
5517:
5514:
5511:
5508:
5505:
5502:
5477:
5450:
5447:
5444:
5435:
5414:
5411:
5408:
5405:
5402:
5399:
5396:
5393:
5390:
5381:
5360:
5357:
5354:
5351:
5348:
5345:
5342:
5339:
5319:
5316:
5313:
5310:
5307:
5304:
5301:
5298:
5295:
5292:
5289:
5286:
5283:
5280:
5277:
5252:
5249:
5246:
5243:
5240:
5237:
5234:
5231:
5228:
5225:
5222:
5199:Main article:
5196:
5193:
5137:tensor product
5080:) is just the
5026:
5022:
5001:
4998:
4995:
4971:
4968:
4965:
4950:
4949:
4938:
4935:
4932:
4929:
4926:
4923:
4920:
4917:
4913:
4910:
4907:
4903:
4900:
4897:
4894:
4891:
4888:
4885:
4882:
4878:
4875:
4872:
4844:
4825:tensor product
4803:
4799:
4795:
4792:
4789:
4786:
4766:
4763:
4760:
4757:
4754:
4751:
4748:
4745:
4742:
4732:binary product
4696:
4693:
4676:
4673:
4670:
4667:
4643:
4640:
4637:
4608:
4604:
4565:
4562:
4559:
4556:
4553:
4550:
4547:
4544:
4541:
4538:
4535:
4532:
4529:
4526:
4523:
4520:
4517:
4514:
4511:
4495:
4492:
4436:
4412:
4409:
4406:
4378:
4354:
4334:
4314:
4311:
4308:
4305:
4302:
4282:
4279:
4273:that supports
4264:
4263:
4251:
4247:
4243:
4240:
4237:
4229:
4226:
4223:
4219:
4216:
4212:
4209:
4206:
4198:
4195:
4172:
4169:
4166:
4163:
4160:
4157:
4140:. Conversely,
4129:
4126:
4123:
4120:
4117:
4097:
4094:
4091:
4088:
4085:
4082:
4079:
4064:
4063:
4052:
4049:
4046:
4043:
4040:
4037:
4034:
4031:
4028:
4025:
4022:
4019:
4016:
4013:
4010:
4007:
4004:
4001:
3998:
3995:
3967:
3964:
3961:
3958:
3955:
3952:
3949:
3929:
3918:
3917:
3906:
3903:
3900:
3897:
3894:
3891:
3888:
3885:
3882:
3879:
3876:
3873:
3870:
3867:
3864:
3861:
3858:
3855:
3852:
3849:
3832:is defined as
3817:
3797:
3773:
3749:
3746:
3743:
3740:
3737:
3734:
3731:
3711:
3708:
3705:
3702:
3699:
3696:
3676:
3675:Lambda calculi
3673:
3634:Scott topology
3591:
3588:
3576:exact sequence
3568:tensor product
3491:
3488:
3468:
3448:
3428:
3408:
3388:
3385:
3357:
3354:
3326:
3323:
3303:
3300:
3297:
3284:is the set of
3273:
3270:
3267:
3264:
3261:
3250:
3249:
3238:
3235:
3232:
3229:
3226:
3223:
3220:
3217:
3214:
3211:
3208:
3205:
3202:
3186:is adjoint to
3171:
3168:
3153:
3149:
3128:
3108:
3086:
3082:
3076:
3072:
3068:
3065:
3060:
3057:
3054:
3050:
3029:
3009:
2985:
2963:
2959:
2932:
2929:
2926:
2923:
2920:
2917:
2914:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2890:
2887:
2882:
2878:
2874:
2866:
2863:
2842:if and only if
2820:
2816:
2795:
2775:
2760:
2759:
2746:
2742:
2736:
2732:
2728:
2725:
2720:
2717:
2714:
2710:
2706:
2674:
2650:
2630:
2608:
2604:
2592:
2591:
2580:
2577:
2574:
2571:
2568:
2565:
2562:
2554:
2551:
2548:
2540:
2537:
2534:
2531:
2528:
2525:
2522:
2519:
2511:
2456:
2452:
2431:
2411:
2383:
2380:
2377:
2374:
2371:
2334:
2331:
2325:is called the
2312:
2308:
2275:
2271:
2267:
2264:
2244:
2241:
2238:
2235:
2232:
2223:, the functor
2212:
2193:
2192:
2179:
2175:
2169:
2165:
2161:
2158:
2153:
2150:
2147:
2143:
2130:. In symbols:
2119:
2099:
2079:
2057:
2053:
2047:
2043:
2039:
2030:, and the set
2019:
1999:
1996:
1993:
1971:
1968:
1965:
1961:
1936:
1916:
1890:
1886:
1869:
1866:
1853:
1850:
1834:
1833:
1822:
1819:
1816:
1813:
1810:
1807:
1779:
1759:
1739:
1719:
1708:
1707:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1634:
1631:
1628:
1608:
1588:
1577:
1576:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1523:
1522:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1460:
1440:
1420:
1400:
1376:
1356:
1332:
1329:
1326:
1306:
1303:
1300:
1297:
1294:
1274:
1254:
1234:
1210:
1207:
1204:
1192:
1189:
1153:
1150:
1090:
1087:
1074:
1054:
1034:
1014:
993:
990:
969:
949:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
785:
780:
776:
755:
735:
683:
680:
677:
674:
671:
668:
665:
662:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
572:
569:
566:
563:
560:
557:
554:
551:
529:
525:
504:
484:
481:
478:
475:
453:
449:
428:
425:
422:
419:
416:
413:
410:
407:
387:
367:
362:
358:
337:
317:
271:
266:
262:
241:
238:
218:
198:
195:
192:
189:
186:
181:
177:
156:
153:
133:
130:
110:
90:
87:
84:
81:
78:
75:
72:
69:
66:
15:
9:
6:
4:
3:
2:
7901:
7890:
7887:
7885:
7882:
7880:
7877:
7876:
7874:
7859:
7856:
7854:
7851:
7850:
7848:
7844:
7838:
7835:
7833:
7830:
7829:
7827:
7823:
7817:
7814:
7812:
7809:
7807:
7804:
7802:
7801:Robert Martin
7799:
7797:
7796:Martin Fowler
7794:
7792:
7789:
7787:
7784:
7782:
7779:
7777:
7774:
7772:
7771:Ralph Johnson
7769:
7767:
7764:
7762:
7759:
7758:
7756:
7752:
7746:
7745:
7741:
7739:
7738:
7734:
7733:
7731:
7727:
7721:
7718:
7716:
7713:
7711:
7708:
7706:
7703:
7701:
7698:
7696:
7693:
7691:
7688:
7686:
7683:
7681:
7678:
7676:
7673:
7671:
7668:
7666:
7663:
7661:
7658:
7656:
7653:
7652:
7650:
7644:
7638:
7635:
7633:
7630:
7628:
7625:
7623:
7620:
7618:
7615:
7613:
7610:
7608:
7607:Active record
7605:
7603:
7600:
7598:
7597:Naked objects
7595:
7593:
7590:
7588:
7587:Specification
7585:
7583:
7581:
7577:
7575:
7572:
7570:
7567:
7563:
7560:
7558:
7555:
7554:
7553:
7550:
7548:
7545:
7543:
7540:
7539:
7537:
7535:
7532:Architectural
7529:
7523:
7520:
7518:
7515:
7513:
7510:
7508:
7505:
7503:
7500:
7498:
7495:
7493:
7490:
7488:
7485:
7483:
7480:
7478:
7475:
7473:
7470:
7468:
7465:
7463:
7460:
7458:
7455:
7453:
7450:
7448:
7445:
7443:
7442:Active object
7440:
7439:
7437:
7435:
7429:
7419:
7416:
7414:
7411:
7409:
7406:
7404:
7401:
7399:
7396:
7394:
7391:
7389:
7386:
7384:
7381:
7379:
7376:
7374:
7371:
7369:
7366:
7365:
7363:
7361:
7357:
7351:
7348:
7346:
7343:
7341:
7338:
7336:
7333:
7331:
7328:
7326:
7323:
7321:
7318:
7317:
7315:
7313:
7309:
7303:
7300:
7298:
7295:
7293:
7290:
7288:
7285:
7283:
7280:
7279:
7277:
7275:
7271:
7268:
7266:
7260:
7256:
7249:
7244:
7242:
7237:
7235:
7230:
7229:
7226:
7214:
7213:
7204:
7203:
7194:
7193:
7183:
7182:
7177:
7175:
7172:
7169:
7168:
7165:
7160:
7145:
7142:
7139:
7136:
7133:
7132:
7128:
7127:
7125:
7123:
7119:
7113:
7110:
7108:
7105:
7103:
7100:
7099:
7096:
7093:
7091:
7086:
7082:
7078:
7074:
7073:Haskell Curry
7067:
7062:
7060:
7055:
7053:
7048:
7047:
7044:
7028:
7024:
7017:
7009:
7003:
6999:
6995:
6990:
6985:
6981:
6974:
6966:
6960:
6956:
6952:
6945:
6937:
6931:
6927:
6920:
6912:
6908:
6904:
6898:
6894:
6893:
6885:
6883:
6881:
6872:
6868:
6862:
6854:
6850:
6846:
6842:
6838:
6834:
6830:
6826:
6819:
6812:
6804:
6800:
6794:
6786:
6782:
6778:
6776:0-226-51183-9
6772:
6765:
6764:
6756:
6754:
6737:
6733:
6729:
6722:
6714:
6708:
6700:
6698:0-631-19712-5
6694:
6687:
6686:
6678:
6670:
6666:
6659:
6651:
6647:
6641:
6630:
6629:
6621:
6613:
6611:
6606:
6600:
6593:
6589:
6585:
6581:
6577:
6573:
6571:9780444853455
6567:
6563:
6559:
6555:
6551:
6547:
6541:
6539:
6537:
6528:
6526:0-201-65697-3
6522:
6515:
6514:
6506:
6498:
6494:
6490:
6486:
6482:
6478:
6472:
6467:
6463:
6459:
6457:9781450374927
6453:
6449:
6445:
6441:
6440:
6435:
6431:
6424:
6422:
6420:
6412:
6408:
6404:
6400:
6396:
6392:
6388:
6383:
6378:
6374:
6370:
6366:
6362:
6356:
6354:
6345:
6341:
6337:
6333:
6329:
6325:
6324:
6315:
6311:
6305:
6297:
6295:9780674324497
6291:
6287:
6283:
6277:
6275:
6273:
6264:
6263:
6258:
6254:
6248:
6246:
6234:
6230:
6226:
6222:
6216:
6212:
6208:
6203:
6198:
6191:
6190:
6182:
6180:
6171:
6167:
6163:
6157:
6155:
6153:
6144:
6140:
6133:
6131:
6129:
6124:
6114:
6111:
6109:
6107:
6086:
6084:
6081:
6079:
6076:
6074:
6071:
6070:
6064:
6061:
6044:
6041:
6038:
6032:
6029:
6023:
6020:
6017:
6011:
5988:
5985:
5982:
5976:
5969:, a function
5953:
5950:
5947:
5941:
5931:
5915:
5885:
5876:
5868:
5858:
5853:
5845:
5814:
5805:
5796:
5787:
5776:
5770:
5761:
5750:
5742:
5706:
5703:
5700:
5680:
5671:
5668:
5665:
5662:
5659:
5653:
5650:
5641:
5633:
5631:
5627:
5623:
5619:
5615:
5611:
5607:
5603:
5599:
5595:
5591:
5586:
5569:
5566:
5563:
5551:
5530:
5521:
5518:
5515:
5509:
5503:
5475:
5467:
5464:In contrast,
5462:
5445:
5433:
5409:
5400:
5391:
5379:
5355:
5352:
5349:
5346:
5343:
5337:
5311:
5305:
5296:
5287:
5284:
5278:
5250:
5241:
5238:
5235:
5232:
5229:
5223:
5220:
5211:
5209:
5202:
5192:
5190:
5186:
5182:
5178:
5177:string theory
5174:
5170:
5166:
5162:
5158:
5154:
5150:
5146:
5145:quantum logic
5142:
5138:
5134:
5130:
5129:vector spaces
5126:
5125:Hilbert space
5122:
5117:
5115:
5111:
5107:
5103:
5099:
5095:
5091:
5087:
5083:
5079:
5075:
5071:
5067:
5062:
5060:
5056:
5051:
5049:
5045:
5040:
5024:
5020:
4999:
4993:
4985:
4969:
4963:
4955:
4936:
4930:
4924:
4921:
4918:
4901:
4895:
4892:
4889:
4886:
4883:
4862:
4861:
4860:
4858:
4842:
4834:
4830:
4826:
4822:
4817:
4801:
4797:
4790:
4787:
4784:
4764:
4755:
4752:
4749:
4743:
4740:
4733:
4729:
4725:
4722:
4718:
4714:
4710:
4706:
4702:
4692:
4690:
4674:
4671:
4668:
4657:
4641:
4635:
4628:
4624:
4606:
4602:
4594:
4589:
4587:
4583:
4579:
4557:
4551:
4542:
4530:
4521:
4518:
4515:
4501:
4491:
4489:
4484:
4480:
4476:
4472:
4467:
4465:
4461:
4457:
4453:
4448:
4434:
4426:
4410:
4407:
4404:
4396:
4395:function type
4392:
4368:
4352:
4332:
4312:
4306:
4303:
4300:
4292:
4288:
4278:
4276:
4272:
4267:
4249:
4245:
4238:
4227:
4221:
4214:
4207:
4186:
4185:
4184:
4167:
4164:
4161:
4155:
4147:
4143:
4127:
4121:
4115:
4092:
4086:
4077:
4069:
4044:
4038:
4029:
4017:
4008:
4005:
4002:
3993:
3981:
3980:
3979:
3965:
3956:
3953:
3950:
3927:
3895:
3892:
3889:
3883:
3877:
3874:
3871:
3865:
3862:
3859:
3856:
3850:
3835:
3834:
3833:
3831:
3815:
3795:
3787:
3771:
3763:
3747:
3738:
3735:
3732:
3706:
3703:
3700:
3694:
3686:
3682:
3672:
3670:
3666:
3661:
3659:
3656:, and is not
3655:
3651:
3647:
3643:
3642:domain theory
3639:
3635:
3631:
3605:
3601:
3597:
3590:Domain theory
3587:
3585:
3581:
3577:
3573:
3569:
3565:
3561:
3557:
3552:
3550:
3546:
3542:
3538:
3534:
3529:
3527:
3489:
3466:
3446:
3426:
3406:
3386:
3375:
3371:
3355:
3344:
3340:
3324:
3301:
3295:
3287:
3268:
3265:
3262:
3233:
3227:
3224:
3218:
3212:
3209:
3206:
3193:
3192:
3191:
3189:
3185:
3181:
3177:
3167:
3151:
3147:
3126:
3106:
3084:
3074:
3070:
3063:
3058:
3055:
3052:
3048:
3027:
3007:
2999:
2983:
2961:
2957:
2947:
2927:
2921:
2912:
2909:
2906:
2894:
2888:
2885:
2880:
2876:
2872:
2853:
2851:
2847:
2843:
2838:
2836:
2818:
2814:
2793:
2773:
2765:
2764:homeomorphism
2744:
2734:
2730:
2718:
2715:
2712:
2708:
2704:
2692:
2691:
2690:
2688:
2672:
2664:
2661:is given the
2648:
2628:
2606:
2602:
2578:
2569:
2566:
2563:
2552:
2549:
2532:
2529:
2526:
2523:
2520:
2509:
2497:
2496:
2495:
2494:
2454:
2450:
2429:
2409:
2401:
2397:
2378:
2375:
2372:
2357:. One writes
2356:
2352:
2348:
2344:
2341:, such as in
2340:
2330:
2328:
2310:
2306:
2298:
2294:
2289:
2273:
2269:
2262:
2242:
2239:
2236:
2230:
2210:
2202:
2198:
2177:
2167:
2163:
2156:
2151:
2148:
2145:
2141:
2133:
2132:
2131:
2117:
2097:
2077:
2055:
2045:
2041:
2017:
1997:
1994:
1991:
1969:
1966:
1963:
1959:
1950:
1934:
1914:
1906:
1888:
1884:
1875:
1865:
1864:
1851:
1848:
1838:
1820:
1817:
1814:
1808:
1793:
1792:
1791:
1777:
1757:
1737:
1717:
1691:
1688:
1685:
1679:
1676:
1670:
1661:
1655:
1648:
1647:
1646:
1632:
1626:
1606:
1586:
1559:
1553:
1544:
1541:
1538:
1531:
1530:
1529:
1527:
1508:
1499:
1496:
1493:
1487:
1484:
1477:
1476:
1475:
1472:
1458:
1438:
1418:
1398:
1390:
1374:
1354:
1346:
1345:ordered pairs
1330:
1327:
1324:
1304:
1298:
1295:
1292:
1272:
1252:
1232:
1224:
1208:
1202:
1188:
1186:
1182:
1178:
1174:
1169:
1167:
1163:
1159:
1158:Haskell Curry
1149:
1147:
1143:
1138:
1136:
1132:
1128:
1124:
1119:
1117:
1113:
1109:
1104:
1100:
1096:
1086:
1072:
1052:
1032:
1012:
991:
988:
967:
947:
940:
937:. It takes a
936:
932:
928:
924:
922:
921:Haskell Curry
918:
914:
913:Gottlob Frege
909:
907:
903:
899:
895:
892:
887:
884:
870:
864:
858:
846:
843:
837:
828:
825:
822:
810:
783:
778:
774:
753:
733:
701:
696:
681:
672:
666:
657:
645:
636:
633:
630:
621:
570:
564:
558:
549:
527:
523:
502:
482:
479:
473:
451:
447:
426:
423:
414:
411:
408:
385:
365:
360:
356:
335:
315:
282:
269:
264:
260:
239:
236:
216:
196:
193:
187:
184:
179:
175:
154:
151:
131:
128:
121:and one from
108:
88:
79:
76:
73:
67:
64:
55:
53:
49:
45:
41:
37:
30:
26:
22:
7853:Anti-pattern
7816:Linda Rising
7742:
7735:
7680:Lazy loading
7612:Identity map
7579:
7263:Gang of Four
7210:
7200:
7190:
7178:
7173:
7170:
7129:
7106:
7026:
7016:
6979:
6973:
6954:
6944:
6925:
6919:
6891:
6870:
6861:
6828:
6824:
6811:
6802:
6793:
6762:
6740:. Retrieved
6731:
6721:
6684:
6677:
6668:
6658:
6649:
6640:
6627:
6620:
6608:
6599:
6591:
6553:
6549:
6512:
6505:
6488:
6484:
6469:
6438:
6410:
6372:
6368:
6327:
6321:
6304:
6285:
6282:Quine, W. V.
6261:
6233:the original
6188:
6165:
6142:
6088:
6062:
5932:
5642:
5634:
5629:
5625:
5621:
5617:
5613:
5609:
5605:
5601:
5597:
5593:
5587:
5465:
5463:
5212:
5204:
5185:linear logic
5143:, a form of
5141:linear logic
5118:
5086:ordered pair
5063:
5052:
5041:
4953:
4951:
4829:internal Hom
4818:
4726:between the
4698:
4590:
4586:product type
4497:
4468:
4449:
4427:constructor
4425:product type
4284:
4268:
4265:
4065:
3919:
3829:
3785:
3761:
3678:
3662:
3596:order theory
3593:
3553:
3547:and coexact
3533:mapping cone
3530:
3373:
3342:
3251:
3173:
3000:, i.e. when
2948:
2854:
2839:
2761:
2593:
2399:
2336:
2290:
2194:
1871:
1836:
1835:
1709:
1578:
1525:
1524:
1473:
1221:denotes all
1194:
1173:David Turner
1170:
1155:
1139:
1120:
1092:
926:
925:
910:
888:
885:
697:
283:
56:
43:
33:
7825:Communities
7806:Jim Coplien
7781:Grady Booch
7766:Erich Gamma
7710:Type tunnel
7695:Object pool
7690:Null object
7685:Mock object
7547:Interceptor
7517:Thread pool
7432:Concurrency
7378:Interpreter
7085:mathematics
5628:) = 1/
5149:type system
5102:type theory
4855:there is a
4724:isomorphism
4578:exportation
4291:type system
4287:type theory
4281:Type theory
3584:Tor functor
3580:Ext functor
3564:Hom functor
3537:cofibration
2396:Hom functor
1927:to the set
1343:denote the
439:Meanwhile,
36:mathematics
7873:Categories
7720:Delegation
7655:Blackboard
7360:Behavioral
7312:Structural
7274:Creational
6471:accurate.)
6119:References
5830:or simply
5169:cobordisms
4713:adjunction
4498:Under the
4477:, have an
4148:, so that
3669:refactored
3545:long exact
3370:loop space
3339:suspension
3184:loop space
3040:, so that
1874:set theory
1868:Set theory
1837:Uncurrying
1191:Definition
1089:Motivation
927:Uncurrying
7786:Kent Beck
7512:Semaphore
7502:Scheduler
7345:Flyweight
7335:Decorator
7330:Composite
7302:Singleton
7297:Prototype
7081:Namesakes
6853:0030-8730
6845:1945-5844
6707:cite book
6588:117179133
6580:0049-237X
6399:1573-0557
6377:CiteSeerX
6375:: 11–49.
6344:118507515
6229:115169297
6202:0903.0340
5704:∈
5678:→
5669:×
5663:×
5654::
5528:→
5519:×
5510::
5309:→
5300:→
5291:→
5285::
5248:→
5239:×
5233:×
5224::
5175:, and to
5135:) is the
5123:(such as
5112:and many
4997:⇒
4967:⇒
4928:⇒
4902:≅
4887:⊗
4794:→
4788::
4762:→
4753:×
4744::
4728:morphisms
4672:∨
4666:¬
4639:→
4555:→
4546:→
4537:⇔
4528:→
4519:∧
4435:×
4408:×
4377:→
4310:→
4304::
4125:→
4119:→
4090:→
4081:→
4042:→
4033:→
4024:→
4015:→
4006:×
3963:→
3954:×
3928:λ
3872:λ
3860:λ
3745:→
3736:×
3541:fibration
3487:Ω
3384:Σ
3353:Ω
3322:Σ
3299:→
3231:Ω
3219:≊
3204:Σ
3064:≅
3056:×
2919:↦
2892:→
2886:×
2724:→
2716:×
2539:→
2524:×
2493:bijection
2266:↦
2240:×
2234:↦
2157:≅
2149:×
1995:×
1967:×
1841:function
1630:→
1579:That is,
1557:→
1548:→
1542::
1506:→
1497:×
1488::
1328:×
1302:→
1296::
1223:functions
1206:→
1099:functions
894:languages
862:→
853:→
844:×
835:→
826:×
670:→
661:→
652:→
643:→
634:×
562:→
553:→
477:→
421:→
412:×
191:→
86:→
77:×
52:arguments
29:Currycomb
7846:See also
7648:patterns
7534:patterns
7487:Proactor
7434:patterns
7408:Strategy
7398:Observer
7388:Mediator
7383:Iterator
7265:patterns
7107:Currying
6911:17383909
6785:41266205
6736:Archived
6479:(1998).
6407:14124601
6255:(1893).
6170:Archived
6067:See also
5638:plus_one
5590:argument
5127:and the
5048:monoidal
4827:and the
4275:closures
3600:lattices
3582:and the
3566:and the
3288:of maps
2998:homotopy
2353:between
1770:of type
1730:of type
1526:currying
1431:. Here,
1146:closures
992:′
939:function
48:function
44:currying
7700:Servant
7632:Model 2
7492:Reactor
7482:Monitor
7447:Balking
7418:Visitor
7393:Memento
7373:Command
7320:Adapter
7287:Builder
7171:Italics
7144:Haskell
6742:3 March
6108:theorem
5839:partial
5736:partial
5604:, then
5556:partial
5497:partial
5438:curried
5384:curried
5151:is the
5100:in the
5092:is the
5066:product
4730:from a
4721:natural
4481:, with
4460:Haskell
3524:is the
3502:. Then
3368:is the
3337:is the
2689:, then
2491:is the
2291:In the
1152:History
1131:Haskell
929:is the
25:Currier
7754:People
7637:Broker
7340:Facade
7325:Bridge
7027:Slides
7004:
6961:
6932:
6909:
6899:
6851:
6843:
6783:
6773:
6695:
6586:
6578:
6568:
6523:
6466:163294
6464:
6454:
6405:
6397:
6379:
6342:
6292:
6257:"§ 36"
6227:
6217:
6103:
6094:
5901:where
5183:, and
5179:. The
5110:Scheme
5044:closed
4952:Here,
4707:of an
4582:tuples
4580:), as
4462:, and
3920:where
3574:to an
3345:, and
3314:, and
3252:where
2297:object
2295:, the
1317:. Let
1110:or in
7729:Books
7646:Other
7582:-tier
7403:State
7350:Proxy
7138:Curry
7131:Brook
6984:arXiv
6841:eISSN
6821:(PDF)
6767:(PDF)
6689:(PDF)
6632:(PDF)
6584:S2CID
6517:(PDF)
6462:S2CID
6403:S2CID
6340:S2CID
6318:(PDF)
6236:(PDF)
6225:S2CID
6197:arXiv
6193:(PDF)
5911:curry
5864:curry
5781:curry
5728:curry
5719:then
5272:curry
5208:arity
5167:, to
5098:types
4494:Logic
4389:is a
4367:types
4232:curry
4201:curry
3990:curry
3844:curry
3658:sober
3654:finer
3628:is a
3615:curry
3511:curry
3479:into
2762:is a
2701:curry
2506:curry
2478:curry
2394:(the
1849:apply
1802:curry
1265:. If
1225:from
1166:Frege
1121:Some
1103:Frege
806:apply
712:apply
617:curry
593:curry
294:curry
21:Curry
7705:Twin
7562:MVVM
7477:Lock
7472:Join
7179:° =
7002:ISBN
6959:ISBN
6930:ISBN
6907:OCLC
6897:ISBN
6871:nLab
6849:ISSN
6803:nLab
6781:OCLC
6771:ISBN
6744:2022
6713:link
6693:ISBN
6612:Wiki
6576:ISSN
6566:ISBN
6521:ISBN
6452:ISBN
6395:ISSN
6290:ISBN
6215:ISBN
5693:and
5106:LISP
4831:are
4591:The
4456:Caml
4365:are
4345:and
3572:lift
3539:and
2869:eval
2850:eval
2833:are
2806:and
1750:and
1710:for
1451:and
1411:and
1367:and
1129:and
1025:and
931:dual
746:and
38:and
7574:ECS
7569:ADR
7557:MVP
7552:MVC
6994:doi
6833:doi
6558:doi
6554:101
6493:doi
6444:doi
6387:doi
6332:doi
6207:doi
5622:inv
5618:inv
5614:div
5606:div
5594:div
5171:in
5163:to
5131:of
5104:of
5076:or
4954:Hom
4715:in
4285:In
3679:In
3602:of
3594:In
3554:In
3372:of
3341:of
3174:In
3119:to
2685:is
2641:to
2557:Hom
2543:Hom
2514:Hom
2422:to
2400:all
2366:Hom
2345:or
2110:to
2010:to
1905:set
1872:In
1391:of
1245:to
515:to
348:to
229:in
34:In
7875::
7083::
7025:.
7000:.
6992:.
6953:.
6905:.
6879:^
6869:.
6847:.
6839:.
6829:88
6827:.
6823:.
6801:.
6779:.
6752:^
6734:.
6730:.
6709:}}
6705:{{
6667:.
6607:.
6590:.
6582:.
6574:.
6564:.
6535:^
6489:11
6487:.
6483:.
6468:.
6460:.
6450:.
6418:^
6409:.
6401:.
6393:.
6385:.
6373:13
6371:.
6367:.
6352:^
6338:.
6328:92
6326:.
6320:.
6271:^
6259:.
6244:^
6223:.
6213:.
6205:.
6178:^
6164:.
6151:^
6141:.
6127:^
5632:.
5116:.
5108:,
5072:,
5061:.
5039:.
4859::
4816:.
4691:.
4466:.
4464:F#
4458:,
4452:ML
4447:.
3784:,
3660:.
3606:,
3586:.
3551:.
3166:.
2786:,
2329:.
2288:.
1168:.
1127:ML
1118:.
923:.
42:,
7580:n
7247:e
7240:t
7233:v
7146:°
7140:°
7134:°
7087:,
7065:e
7058:t
7051:v
7029:.
7010:.
6996::
6986::
6967:.
6938:.
6913:.
6855:.
6835::
6787:.
6746:.
6715:)
6701:.
6671:.
6560::
6529:.
6495::
6446::
6389::
6346:.
6334::
6298:.
6209::
6199::
6145:.
6100:n
6098:m
6091:S
6048:)
6045:y
6042:,
6039:x
6036:(
6033:f
6030:=
6027:)
6024:x
6021:,
6018:y
6015:(
6012:g
5992:)
5989:x
5986:,
5983:y
5980:(
5977:g
5957:)
5954:y
5951:,
5948:x
5945:(
5942:f
5916:1
5889:)
5886:a
5883:(
5880:)
5877:f
5874:(
5869:1
5859:=
5854:a
5850:)
5846:f
5843:(
5818:)
5815:z
5812:(
5809:)
5806:y
5803:(
5800:)
5797:a
5794:(
5791:)
5788:f
5785:(
5777:=
5774:)
5771:z
5768:(
5765:)
5762:y
5759:(
5756:)
5751:a
5747:)
5743:f
5740:(
5732:(
5707:X
5701:a
5681:N
5675:)
5672:Z
5666:Y
5660:X
5657:(
5651:f
5630:y
5626:y
5624:(
5610:x
5602:y
5600:/
5598:x
5573:)
5570:3
5567:,
5564:2
5561:(
5552:f
5531:N
5525:)
5522:Z
5516:Y
5513:(
5507:)
5504:f
5501:(
5476:f
5449:)
5446:1
5443:(
5434:f
5413:)
5410:3
5407:(
5404:)
5401:2
5398:(
5395:)
5392:1
5389:(
5380:f
5359:)
5356:3
5353:,
5350:2
5347:,
5344:1
5341:(
5338:f
5318:)
5315:)
5312:N
5306:Z
5303:(
5297:Y
5294:(
5288:X
5282:)
5279:f
5276:(
5251:N
5245:)
5242:Z
5236:Y
5230:X
5227:(
5221:f
5025:B
5021:C
5000:C
4994:B
4970:C
4964:B
4937:.
4934:)
4931:C
4925:B
4922:,
4919:A
4916:(
4912:m
4909:o
4906:H
4899:)
4896:C
4893:,
4890:B
4884:A
4881:(
4877:m
4874:o
4871:H
4843:B
4802:Y
4798:Z
4791:X
4785:g
4765:Z
4759:)
4756:Y
4750:X
4747:(
4741:f
4675:Q
4669:P
4642:Q
4636:P
4607:P
4603:Q
4584:(
4564:)
4561:)
4558:C
4552:B
4549:(
4543:A
4540:(
4534:)
4531:C
4525:)
4522:B
4516:A
4513:(
4510:(
4411:Y
4405:X
4353:Y
4333:X
4313:Y
4307:X
4301:f
4262:.
4250:y
4246:x
4242:)
4239:f
4236:(
4228:=
4225:)
4222:y
4218:)
4215:x
4211:)
4208:f
4205:(
4197:(
4194:(
4171:)
4168:y
4165:,
4162:x
4159:(
4156:f
4128:Z
4122:Y
4116:X
4096:)
4093:Z
4087:Y
4084:(
4078:X
4051:)
4048:)
4045:Z
4039:Y
4036:(
4030:X
4027:(
4021:)
4018:Z
4012:)
4009:Y
4003:X
4000:(
3997:(
3994::
3966:Z
3960:)
3957:Y
3951:X
3948:(
3905:)
3902:)
3899:)
3896:y
3893:,
3890:x
3887:(
3884:f
3881:(
3878:.
3875:y
3869:(
3866:.
3863:x
3857:=
3854:)
3851:f
3848:(
3830:f
3816:Z
3796:Y
3786:y
3772:X
3762:x
3748:Z
3742:)
3739:Y
3733:X
3730:(
3710:)
3707:y
3704:,
3701:x
3698:(
3695:f
3490:Z
3467:X
3447:Z
3427:X
3407:X
3387:X
3374:A
3356:A
3343:A
3325:A
3302:B
3296:A
3272:]
3269:B
3266:,
3263:A
3260:[
3237:]
3234:Z
3228:,
3225:X
3222:[
3216:]
3213:Z
3210:,
3207:X
3201:[
3152:Y
3148:Z
3127:Z
3107:Y
3085:I
3081:)
3075:Y
3071:Z
3067:(
3059:Y
3053:I
3049:Z
3028:I
3008:X
2984:Y
2962:X
2958:Y
2931:)
2928:x
2925:(
2922:f
2916:)
2913:x
2910:,
2907:f
2904:(
2895:Y
2889:X
2881:X
2877:Y
2873::
2819:X
2815:Y
2794:Y
2774:X
2745:X
2741:)
2735:Y
2731:Z
2727:(
2719:Y
2713:X
2709:Z
2705::
2673:Y
2649:Y
2629:X
2607:X
2603:Y
2579:,
2576:)
2573:)
2570:Z
2567:,
2564:Y
2561:(
2553:,
2550:X
2547:(
2536:)
2533:Z
2530:,
2527:Y
2521:X
2518:(
2510::
2455:X
2451:Y
2430:Y
2410:X
2382:)
2379:Y
2376:,
2373:X
2370:(
2311:X
2307:Y
2274:C
2270:A
2263:A
2243:C
2237:B
2231:B
2211:C
2178:B
2174:)
2168:C
2164:A
2160:(
2152:C
2146:B
2142:A
2118:A
2098:C
2078:B
2056:B
2052:)
2046:C
2042:A
2038:(
2018:A
1998:C
1992:B
1970:C
1964:B
1960:A
1935:Y
1915:X
1889:X
1885:Y
1852:.
1821:.
1818:g
1815:=
1812:)
1809:f
1806:(
1778:Y
1758:y
1738:X
1718:x
1695:)
1692:y
1689:,
1686:x
1683:(
1680:f
1677:=
1674:)
1671:y
1668:(
1665:)
1662:x
1659:(
1656:g
1633:Z
1627:Y
1607:X
1587:g
1575:.
1563:)
1560:Z
1554:Y
1551:(
1545:X
1539:g
1521:,
1509:Z
1503:)
1500:Y
1494:X
1491:(
1485:f
1459:Y
1439:X
1419:Y
1399:X
1375:Y
1355:X
1331:Y
1325:X
1305:Y
1299:X
1293:f
1273:f
1253:Y
1233:X
1209:Y
1203:X
1073:g
1053:f
1033:g
1013:f
989:f
968:g
948:f
871:.
868:]
865:Z
859:Y
856:[
850:)
847:X
841:]
838:Z
832:)
829:Y
823:X
820:(
817:[
814:(
811::
784:.
779:x
775:f
754:x
734:f
682:.
679:)
676:]
673:Z
667:Y
664:[
658:X
655:(
649:]
646:Z
640:)
637:Y
631:X
628:(
625:[
622::
571:.
568:]
565:Z
559:Y
556:[
550:X
528:x
524:f
503:x
483:.
480:Z
474:Y
452:x
448:f
427:.
424:Z
418:)
415:Y
409:X
406:(
386:f
366:.
361:x
357:f
336:x
316:f
270:.
265:x
261:f
240:,
237:X
217:x
197:.
194:Z
188:Y
185::
180:x
176:f
155:.
152:Z
132:,
129:Y
109:X
89:Z
83:)
80:Y
74:X
71:(
68::
65:f
31:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.