Knowledge

Function object

Source 📝

6452:, several objects can be considered function objects, in particular Method and Proc objects. Ruby also has two kinds of objects that can be thought of as semi-function objects: UnboundMethod and block. UnboundMethods must first be bound to an object (thus becoming a Method) before they can be used as a function object. Blocks can be called like function objects, but to be used in any other capacity as an object (e.g. passed as an argument) they must first be converted to a Proc. More recently, symbols (accessed via the literal unary indicator 36: 4502:
Many uses of functors in languages like C++ are simply emulations of the missing closure constructor. Since the programmer cannot directly construct a closure, they must define a class that has all of the necessary state variables, and also a member function. Then, construct an instance of that class
4944:
that object's functional purpose, and even eliminate its name so that it looks like the object is being called! While programmers who use closures are not surprised that an object is called like a function, they discover that multiple closures sharing the same environment can provide a complete set
2991:
mechanism facilitates the modeling of operations as runtime objects. Agents satisfy the range of application attributed to function objects, such as being passed as arguments in procedural calls or specified as callback routines. The design of the agent mechanism in Eiffel attempts to reflect the
710:
function is identical, but an object is passed instead of a function pointer. When invoked, the callback function is executed just as any other member function, and therefore has full access to the other members (data or functions) of the object. Of course, this is just a trivial example. To
4681:
Since there is no standard way to make funcallable objects in Common Lisp, we fake it by defining a generic function called FUNCTOR-CALL. This can be specialized for any class whatsoever. The standard FUNCALL function is not generic; it only takes function objects.
711:
understand what power a functor provides more than a regular function, consider the common use case of sorting objects by a particular field. In the following example, a functor is used to sort a simple employee database by each employee's ID number.
180:. However it can be difficult or awkward to pass a state into or out of the callback function. This restriction also inhibits more dynamic behavior of the function. A function object solves those problems since the function is really a 4928:
More than one closure can be created in the same lexical environment. A vector of closures, each implementing a specific kind of operation, can quite faithfully emulate an object that has a set of virtual operations. That type of
3183:
The ability to close or leave open targets and arguments is intended to improve the flexibility of the agent mechanism. Consider a class that contains the following procedure to print a string on standard output after a new line:
6930:
PHP 5.3, along with many other features, introduced closures. So now we can finally do all the cool stuff that Ruby / Groovy / Scala / any_modern_language guys can do, right? Well, we can, but we probably won't… Here's
3011:
allows agents to be constructed in a compact form. In the following example, the goal is to add the action of stepping the gauge forward to the list of actions to be executed in the event that a button is clicked.
5999:
language, a script block is a collection of statements or expressions that can be used as a single unit. A script block can accept arguments and return values. A script block is an instance of a Microsoft
4503:
instead, ensuring that all the member variables are initialized through its constructor. The values are derived precisely from those local variables that ought to be captured directly by a closure.
3165:. Closed arguments and targets are given values at agent creation time. The assignment of values for open arguments and targets is deferred until some point after the agent is created. The routine 4468:
from a part of the program: the part of code given as an argument to the operator is part of the function, and so is the lexical environment: the bindings of the lexically visible variables are
2992:
object-oriented nature of the method and language. An agent is an object that generally is a direct instance of one of the two library classes, which model the two types of routines in Eiffel:
4100:, methods are associated with types, so it is possible to make any arbitrary Julia object "callable" by adding methods to its type. (Such "callable" objects are sometimes called "functors.") 4965:
class. Construction of a function object requires a method signature, the target object, and the target selector. Here is an example for creating an invocation to the current object's
4697:
objects as a simple extension. Making objects callable using the same syntax as functions is a fairly trivial business. Making a function call operator work with different kinds of
4701:, whether they be class objects or closures is no more complicated than making a + operator that works with different kinds of numbers, such as integers, reals or complex numbers. 251:
Consider the example of a sorting routine that uses a callback function to define an ordering relation between a pair of items. The following C/C++ program uses function pointers:
4936:
Thus there exists a kind of tunnel being dug from both sides of the proverbial mountain. Programmers in OOP languages discover function objects by restricting objects to have one
3063:
In other library classes, agents are seen to be used for different purposes. In a library supporting data structures, for example, a class modeling linear structures effects
3469:
and a functor whose role is to compare objects in the List. Without first-class functions, the function is part of the Comparator interface. This could be used as follows.
3375:
Open and closed arguments and targets also allow the use of routines that call for more arguments than are required by closing all but the necessary number of arguments:
6156:, functions are first-class objects, just like strings, numbers, lists etc. This feature eliminates the need to write a function object in many cases. Any object with a 6751:
from modules to modules, or from types to types and is a technique for reusing code. Functors used in this manner are analogous to the original mathematical meaning of
6473: 3176:
When the target of an agent is left open, the class name of the expected target, enclosed in braces, is substituted for an object reference as shown in the text
7072: 6379:
Since functions are objects, they can also be defined locally, given attributes, and returned by other functions, as demonstrated in the following example:
1352:
as the type it is converted to. Modifying an earlier example to use this we obtain the following class, whose instances can be called like function pointers:
239:, i.e. first-class functions that can 'close over' variables in their surrounding environment at creation time. During compilation, a transformation known as 5067:, a function object can be created either from a class's constructor returning a function closed over the object's instance data, blessed into the class: 148:, usually with the same syntax (a function parameter that can also be a function). In some languages, particularly C++, function objects are often called 7077: 3169:
expects as an argument an agent representing a function with one open argument or target that conforms to actual generic parameter for the structure (
3364:
iterates across the structure executing the routine substituting the current item for either the open argument (in the case of the agents based on
6476: 7038: 1321:
In addition to class type functors, other kinds of function objects are also possible in C++. They can take advantage of C++'s member-pointer or
2594:
in D is automatically and conservatively determined by the compiler. D also supports function literals, that allow a lambda-style definition:
4687:
a computer programming construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax.
6578: 6919:"C++ Tutorial Part I - Basic: 5.10 Function pointers are mainly used to achieve call back technique, which will be discussed right after" 6894:"C++ Tutorial Part I - Basic: 5.10 Function pointers are mainly used to achieve call back technique, which will be discussed right after" 3180:
in the example above. When an argument is left open, the question mark character ('?') is coded as a placeholder for the open argument.
7058: 1340:
Another way to create a function object in C++ is to define a non-explicit conversion function to a function pointer type, a function
3157:
When agents are created, the arguments to the routines they model and even the target object to which they are applied can be either
6582:
Because of the variety of forms, the term Functor is not generally used in Ruby to mean a Function object. Just a type of dispatch
1330: 4704:
Now, a counter implemented using a closure. This is much more brief and direct. The INITIAL-VALUE argument of the MAKE-COUNTER
4464:, and others, functions are objects, just like strings, vectors, lists, and numbers. A closure-constructing operator creates a 100: 4816:
Scheme makes closures even simpler, and Scheme code tends to use such higher-order programming somewhat more idiomatically.
72: 6943: 4708:
is captured and used directly. It does not have to be copied into some auxiliary class object through a constructor. It
1270:
It is possible to use function objects in situations other than as callback functions. In this case, the shortened term
7093: 79: 7017: 6164: 4104: 119: 2988: 2987:
software development method and language, operations and objects are seen always as separate concepts. However, the
6772: 153: 53: 24: 86: 6993: 6767: 3056:
referenced in the example above is a feature of a class in a graphical user interface (GUI) library to provide
1974: 57: 5875:
It is also possible in PHP 5.3+ to make objects invokable by adding a magic __invoke() method to their class:
3240:
to demonstrate the mixing of open arguments and open targets in agents used as arguments to the same routine.
6153: 5047:
can be created and then called for each of any number of targets, for instance from an observable object. An
4461: 2984: 216: 196: 192: 19:
This article is about the computer programming concept of function objects. For functors in mathematics, see
68: 4097: 2694:
To allow the compiler to inline the code (see above), function objects can also be specified C++-style via
1612: 224: 6587: 6804: 6449: 3439: 220: 200: 165: 3428: 6809: 6760: 4473: 2591: 2353: 236: 7035: 6905:
Function pointers are mainly used to achieve call back technique, which will be discussed right after.
3350:
for linear structures, which executes the routine modeled by an agent for each item in the structure.
6736: 6709: 1334: 141: 6880: 3446:, so function objects are usually expressed by an interface with a single method (most commonly the 6583: 3064: 3057: 2349: 173: 1329:
techniques to be used, such as defining function objects in terms of other function objects (like
6971: 4495:
part allows an interface to be declared, so that the function takes the declared parameters. The
46: 6724:
may be considered to be any instance of the class of functions, especially in languages such as
6748: 6740: 1326: 500: 495:
In C++, a function object may be used instead of an ordinary function by defining a class that
364:// void qsort(void *base, size_t nel, size_t width, int (*compar)(const void *, const void *)); 232: 169: 6819: 93: 5052: 262:/* qsort() callback function, returns < 0 if a < b, > 0 if a > b, 0 if a == b */ 7098: 5593: 3443: 2695: 1982: 496: 228: 133: 5382:
In both cases the function object can be used either using the dereferencing arrow syntax
8: 1322: 6918: 6893: 1607:
Another advantage of function objects is their ability to maintain a state that affects
1344:
type, or a reference to function pointer type. Assuming the conversion does not discard
6729: 5996: 3455: 1349: 7013: 1341: 6814: 4705: 4685:
It is this FUNCTOR-CALL generic function that gives us function objects, which are
177: 7042: 6824: 6792: 6756: 4946: 4930: 6708:
This usage is more akin to that used by functional programming languages, like
6001: 2587: 2357: 1978: 1345: 240: 181: 7087: 7046: 4506:
A function-object using the class system in Common Lisp, no use of closures:
4499:
part consists of expressions that are evaluated when the functor is called.
1348:, this allows an object of that type to be used as a function with the same 6856:
is a special case of a functionoid. They are similar to a function object,
1106:, the lambda expression provides a more succinct way to do the same thing. 7062: 6725: 6469: 4958: 4457: 3451: 2352:
provides several ways to declare function objects: Lisp/Python-style via
6982: 6960: 5051:
can be created from only a protocol, but it is not straightforward. See
3873:, functions are first class objects. JavaScript also supports closures. 7030: 3870: 145: 7051: 4693:
the same syntax: FUNCTOR-CALL instead of FUNCALL. Some Lisps provide
204: 6590:
project is named as Functor. The most basic definition of which is:
6577:
was officially added to Ruby on June 11, 2006 during RubyKaigi2006.
35: 6829: 5043:
is that the target object can be modified after creation. A single
4472:
and stored in the function object, which is more commonly called a
1357:// comparator predicate: returns true if a < b, false otherwise 512:// comparator predicate: returns true if a < b, false otherwise 6752: 3450:
interface), typically with the implementation being an anonymous
3357:, converts the strings to lowercase, and then prints them again. 1103: 20: 6784: 6276:
An example of this in use (using the interactive interpreter):
7067: 4712:
the counter. An auxiliary object is created, but that happens
4933:
object-oriented programming can be done fully with closures.
3236:
The following snippet, assumed to be in the same class, uses
188: 5596:
that can be used e.g. as parameter to the usort() function:
1841:
In C++14 or later, the example above could be rewritten as:
5064: 4285:
Such an accumulator can also be implemented using closure:
208: 7020:: Specifically, chapter 22 is devoted to function objects. 6896:. TRIPOD: Programming Tutorials Copyright © Silan Liu 2002 6881:
What's the difference between a functionoid and a functor?
3876:
Compare the following with the subsequent Python example.
1337:(STL) makes heavy use of template-based function objects. 5684: 5589: 4480:, and the code part of the closure plays the role of the 3368:), or the open target (in the case of the agent based on 3353:
The sequence of three instructions prints the strings in
1611:
between calls. For example, the following code defines a
706:
Notice that the syntax for providing the callback to the
212: 23:. For the related concept in functional programming, see 7078:
What the heck is a functionoid, and why would I use one?
4103:
An example is this accumulator mutable struct (based on
1325:
facilities. The expressiveness of templates allows some
1278:
used about the function object. Continuing the example,
6759:, or to the use of generic programming in C++, Java or 5195:
operator so that the object can be used as a function:
1981:. A delegate can be declared using a named method or a 6776:
is also used for a concept related to the meaning of
507:
member function. In C++, this may appear as follows:
5687:5.3+, supports also lambda functions and closures. 7008:David Vandevoorde & Nicolai M Josuttis (2006). 6167:study on programming language syntax and clarity): 4107:study on programming language syntax and clarity): 3000:. These two classes descend from the more abstract 231:objects and may even make significant use of them. 60:. Unsourced material may be challenged and removed. 1615:counting from 10 upwards and is invoked 11 times. 144:to be invoked or called as if it were an ordinary 6160:method can be called using function-call syntax. 164:A typical use of a function object is in writing 7085: 7031:Description from the Portland Pattern Repository 4945:of abstract operations like a virtual table for 3079:, as an argument. So, in the following example, 6916: 6163:An example is this accumulator class (based on 6004:type System.Management.Automation.ScriptBlock. 6994:Python reference manual - Function definitions 6852:is an object that has one major method, and a 3427:The Eiffel agent mechanism is detailed in the 2193:Here is an example using a lambda expression. 7036:C++ Advanced Design Issues - Asynchronous C++ 6712:, and the original mathematical terminology. 4086:// x has value 18 (current = 18 in closure a) 4065:// x has value 49 (current = 49 in closure b) 3461:For an example from Java's standard library, 243:converts the closures into function objects. 187:Many modern (and some older) languages, e.g. 6944:"Overload resolution§Call to a class object" 4961:, a function object can be created from the 4344:Accumulator (generic function with 1 method) 3007:Within software text, the language keyword 1985:. Here is an example using a named method. 184:for a full object, carrying its own state. 5483:or using the coderef dereferencing syntax 1037:// Sort the database by employee ID number 4476:. The captured bindings play the role of 120:Learn how and when to remove this message 6965: 4487:The closure constructor has the syntax 4428:(::#1) (generic function with 1 method) 4368:(::#1) (generic function with 1 method) 3207:-- Print `s' preceded by a new line 7086: 7073:PHP Functors - Function Objects in PHP 3075:that accepts an agent, an instance of 1249:/* code to select and compare field */ 6891: 6464:operator—equivalent to calling 4451: 3689:In Java 8+, this can be written as: 1977:, function objects are declared via 1602: 58:adding citations to reliable sources 29: 3083:is executed only if all members of 13: 7002: 6972:PHP Documentation on Magic Methods 4489:(lambda (parameters ...) code ...) 989:/* throw exception or something */ 154:the functional programming concept 14: 7110: 7024: 7010:C++ Templates: The Complete Guide 6715: 6561:can be a function object, i.e. a 4952: 4456:In Lisp family languages such as 3429:Eiffel ISO/ECMA standard document 6720:In a more theoretical context a 5990: 4484:, just like operator () in C++. 3864: 3346:This example uses the procedure 34: 25:Functor (functional programming) 1147:/* code to populate database */ 1034:/* code to populate database */ 246: 235:languages additionally support 45:needs additional citations for 7052:The Function Pointer Tutorials 6987: 6976: 6954: 6936: 6917:Paweł Turlejski (2009-10-02). 6910: 6885: 6874: 6842: 4974:// Construct a function object 159: 1: 7059:Generalized Function Pointers 6867: 5016:invocationWithMethodSignature 6147: 3463:java.util.Collections.sort() 3454:, or, starting in Java 8, a 2978: 176:, may be performed by using 7: 7068:Generic Algorithms for Java 7054:by Lars Haendel (2000/2001) 6805:Callback (computer science) 6798: 6470:assuming that method exists 6456:) can also be converted to 5778:An example of this in use: 5031:// Do the actual invocation 4091: 3955:An example of this in use: 3087:contain the character '!': 227:, and many others, support 140:is a construct allowing an 10: 7115: 6810:Closure (computer science) 6571:takes_a_functor(&:foo) 6443: 5058: 3434: 2210:System.Collections.Generic 2002:System.Collections.Generic 18: 7094:Object (computer science) 5584: 4482:anonymous member function 2586:The difference between a 1335:Standard Template Library 794:/* validate sort_field */ 168:functions. A callback in 6835: 6743:languages uses the term 6592: 6480: 6381: 6278: 6169: 6067: 6006: 5877: 5780: 5689: 5598: 5489: 5388: 5197: 5069: 4971: 4818: 4718: 4508: 4287: 4109: 3957: 3878: 3691: 3471: 3377: 3242: 3186: 3178:agent {STRING}.has ('!') 3089: 3065:universal quantification 3058:event-driven programming 3014: 2700: 2596: 2362: 2195: 1987: 1968: 1843: 1617: 1354: 1280: 1108: 713: 509: 361:// prototype of qsort is 253: 6787:and related languages, 6728:in which functions are 6474:Ruby Extensions Project 2344: 6741:functional programming 6477:created a simple hack. 6460:s. Using Ruby's unary 5485:&$ ref(@arguments) 5384:$ ref->(@arguments) 5191:or by overloading the 3395:my_multi_arg_procedure 1327:functional programming 501:function call operator 233:Functional programming 6983:Accumulator Generator 6961:Accumulator Generator 6820:Higher-order function 5594:first-class functions 3444:first-class functions 16:Programming construct 6780:in category theory. 4619:;;; use the counter: 2696:operator overloading 1331:function composition 229:first-class function 170:procedural languages 134:computer programming 54:improve this article 6730:first-class objects 4878:;;; use the counter 4760:;;; use the counter 3856:numStringComparator 3772:numStringComparator 3681:numStringComparator 3552:numStringComparator 1333:). Much of the C++ 7041:2020-09-22 at the 6921:. Just a Few Lines 6586:introduced by the 6468:on an object, and 5997:Windows PowerShell 4452:In Lisp and Scheme 3173:in this example.) 6791:is a synonym for 5864:<br/>" 5828:<br/>" 5215:'&{}' 4714:behind the scenes 4023:// x has value 11 3366:print_on_new_line 3329:print_on_new_line 3272:print_on_new_line 3238:print_on_new_line 3189:print_on_new_line 1983:lambda expression 1849:<algorithm> 1623:<algorithm> 1603:Maintaining state 1168:"idnum" 1082:"idnum" 953:"idnum" 178:function pointers 130: 129: 122: 104: 69:"Function object" 7106: 6996: 6991: 6985: 6980: 6974: 6969: 6963: 6958: 6952: 6951: 6948:cppreference.com 6940: 6934: 6933: 6927: 6926: 6914: 6908: 6907: 6902: 6901: 6889: 6883: 6878: 6861: 6858:but not the same 6846: 6815:Function pointer 6704: 6701: 6698: 6695: 6692: 6689: 6686: 6683: 6680: 6677: 6674: 6671: 6668: 6665: 6662: 6659: 6656: 6653: 6650: 6647: 6644: 6641: 6638: 6635: 6632: 6629: 6626: 6623: 6620: 6617: 6614: 6611: 6608: 6605: 6602: 6599: 6596: 6576: 6572: 6568: 6564: 6560: 6553: 6550: 6547: 6544: 6541: 6538: 6535: 6532: 6529: 6526: 6523: 6520: 6517: 6514: 6511: 6508: 6505: 6502: 6499: 6496: 6493: 6490: 6487: 6484: 6467: 6463: 6459: 6455: 6439: 6436: 6433: 6430: 6427: 6424: 6421: 6418: 6415: 6412: 6409: 6406: 6403: 6400: 6397: 6394: 6391: 6388: 6385: 6375: 6372: 6369: 6366: 6363: 6360: 6357: 6354: 6351: 6348: 6345: 6342: 6339: 6336: 6333: 6330: 6327: 6324: 6321: 6318: 6315: 6312: 6309: 6306: 6303: 6300: 6297: 6294: 6291: 6288: 6285: 6282: 6272: 6269: 6266: 6263: 6260: 6257: 6254: 6251: 6248: 6245: 6242: 6239: 6236: 6233: 6230: 6227: 6224: 6221: 6218: 6215: 6212: 6209: 6206: 6203: 6200: 6197: 6194: 6191: 6188: 6185: 6182: 6179: 6176: 6173: 6159: 6143: 6140: 6137: 6134: 6131: 6128: 6125: 6122: 6119: 6116: 6113: 6110: 6107: 6104: 6101: 6098: 6095: 6092: 6089: 6086: 6083: 6080: 6077: 6074: 6071: 6064: 6061: 6058: 6055: 6052: 6049: 6046: 6043: 6040: 6037: 6034: 6031: 6028: 6025: 6022: 6019: 6016: 6013: 6010: 5986: 5983: 5980: 5977: 5974: 5971: 5968: 5965: 5962: 5959: 5956: 5953: 5950: 5947: 5944: 5941: 5938: 5935: 5932: 5929: 5926: 5923: 5920: 5917: 5914: 5911: 5908: 5905: 5902: 5899: 5896: 5893: 5890: 5887: 5884: 5881: 5871: 5868: 5865: 5862: 5859: 5856: 5853: 5850: 5847: 5844: 5841: 5838: 5835: 5832: 5829: 5826: 5823: 5820: 5817: 5814: 5811: 5808: 5805: 5802: 5799: 5796: 5793: 5790: 5787: 5784: 5774: 5771: 5768: 5765: 5762: 5759: 5756: 5753: 5750: 5747: 5744: 5741: 5738: 5735: 5732: 5729: 5726: 5723: 5720: 5717: 5714: 5711: 5708: 5705: 5702: 5699: 5696: 5693: 5680: 5677: 5674: 5671: 5668: 5665: 5662: 5659: 5656: 5653: 5650: 5647: 5644: 5641: 5638: 5635: 5632: 5629: 5626: 5623: 5620: 5617: 5614: 5611: 5608: 5605: 5602: 5580: 5577: 5574: 5571: 5568: 5565: 5562: 5559: 5556: 5553: 5550: 5547: 5544: 5541: 5538: 5535: 5532: 5529: 5526: 5523: 5520: 5517: 5514: 5511: 5508: 5505: 5502: 5499: 5496: 5493: 5479: 5476: 5473: 5470: 5467: 5464: 5461: 5458: 5455: 5452: 5449: 5446: 5443: 5440: 5437: 5434: 5431: 5428: 5425: 5422: 5419: 5416: 5413: 5410: 5407: 5404: 5401: 5398: 5395: 5392: 5378: 5375: 5372: 5369: 5366: 5363: 5360: 5357: 5354: 5351: 5348: 5345: 5342: 5339: 5336: 5333: 5330: 5327: 5324: 5321: 5318: 5315: 5312: 5309: 5306: 5303: 5300: 5297: 5294: 5291: 5288: 5285: 5282: 5279: 5276: 5273: 5270: 5267: 5264: 5261: 5258: 5255: 5252: 5249: 5246: 5243: 5240: 5237: 5234: 5231: 5228: 5225: 5222: 5219: 5216: 5213: 5210: 5207: 5204: 5201: 5194: 5187: 5184: 5181: 5178: 5175: 5172: 5169: 5166: 5163: 5160: 5157: 5154: 5151: 5148: 5145: 5142: 5139: 5136: 5133: 5130: 5127: 5124: 5121: 5118: 5115: 5112: 5109: 5106: 5103: 5100: 5097: 5094: 5091: 5088: 5085: 5082: 5079: 5076: 5073: 5050: 5046: 5042: 5039:An advantage of 5035: 5032: 5029: 5026: 5023: 5020: 5017: 5014: 5011: 5008: 5005: 5002: 4999: 4996: 4993: 4990: 4987: 4984: 4981: 4978: 4975: 4968: 4964: 4924: 4921: 4918: 4915: 4912: 4909: 4906: 4903: 4900: 4897: 4894: 4891: 4888: 4885: 4882: 4879: 4876: 4873: 4870: 4867: 4864: 4861: 4858: 4855: 4852: 4849: 4846: 4843: 4840: 4837: 4834: 4831: 4828: 4825: 4822: 4812: 4809: 4806: 4803: 4800: 4797: 4794: 4791: 4788: 4785: 4782: 4779: 4776: 4773: 4770: 4767: 4764: 4761: 4758: 4755: 4752: 4749: 4746: 4743: 4740: 4737: 4734: 4731: 4728: 4725: 4722: 4706:factory function 4677: 4674: 4671: 4668: 4665: 4662: 4659: 4656: 4653: 4650: 4647: 4644: 4641: 4638: 4635: 4632: 4629: 4626: 4623: 4620: 4617: 4614: 4611: 4608: 4605: 4602: 4599: 4596: 4593: 4590: 4587: 4584: 4581: 4578: 4575: 4572: 4569: 4566: 4563: 4560: 4557: 4554: 4551: 4548: 4545: 4542: 4539: 4536: 4533: 4530: 4527: 4524: 4521: 4518: 4515: 4512: 4498: 4494: 4493:(parameters ...) 4490: 4478:member variables 4447: 4444: 4441: 4438: 4435: 4432: 4429: 4426: 4423: 4420: 4417: 4414: 4411: 4408: 4405: 4402: 4399: 4396: 4393: 4390: 4387: 4384: 4381: 4378: 4375: 4372: 4369: 4366: 4363: 4360: 4357: 4354: 4351: 4348: 4345: 4342: 4339: 4336: 4333: 4330: 4327: 4324: 4321: 4318: 4315: 4312: 4309: 4306: 4303: 4300: 4297: 4294: 4291: 4281: 4278: 4275: 4272: 4269: 4266: 4263: 4260: 4257: 4254: 4251: 4248: 4245: 4242: 4239: 4236: 4233: 4230: 4227: 4224: 4221: 4218: 4215: 4212: 4209: 4206: 4203: 4200: 4197: 4194: 4191: 4188: 4185: 4182: 4179: 4176: 4173: 4170: 4167: 4164: 4161: 4158: 4155: 4152: 4149: 4146: 4143: 4140: 4137: 4134: 4131: 4128: 4125: 4122: 4119: 4116: 4113: 4087: 4084: 4081: 4078: 4075: 4072: 4069: 4066: 4063: 4060: 4057: 4054: 4051: 4048: 4045: 4042: 4039: 4036: 4033: 4030: 4027: 4024: 4021: 4018: 4015: 4012: 4009: 4006: 4003: 4002:// x has value 9 4000: 3997: 3994: 3991: 3988: 3985: 3982: 3979: 3976: 3973: 3970: 3967: 3964: 3961: 3951: 3948: 3945: 3942: 3939: 3936: 3933: 3930: 3927: 3924: 3921: 3918: 3915: 3912: 3909: 3906: 3903: 3900: 3897: 3894: 3891: 3888: 3885: 3882: 3860: 3857: 3854: 3851: 3848: 3845: 3842: 3839: 3836: 3833: 3830: 3827: 3824: 3821: 3818: 3815: 3812: 3809: 3806: 3803: 3800: 3797: 3794: 3791: 3788: 3785: 3782: 3779: 3776: 3773: 3770: 3767: 3764: 3761: 3758: 3755: 3752: 3749: 3746: 3743: 3740: 3737: 3734: 3731: 3728: 3725: 3722: 3719: 3716: 3713: 3710: 3707: 3704: 3701: 3698: 3695: 3685: 3682: 3679: 3676: 3673: 3670: 3667: 3664: 3661: 3658: 3655: 3652: 3649: 3646: 3643: 3640: 3637: 3634: 3631: 3628: 3625: 3622: 3619: 3616: 3613: 3610: 3607: 3604: 3601: 3598: 3595: 3592: 3589: 3586: 3583: 3580: 3577: 3574: 3571: 3568: 3565: 3562: 3559: 3556: 3553: 3550: 3547: 3544: 3541: 3538: 3535: 3532: 3529: 3526: 3523: 3520: 3517: 3514: 3511: 3508: 3505: 3502: 3499: 3496: 3493: 3490: 3487: 3484: 3481: 3478: 3475: 3468: 3464: 3449: 3423: 3420: 3417: 3414: 3411: 3408: 3405: 3402: 3399: 3396: 3393: 3390: 3387: 3384: 3381: 3371: 3367: 3363: 3356: 3349: 3342: 3339: 3336: 3333: 3330: 3327: 3324: 3321: 3318: 3315: 3312: 3309: 3306: 3303: 3300: 3297: 3294: 3291: 3288: 3285: 3282: 3279: 3276: 3273: 3270: 3267: 3264: 3261: 3258: 3255: 3252: 3249: 3246: 3239: 3232: 3229: 3226: 3223: 3220: 3217: 3214: 3211: 3208: 3205: 3202: 3199: 3196: 3193: 3190: 3179: 3172: 3168: 3153: 3150: 3147: 3144: 3141: 3138: 3135: 3132: 3129: 3126: 3123: 3120: 3117: 3114: 3111: 3108: 3105: 3102: 3099: 3096: 3093: 3086: 3082: 3078: 3074: 3070: 3067:with a function 3055: 3048: 3045: 3042: 3039: 3036: 3033: 3030: 3027: 3024: 3021: 3018: 3010: 3003: 2999: 2995: 2974: 2971: 2968: 2965: 2962: 2959: 2956: 2953: 2950: 2947: 2944: 2941: 2938: 2935: 2932: 2929: 2926: 2923: 2920: 2917: 2914: 2911: 2908: 2905: 2902: 2899: 2896: 2893: 2890: 2887: 2884: 2881: 2878: 2875: 2872: 2869: 2866: 2863: 2860: 2857: 2854: 2851: 2848: 2845: 2842: 2839: 2836: 2833: 2830: 2827: 2824: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2749: 2746: 2743: 2740: 2737: 2734: 2731: 2728: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2690: 2687: 2684: 2681: 2678: 2675: 2672: 2669: 2666: 2663: 2660: 2657: 2654: 2651: 2648: 2645: 2642: 2639: 2636: 2633: 2630: 2627: 2624: 2621: 2618: 2615: 2612: 2609: 2606: 2603: 2600: 2582: 2579: 2576: 2573: 2570: 2567: 2564: 2561: 2558: 2555: 2552: 2549: 2546: 2543: 2540: 2537: 2534: 2531: 2528: 2525: 2522: 2519: 2516: 2513: 2510: 2507: 2504: 2501: 2498: 2495: 2492: 2489: 2486: 2483: 2480: 2477: 2474: 2471: 2468: 2465: 2462: 2459: 2456: 2453: 2450: 2447: 2444: 2441: 2438: 2435: 2432: 2429: 2426: 2423: 2420: 2417: 2414: 2411: 2408: 2405: 2402: 2399: 2396: 2393: 2390: 2387: 2384: 2381: 2378: 2375: 2372: 2369: 2366: 2360:, respectively: 2356:or C#-style via 2340: 2337: 2334: 2331: 2328: 2325: 2322: 2319: 2316: 2313: 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2286: 2283: 2280: 2277: 2274: 2271: 2268: 2265: 2262: 2259: 2256: 2253: 2250: 2247: 2244: 2241: 2238: 2235: 2232: 2229: 2226: 2223: 2222:ComparisonClass2 2220: 2217: 2214: 2211: 2208: 2205: 2202: 2199: 2189: 2186: 2183: 2180: 2177: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2123: 2120: 2117: 2114: 2111: 2108: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2069: 2066: 2063: 2060: 2057: 2054: 2051: 2048: 2045: 2042: 2039: 2036: 2033: 2030: 2027: 2024: 2021: 2018: 2015: 2014:ComparisonClass1 2012: 2009: 2006: 2003: 2000: 1997: 1994: 1991: 1964: 1961: 1958: 1955: 1952: 1949: 1946: 1943: 1940: 1937: 1934: 1931: 1928: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1894:ostream_iterator 1892: 1889: 1886: 1883: 1880: 1877: 1874: 1871: 1868: 1865: 1862: 1861:<iterator> 1859: 1856: 1855:<iostream> 1853: 1850: 1847: 1837: 1834: 1831: 1828: 1825: 1822: 1819: 1816: 1813: 1810: 1807: 1804: 1801: 1798: 1795: 1792: 1789: 1786: 1783: 1780: 1779:ostream_iterator 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1635:<iterator> 1633: 1630: 1629:<iostream> 1627: 1624: 1621: 1610: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1391: 1388: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1193: 1190: 1187: 1184: 1181: 1178: 1175: 1172: 1169: 1166: 1163: 1160: 1157: 1154: 1151: 1148: 1145: 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 972: 969: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 927: 924: 921: 918: 915: 912: 909: 906: 903: 900: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 857:"name" 855: 852: 849: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 813: 810: 807: 804: 801: 798: 795: 792: 789: 786: 783: 780: 777: 774: 771: 770:"name" 768: 765: 762: 759: 756: 753: 750: 747: 744: 741: 738: 735: 732: 729: 726: 723: 720: 717: 709: 702: 699: 696: 693: 690: 687: 684: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 627: 624: 621: 618: 615: 612: 609: 606: 603: 600: 597: 594: 591: 588: 585: 582: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 549: 546: 543: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 506: 491: 488: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 380: 377: 374: 371: 368: 365: 362: 359: 356: 353: 350: 347: 344: 341: 338: 335: 332: 329: 326: 323: 320: 317: 314: 311: 308: 305: 302: 299: 296: 293: 290: 287: 284: 281: 278: 275: 272: 269: 266: 263: 260: 259:<stdlib.h> 257: 152:(not related to 125: 118: 114: 111: 105: 103: 62: 38: 30: 7114: 7113: 7109: 7108: 7107: 7105: 7104: 7103: 7084: 7083: 7043:Wayback Machine 7027: 7005: 7003:Further reading 7000: 6999: 6992: 6988: 6981: 6977: 6970: 6966: 6959: 6955: 6942: 6941: 6937: 6924: 6922: 6915: 6911: 6899: 6897: 6890: 6886: 6879: 6875: 6870: 6865: 6864: 6847: 6843: 6838: 6825:Command pattern 6801: 6793:function symbol 6757:category theory 6747:to represent a 6722:function object 6718: 6706: 6705: 6702: 6699: 6696: 6693: 6690: 6687: 6684: 6681: 6678: 6675: 6672: 6669: 6666: 6663: 6660: 6657: 6654: 6651: 6648: 6645: 6642: 6639: 6636: 6633: 6630: 6627: 6624: 6621: 6618: 6615: 6612: 6609: 6606: 6603: 6600: 6597: 6594: 6574: 6570: 6566: 6562: 6558: 6555: 6554: 6551: 6548: 6545: 6542: 6539: 6536: 6533: 6530: 6527: 6524: 6521: 6518: 6515: 6512: 6509: 6506: 6503: 6500: 6497: 6494: 6491: 6488: 6485: 6482: 6465: 6461: 6457: 6453: 6446: 6441: 6440: 6437: 6434: 6431: 6428: 6425: 6422: 6419: 6416: 6413: 6410: 6407: 6404: 6401: 6398: 6395: 6392: 6389: 6386: 6383: 6377: 6376: 6373: 6370: 6367: 6364: 6361: 6358: 6355: 6352: 6349: 6346: 6343: 6340: 6337: 6334: 6331: 6328: 6325: 6322: 6319: 6316: 6313: 6310: 6307: 6304: 6301: 6298: 6295: 6292: 6289: 6286: 6283: 6280: 6274: 6273: 6270: 6267: 6264: 6261: 6258: 6255: 6252: 6249: 6246: 6243: 6240: 6237: 6234: 6231: 6228: 6225: 6222: 6219: 6216: 6213: 6210: 6207: 6204: 6201: 6198: 6195: 6192: 6189: 6186: 6183: 6180: 6177: 6174: 6171: 6157: 6150: 6145: 6144: 6141: 6138: 6135: 6132: 6129: 6126: 6124:Get-Accumulator 6123: 6120: 6117: 6114: 6111: 6108: 6105: 6102: 6099: 6096: 6093: 6090: 6087: 6084: 6081: 6079:Get-Accumulator 6078: 6075: 6072: 6069: 6066: 6065: 6062: 6059: 6056: 6053: 6050: 6047: 6044: 6041: 6038: 6035: 6032: 6029: 6026: 6023: 6020: 6017: 6014: 6012:Get-Accumulator 6011: 6008: 5993: 5988: 5987: 5984: 5981: 5978: 5975: 5972: 5969: 5966: 5963: 5960: 5957: 5954: 5951: 5948: 5945: 5942: 5939: 5936: 5933: 5930: 5927: 5924: 5921: 5918: 5915: 5912: 5909: 5906: 5903: 5900: 5897: 5894: 5891: 5888: 5885: 5882: 5879: 5873: 5872: 5869: 5866: 5863: 5860: 5857: 5854: 5851: 5848: 5845: 5842: 5839: 5836: 5833: 5830: 5827: 5824: 5821: 5818: 5815: 5812: 5809: 5806: 5803: 5800: 5797: 5794: 5791: 5788: 5785: 5782: 5776: 5775: 5772: 5769: 5766: 5763: 5760: 5757: 5754: 5751: 5748: 5745: 5742: 5739: 5736: 5733: 5730: 5727: 5724: 5721: 5718: 5715: 5712: 5709: 5706: 5703: 5700: 5697: 5694: 5691: 5682: 5681: 5678: 5675: 5672: 5669: 5666: 5663: 5660: 5657: 5654: 5651: 5648: 5645: 5642: 5639: 5636: 5633: 5630: 5627: 5624: 5621: 5618: 5615: 5612: 5609: 5606: 5603: 5600: 5587: 5582: 5581: 5578: 5575: 5572: 5569: 5566: 5563: 5560: 5557: 5554: 5551: 5548: 5545: 5542: 5539: 5536: 5533: 5530: 5527: 5524: 5521: 5518: 5515: 5512: 5509: 5506: 5503: 5500: 5497: 5494: 5491: 5481: 5480: 5477: 5474: 5471: 5468: 5465: 5462: 5459: 5456: 5453: 5450: 5447: 5444: 5441: 5438: 5435: 5432: 5429: 5426: 5423: 5420: 5417: 5414: 5411: 5408: 5405: 5402: 5399: 5396: 5393: 5390: 5380: 5379: 5376: 5373: 5370: 5367: 5364: 5361: 5358: 5355: 5352: 5349: 5346: 5343: 5340: 5337: 5334: 5331: 5328: 5325: 5322: 5319: 5316: 5313: 5310: 5307: 5304: 5301: 5298: 5295: 5292: 5289: 5286: 5283: 5280: 5277: 5274: 5271: 5268: 5265: 5262: 5259: 5256: 5253: 5250: 5247: 5244: 5241: 5238: 5235: 5232: 5229: 5226: 5223: 5220: 5217: 5214: 5211: 5208: 5205: 5202: 5199: 5192: 5189: 5188: 5185: 5182: 5179: 5176: 5173: 5170: 5167: 5164: 5161: 5158: 5155: 5152: 5149: 5146: 5143: 5140: 5137: 5134: 5131: 5128: 5125: 5122: 5119: 5116: 5113: 5110: 5107: 5104: 5101: 5098: 5095: 5092: 5089: 5086: 5083: 5080: 5077: 5074: 5071: 5061: 5048: 5044: 5040: 5037: 5036: 5033: 5030: 5027: 5024: 5021: 5018: 5015: 5012: 5009: 5006: 5003: 5000: 4997: 4994: 4991: 4988: 4985: 4982: 4979: 4976: 4973: 4966: 4962: 4955: 4947:single dispatch 4931:single dispatch 4926: 4925: 4922: 4919: 4916: 4913: 4910: 4907: 4904: 4901: 4898: 4895: 4892: 4889: 4886: 4883: 4880: 4877: 4874: 4871: 4868: 4865: 4862: 4859: 4856: 4853: 4850: 4847: 4844: 4841: 4838: 4835: 4832: 4829: 4826: 4823: 4820: 4814: 4813: 4810: 4807: 4804: 4801: 4798: 4795: 4792: 4789: 4786: 4783: 4780: 4777: 4774: 4771: 4768: 4765: 4762: 4759: 4756: 4753: 4750: 4747: 4744: 4741: 4738: 4735: 4732: 4729: 4726: 4723: 4720: 4699:function things 4679: 4678: 4675: 4672: 4669: 4666: 4663: 4660: 4657: 4654: 4651: 4648: 4645: 4642: 4639: 4636: 4633: 4630: 4627: 4624: 4621: 4618: 4615: 4612: 4609: 4606: 4603: 4600: 4597: 4594: 4591: 4588: 4585: 4582: 4579: 4576: 4573: 4570: 4567: 4564: 4561: 4558: 4555: 4552: 4549: 4546: 4543: 4540: 4537: 4534: 4531: 4528: 4525: 4522: 4519: 4516: 4513: 4510: 4496: 4492: 4488: 4466:function object 4454: 4449: 4448: 4445: 4442: 4439: 4436: 4433: 4430: 4427: 4424: 4421: 4418: 4415: 4412: 4409: 4406: 4403: 4400: 4397: 4394: 4391: 4388: 4385: 4382: 4379: 4376: 4373: 4370: 4367: 4364: 4361: 4358: 4355: 4352: 4349: 4346: 4343: 4340: 4337: 4334: 4331: 4328: 4325: 4322: 4319: 4316: 4313: 4310: 4307: 4304: 4301: 4298: 4295: 4292: 4289: 4283: 4282: 4279: 4276: 4273: 4270: 4267: 4264: 4262:Accumulator(42) 4261: 4258: 4255: 4252: 4249: 4246: 4243: 4240: 4237: 4234: 4231: 4228: 4225: 4222: 4219: 4216: 4213: 4210: 4207: 4204: 4201: 4198: 4195: 4192: 4189: 4186: 4183: 4180: 4177: 4174: 4171: 4168: 4165: 4162: 4159: 4156: 4153: 4150: 4147: 4144: 4141: 4138: 4135: 4132: 4129: 4126: 4123: 4120: 4117: 4114: 4111: 4094: 4089: 4088: 4085: 4082: 4079: 4076: 4073: 4070: 4067: 4064: 4061: 4058: 4055: 4052: 4049: 4046: 4043: 4040: 4037: 4034: 4031: 4028: 4025: 4022: 4019: 4016: 4013: 4010: 4007: 4004: 4001: 3998: 3995: 3992: 3989: 3986: 3983: 3980: 3977: 3974: 3971: 3968: 3965: 3962: 3959: 3953: 3952: 3949: 3946: 3943: 3940: 3937: 3934: 3931: 3928: 3925: 3922: 3919: 3916: 3913: 3910: 3907: 3904: 3901: 3898: 3895: 3892: 3889: 3886: 3883: 3880: 3867: 3862: 3861: 3858: 3855: 3852: 3849: 3846: 3843: 3840: 3837: 3834: 3831: 3828: 3825: 3822: 3819: 3816: 3813: 3810: 3807: 3804: 3801: 3798: 3795: 3792: 3789: 3786: 3783: 3780: 3777: 3774: 3771: 3768: 3765: 3762: 3759: 3756: 3753: 3750: 3747: 3744: 3741: 3738: 3735: 3732: 3729: 3726: 3723: 3720: 3717: 3714: 3711: 3708: 3705: 3702: 3699: 3696: 3693: 3687: 3686: 3683: 3680: 3677: 3674: 3671: 3668: 3665: 3662: 3659: 3656: 3653: 3650: 3647: 3644: 3641: 3638: 3635: 3632: 3629: 3626: 3623: 3620: 3617: 3614: 3611: 3608: 3605: 3602: 3599: 3596: 3593: 3590: 3587: 3584: 3581: 3578: 3575: 3572: 3569: 3566: 3563: 3560: 3557: 3554: 3551: 3548: 3545: 3542: 3539: 3536: 3533: 3530: 3527: 3524: 3521: 3518: 3515: 3512: 3509: 3506: 3503: 3500: 3497: 3494: 3491: 3488: 3485: 3482: 3479: 3476: 3473: 3466: 3462: 3447: 3437: 3425: 3424: 3421: 3418: 3415: 3412: 3409: 3406: 3403: 3400: 3397: 3394: 3391: 3388: 3385: 3382: 3379: 3369: 3365: 3361: 3354: 3347: 3344: 3343: 3340: 3337: 3334: 3331: 3328: 3325: 3322: 3319: 3316: 3313: 3310: 3307: 3304: 3301: 3298: 3295: 3292: 3289: 3286: 3283: 3280: 3277: 3274: 3271: 3268: 3265: 3262: 3259: 3256: 3253: 3250: 3247: 3244: 3237: 3234: 3233: 3230: 3227: 3224: 3221: 3218: 3215: 3212: 3209: 3206: 3203: 3200: 3197: 3194: 3191: 3188: 3177: 3170: 3166: 3155: 3154: 3151: 3148: 3145: 3142: 3139: 3136: 3133: 3130: 3127: 3124: 3121: 3118: 3115: 3112: 3109: 3106: 3103: 3100: 3097: 3094: 3091: 3084: 3080: 3076: 3072: 3068: 3053: 3050: 3049: 3046: 3043: 3040: 3037: 3034: 3031: 3028: 3025: 3022: 3019: 3016: 3008: 3001: 2997: 2993: 2981: 2976: 2975: 2972: 2969: 2966: 2963: 2960: 2957: 2954: 2951: 2948: 2945: 2942: 2939: 2936: 2933: 2930: 2927: 2924: 2921: 2918: 2915: 2912: 2909: 2906: 2903: 2900: 2897: 2894: 2891: 2888: 2885: 2882: 2879: 2876: 2873: 2870: 2867: 2864: 2861: 2858: 2855: 2852: 2849: 2846: 2843: 2840: 2837: 2834: 2831: 2828: 2825: 2822: 2819: 2816: 2813: 2810: 2807: 2804: 2801: 2798: 2795: 2792: 2789: 2786: 2783: 2780: 2777: 2774: 2771: 2768: 2765: 2762: 2759: 2756: 2753: 2750: 2747: 2744: 2741: 2738: 2735: 2732: 2729: 2726: 2723: 2720: 2717: 2714: 2711: 2708: 2705: 2702: 2692: 2691: 2688: 2685: 2682: 2679: 2676: 2673: 2670: 2667: 2664: 2661: 2658: 2655: 2652: 2649: 2646: 2643: 2640: 2637: 2634: 2631: 2628: 2625: 2622: 2619: 2616: 2613: 2610: 2607: 2604: 2601: 2598: 2584: 2583: 2580: 2577: 2574: 2571: 2568: 2565: 2562: 2559: 2556: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2532: 2529: 2526: 2523: 2520: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2409: 2406: 2403: 2400: 2397: 2394: 2391: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2347: 2342: 2341: 2338: 2335: 2332: 2329: 2326: 2323: 2320: 2317: 2314: 2311: 2308: 2305: 2302: 2299: 2296: 2293: 2290: 2287: 2284: 2281: 2278: 2275: 2272: 2269: 2266: 2263: 2260: 2257: 2254: 2251: 2248: 2245: 2242: 2239: 2236: 2233: 2230: 2227: 2224: 2221: 2218: 2215: 2212: 2209: 2206: 2203: 2200: 2197: 2191: 2190: 2187: 2184: 2181: 2178: 2175: 2172: 2169: 2166: 2163: 2161:CompareFunction 2160: 2157: 2154: 2151: 2148: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2029:CompareFunction 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1971: 1966: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1938: 1935: 1932: 1929: 1926: 1923: 1920: 1917: 1914: 1911: 1908: 1905: 1902: 1899: 1896: 1893: 1890: 1887: 1884: 1881: 1878: 1875: 1872: 1869: 1866: 1863: 1860: 1857: 1854: 1851: 1848: 1845: 1839: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1781: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1608: 1605: 1600: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1554: 1551: 1548: 1545: 1542: 1539: 1536: 1533: 1530: 1527: 1524: 1521: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1431: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1404: 1401: 1398: 1395: 1392: 1389: 1386: 1383: 1380: 1377: 1374: 1371: 1368: 1365: 1362: 1359: 1356: 1319: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1269: 1267: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1100: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 931: 928: 925: 922: 919: 916: 913: 910: 907: 905:"age" 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 811: 808: 805: 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 772: 769: 766: 763: 760: 757: 754: 751: 748: 745: 742: 739: 736: 733: 730: 727: 724: 721: 718: 715: 707: 704: 703: 700: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 643: 640: 637: 634: 631: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 598: 595: 592: 589: 586: 583: 580: 577: 574: 571: 568: 565: 562: 559: 556: 553: 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 504: 503:by defining an 493: 492: 489: 486: 483: 480: 477: 474: 471: 468: 465: 462: 459: 456: 453: 450: 447: 444: 441: 438: 435: 432: 429: 426: 423: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 345: 342: 339: 336: 333: 330: 327: 324: 321: 318: 315: 312: 309: 306: 303: 300: 297: 294: 291: 288: 285: 282: 279: 276: 273: 270: 267: 264: 261: 258: 255: 249: 162: 138:function object 126: 115: 109: 106: 63: 61: 51: 39: 28: 17: 12: 11: 5: 7112: 7102: 7101: 7096: 7082: 7081: 7075: 7070: 7065: 7055: 7049: 7033: 7026: 7025:External links 7023: 7022: 7021: 7004: 7001: 6998: 6997: 6986: 6975: 6964: 6953: 6935: 6909: 6884: 6872: 6871: 6869: 6866: 6863: 6862: 6840: 6839: 6837: 6834: 6833: 6832: 6827: 6822: 6817: 6812: 6807: 6800: 6797: 6717: 6716:Other meanings 6714: 6634:method_missing 6593: 6575:Symbol.to_proc 6481: 6445: 6442: 6382: 6279: 6170: 6149: 6146: 6068: 6007: 6002:.NET Framework 5992: 5989: 5878: 5781: 5690: 5599: 5586: 5583: 5573:"\n" 5546:"\n" 5490: 5472:"\n" 5445:"\n" 5389: 5198: 5070: 5060: 5057: 4972: 4954: 4953:In Objective-C 4951: 4819: 4719: 4509: 4453: 4450: 4288: 4202:Accumulator(4) 4110: 4093: 4090: 3958: 3879: 3866: 3863: 3754:"12" 3748:"21" 3742:"11" 3736:"20" 3724:"10" 3692: 3534:"12" 3528:"21" 3522:"11" 3516:"20" 3504:"10" 3472: 3436: 3433: 3378: 3243: 3219:"%N" 3187: 3090: 3060:capabilities. 3023:select_actions 3015: 2980: 2977: 2701: 2597: 2363: 2346: 2343: 2196: 1988: 1970: 1967: 1844: 1618: 1604: 1601: 1355: 1281: 1109: 714: 510: 254: 248: 245: 241:lambda lifting 161: 158: 128: 127: 42: 40: 33: 15: 9: 6: 4: 3: 2: 7111: 7100: 7097: 7095: 7092: 7091: 7089: 7079: 7076: 7074: 7071: 7069: 7066: 7064: 7060: 7056: 7053: 7050: 7048: 7047:Kevlin Henney 7044: 7040: 7037: 7034: 7032: 7029: 7028: 7019: 7018:0-201-73484-2 7015: 7011: 7007: 7006: 6995: 6990: 6984: 6979: 6973: 6968: 6962: 6957: 6949: 6945: 6939: 6932: 6920: 6913: 6906: 6895: 6888: 6882: 6877: 6873: 6859: 6855: 6851: 6845: 6841: 6831: 6828: 6826: 6823: 6821: 6818: 6816: 6813: 6811: 6808: 6806: 6803: 6802: 6796: 6794: 6790: 6786: 6781: 6779: 6775: 6774: 6769: 6764: 6762: 6758: 6754: 6750: 6746: 6742: 6738: 6733: 6731: 6727: 6723: 6713: 6711: 6591: 6589: 6585: 6580: 6579: 6569:and used via 6479: 6478: 6475: 6471: 6451: 6380: 6359:>>> 6338:>>> 6320:>>> 6302:>>> 6281:>>> 6277: 6168: 6166: 6165:Paul Graham's 6161: 6155: 6057:GetNewClosure 6005: 6003: 5998: 5991:In PowerShell 5876: 5779: 5688: 5686: 5597: 5595: 5591: 5488: 5486: 5387: 5385: 5196: 5068: 5066: 5056: 5054: 4970: 4960: 4950: 4948: 4943: 4939: 4934: 4932: 4817: 4717: 4715: 4711: 4707: 4702: 4700: 4696: 4692: 4688: 4683: 4613:initial-value 4604:make-instance 4595:initial-value 4507: 4504: 4500: 4485: 4483: 4479: 4475: 4471: 4467: 4463: 4459: 4286: 4108: 4106: 4105:Paul Graham's 4101: 4099: 3956: 3877: 3874: 3872: 3865:In JavaScript 3730:"1" 3690: 3510:"1" 3470: 3459: 3457: 3453: 3445: 3441: 3432: 3430: 3376: 3373: 3358: 3351: 3241: 3185: 3181: 3174: 3164: 3160: 3088: 3066: 3061: 3059: 3013: 3005: 2990: 2986: 2699: 2697: 2595: 2593: 2589: 2361: 2359: 2355: 2351: 2194: 1986: 1984: 1980: 1976: 1842: 1616: 1614: 1582:IntComparator 1363:IntComparator 1353: 1351: 1347: 1346:cv-qualifiers 1343: 1338: 1336: 1332: 1328: 1324: 1283:IntComparator 1279: 1277: 1273: 1107: 1105: 712: 686:IntComparator 518:IntComparator 508: 502: 498: 252: 244: 242: 238: 234: 230: 226: 222: 218: 214: 210: 206: 202: 198: 194: 190: 185: 183: 179: 175: 171: 167: 157: 155: 151: 147: 143: 139: 135: 124: 121: 113: 110:February 2009 102: 99: 95: 92: 88: 85: 81: 78: 74: 71: –  70: 66: 65:Find sources: 59: 55: 49: 48: 43:This article 41: 37: 32: 31: 26: 22: 7009: 6989: 6978: 6967: 6956: 6947: 6938: 6929: 6923:. Retrieved 6912: 6904: 6898:. Retrieved 6887: 6876: 6857: 6853: 6849: 6844: 6788: 6782: 6777: 6771: 6765: 6744: 6734: 6721: 6719: 6707: 6581: 6557:Now, method 6556: 6447: 6378: 6275: 6162: 6151: 5994: 5874: 5777: 5683: 5588: 5484: 5482: 5383: 5381: 5190: 5062: 5049:NSInvocation 5045:NSInvocation 5041:NSInvocation 5038: 5013:NSInvocation 4998:NSInvocation 4963:NSInvocation 4956: 4941: 4940:function to 4937: 4935: 4927: 4893:make-counter 4830:make-counter 4815: 4775:make-counter 4727:make-counter 4713: 4709: 4703: 4698: 4694: 4690: 4686: 4684: 4680: 4664:functor-call 4646:functor-call 4634:make-counter 4607:'counter 4589:make-counter 4550:functor-call 4505: 4501: 4486: 4481: 4477: 4469: 4465: 4455: 4284: 4102: 4095: 3954: 3875: 3868: 3688: 3460: 3438: 3426: 3419:closed_arg_3 3413:closed_arg_2 3401:closed_arg_1 3374: 3359: 3352: 3345: 3235: 3182: 3175: 3162: 3158: 3156: 3062: 3052:The routine 3051: 3044:step_forward 3006: 2982: 2693: 2585: 2348: 2192: 1972: 1840: 1606: 1339: 1320: 1275: 1274:is normally 1271: 1268: 1101: 705: 494: 250: 247:In C and C++ 186: 163: 149: 137: 131: 116: 107: 97: 90: 83: 76: 64: 52:Please help 47:verification 44: 7099:Subroutines 7063:Herb Sutter 6892:Silan Liu. 6850:functionoid 6770:, the term 6726:Common Lisp 6588:Ruby Facets 6472:—the 6387:Accumulator 6347:Accumulator 6290:Accumulator 6175:Accumulator 6130:PS C:\> 6115:PS C:\> 6100:PS C:\> 6085:PS C:\> 6070:PS C:\> 5789:Accumulator 5695:Accumulator 5579:# prints 30 5552:# prints 22 5478:# prints 60 5451:# prints 52 4959:Objective-C 4923:; --> 12 4911:; --> 11 4811:; --> 12 4796:; --> 11 4695:funcallable 4458:Common Lisp 4416:Accumulator 4356:Accumulator 4296:Accumulator 4250:Accumulator 4190:Accumulator 4151:Accumulator 4121:Accumulator 4035:Accumulator 3969:Accumulator 3884:Accumulator 3838:Collections 3663:Collections 3452:inner class 3251:LINKED_LIST 3137:'!' 3098:LINKED_LIST 2772:needle_test 2736:needle_test 2440:needle_test 2404:needle_test 708:std::sort() 475:compareInts 268:compareInts 160:Description 7088:Categories 6925:2012-09-07 6900:2012-09-07 6868:References 6848:In C++, a 6739:family of 6604:initialize 6584:delegation 6158:__call__() 5858:"x = 5822:"x = 4949:type OOP. 3871:JavaScript 3760:Comparator 3561:Comparator 3540:Comparator 3360:Procedure 2961:NeedleTest 2850:NeedleTest 2575:needleTest 2518:needleTest 2143:Comparison 1882:generate_n 1767:generate_n 1609:operator() 1162:sort_field 947:SORT_FIELD 899:SORT_FIELD 851:SORT_FIELD 785:sort_field 779:SORT_FIELD 764:sort_field 737:SORT_FIELD 505:operator() 172:, such as 80:newspapers 7080:(C++ FAQ) 7057:Article " 6567:&:foo 6148:In Python 5870:// x = 11 5758:$ current 5746:$ current 5710:$ current 5592:5.3+ has 4986:@selector 4547:defmethod 4535::accessor 4431:julia> 4407:julia> 4389:julia> 4371:julia> 4347:julia> 4290:julia> 4265:julia> 4241:julia> 4223:julia> 4205:julia> 4181:julia> 4136:julia> 4112:julia> 3814:compareTo 3633:compareTo 3146:my_action 3081:my_action 3017:my_button 2994:PROCEDURE 2979:In Eiffel 2358:delegates 1979:delegates 1824:CountFrom 1653:CountFrom 1641:CountFrom 1613:generator 1350:signature 1342:reference 1076:CompareBy 743:CompareBy 719:CompareBy 497:overloads 205:Smalltalk 7039:Archived 6830:Currying 6799:See also 6414:nonlocal 6229:__call__ 6184:__init__ 6009:Function 5895:__invoke 5892:function 5834:// x = 9 5725:function 5692:function 5643:function 5212:overload 4992:myMethod 4967:myMethod 4689:We have 4574:value-of 4538:value-of 4529::initarg 4514:defclass 4497:code ... 4470:captured 4317:function 4293:function 4139:function 4092:In Julia 3917:function 3881:function 3465:takes a 3448:Callable 3370:to_lower 3308:to_lower 3161:or left 3077:FUNCTION 3071:of type 3038:my_gauge 2998:FUNCTION 2952:haystack 2823:haystack 2757:haystack 2727:haystack 2650:haystack 2614:haystack 2588:delegate 2566:haystack 2491:haystack 2425:haystack 2392:delegate 2383:haystack 2354:closures 1858:#include 1852:#include 1846:#include 1689:operator 1632:#include 1626:#include 1620:#include 1453:operator 1441:decltype 1323:template 1231:Employee 1216:Employee 1135:Employee 1022:Employee 827:Employee 812:Employee 803:operator 527:operator 256:#include 237:closures 166:callback 150:functors 146:function 6854:functor 6789:functor 6778:functor 6773:functor 6768:Haskell 6753:functor 6749:mapping 6745:functor 6598:Functor 6492:to_proc 6466:to_proc 6444:In Ruby 5995:In the 5716:$ start 5701:$ start 5365:$ class 5305:$ class 5200:package 5193:&{} 5174:$ class 5093:$ class 5072:package 5059:In Perl 4802:funcall 4787:funcall 4559:counter 4517:counter 4474:closure 4115:mutable 3935:current 3902:current 3826:valueOf 3820:Integer 3802:valueOf 3796:Integer 3645:valueOf 3639:Integer 3621:valueOf 3615:Integer 3585:compare 3442:has no 3435:In Java 3380:my_list 3355:my_list 3314:my_list 3284:my_list 3257:my_list 3245:my_list 3167:for_all 3113:for_all 3107:my_list 3092:my_list 3085:my_list 3073:BOOLEAN 3069:for_all 3002:ROUTINE 2983:In the 2745:foreach 2592:closure 2413:foreach 1942:mutable 1713:private 1474:compare 1447:compare 1375:compare 1272:functor 94:scholar 21:Functor 7016:  6785:Prolog 6565:, via 6486:Symbol 6435:return 6429:return 6262:return 6154:Python 6042:return 5916:return 5889:public 5755:return 5722:return 5664:return 5585:In PHP 5263:$ self 5230:$ self 4884:define 4842:lambda 4824:define 4766:defvar 4742:lambda 4691:almost 4673:--> 4655:--> 4625:defvar 4610::value 4532::value 4491:. The 4462:Scheme 4118:struct 3932:return 3914:return 3766:String 3718:asList 3712:Arrays 3700:String 3612:return 3600:String 3591:String 3579:public 3567:String 3546:String 3498:asList 3492:Arrays 3480:String 3456:lambda 3386:do_all 3362:do_all 3348:do_all 3320:do_all 3302:STRING 3290:do_all 3263:do_all 3201:STRING 3171:STRING 3159:closed 3125:STRING 3054:extend 3029:extend 2985:Eiffel 2967:needle 2940:assert 2928:needle 2919:return 2901:opCall 2883:needle 2859:needle 2835:needle 2796:return 2784:return 2680:needle 2671:return 2638:assert 2626:needle 2590:and a 2554:assert 2545:needle 2536:return 2503:needle 2464:return 2452:return 2231:static 2228:public 2216:public 2201:System 2077:static 2074:public 2056:return 2023:static 2020:public 2008:public 1993:System 1948:return 1927:" 1921:" 1812:" 1806:" 1722:count_ 1701:count_ 1698:return 1671:count_ 1647:public 1588:return 1504:vector 1471:return 1414:return 1369:static 1360:struct 1295:result 1255:return 1159:string 1129:vector 1088:return 1016:vector 959:return 911:return 863:return 758:string 734:string 716:struct 692:return 608:vector 569:return 515:struct 481:return 463:sizeof 451:sizeof 436:sizeof 307:return 217:Python 197:Groovy 193:Eiffel 182:façade 142:object 96:  89:  82:  75:  67:  7061:" by 6836:Notes 6691:& 6664:@func 6655:& 6619:@func 6610:& 6595:class 6483:class 6462:& 6202:-> 6172:class 6133:& 6103:& 6088:& 6030:param 5982:Minus 5967:usort 5943:array 5883:Minus 5880:class 5743:& 5631:usort 5607:array 5558:& 5555:print 5531:& 5528:print 5513:-> 5460:-> 5454:print 5433:-> 5427:print 5412:-> 5359:$ obj 5356:bless 5350:$ arg 5347:=> 5335:$ obj 5326:shift 5320:$ arg 5311:shift 5281:$ num 5266:-> 5257:shift 5251:$ num 5236:shift 5218:=> 5168:$ obj 5165:bless 5156:$ num 5150:$ arg 5144:shift 5138:$ num 5123:$ obj 5114:shift 5108:$ arg 5099:shift 4872:value 4863:value 4854:value 4833:value 4754:value 4733:value 4724:defun 4586:defun 4526:value 4098:Julia 3908:start 3890:start 3793:-> 3392:agent 3326:agent 3296:agent 3269:agent 3213:print 3119:agent 3035:agent 3009:agent 2989:agent 2847:class 2799:false 2778:straw 2751:straw 2572:& 2467:false 2446:straw 2419:straw 2321:=> 2297:items 2249:items 2219:class 2207:using 2198:using 2167:items 2095:items 2011:class 1999:using 1990:using 1969:In C# 1951:count 1830:state 1749:state 1743:const 1677:count 1662:count 1638:class 1570:items 1564:begin 1558:items 1516:items 1465:const 1432:using 1402:& 1396:const 1387:& 1381:const 1243:const 1234:& 1228:const 1219:& 1213:const 1192:begin 1150:const 1104:C++11 1058:begin 980:idnum 968:idnum 839:const 830:& 824:const 815:& 809:const 761:& 749:const 725:const 674:items 668:begin 662:items 620:items 563:const 554:& 548:const 539:& 533:const 469:items 457:items 442:items 430:items 424:qsort 391:items 289:const 274:const 225:Scala 101:JSTOR 87:books 7014:ISBN 6931:why. 6735:The 6685:args 6670:call 6649:args 6625:func 6613:func 6563:Proc 6540:args 6531:self 6525:send 6513:args 6495:proc 6458:Proc 6450:Ruby 6265:self 6247:self 6235:self 6211:self 6205:None 6190:self 5985:()); 5855:echo 5819:echo 5510:Acc2 5495:Acc2 5409:Acc1 5394:Acc1 5203:Acc2 5075:Acc1 5065:Perl 5053:here 4938:main 4851:set! 4751:incf 4568:incf 3850:list 3844:sort 3832:str2 3808:str1 3787:str2 3781:str1 3769:> 3763:< 3706:list 3703:> 3697:< 3694:List 3675:list 3669:sort 3651:str2 3627:str1 3603:str2 3594:str1 3570:> 3564:< 3549:> 3543:< 3486:list 3483:> 3477:< 3474:List 3467:List 3440:Java 3163:open 3143:then 2996:and 2970:))); 2946:find 2898:bool 2865:this 2811:main 2808:void 2787:true 2706:find 2703:bool 2686:})); 2644:find 2602:main 2599:void 2560:find 2515:bool 2479:main 2476:void 2455:true 2389:bool 2368:find 2365:bool 2345:In D 2303:Sort 2267:> 2261:< 2258:List 2237:Main 2234:void 2173:Sort 2152:> 2146:< 2113:> 2107:< 2104:List 2083:Main 2080:void 1915:cout 1903:> 1897:< 1867:main 1800:cout 1788:> 1782:< 1734:main 1692:()() 1585:()); 1552:sort 1513:> 1507:< 1489:main 1420:< 1372:bool 1292:bool 1198:emps 1186:emps 1180:sort 1141:emps 1138:> 1132:< 1114:main 1064:emps 1052:emps 1046:sort 1028:emps 1025:> 1019:< 1001:main 986:else 971:< 938:else 923:< 890:else 884:name 875:< 872:name 800:bool 689:()); 656:sort 617:> 611:< 593:main 575:< 524:bool 499:the 379:void 373:main 292:void 277:void 221:Ruby 209:Perl 201:Lisp 136:, a 73:news 7045:by 6783:In 6766:In 6761:Ada 6755:in 6703:end 6700:end 6694:blk 6658:blk 6631:def 6628:end 6601:def 6559:foo 6552:end 6549:end 6519:obj 6504:obj 6489:def 6448:In 6438:inc 6402:inc 6399:def 6384:def 6226:def 6181:def 6152:In 6136:$ b 6118:$ b 6106:$ a 6091:$ a 6073:$ a 6051:$ y 6045:$ x 6036:$ y 6018:$ x 5979:new 5973:$ a 5937:$ a 5925:$ y 5919:$ x 5907:$ y 5901:$ x 5861:$ x 5843:$ a 5837:$ x 5825:$ x 5807:$ a 5801:$ x 5783:$ a 5764:$ x 5737:use 5731:$ x 5685:PHP 5679:}); 5673:$ y 5667:$ x 5655:$ y 5649:$ x 5637:$ a 5601:$ a 5590:PHP 5561:$ a 5534:$ a 5516:new 5504:$ a 5492:use 5457:$ a 5430:$ a 5415:new 5403:$ a 5391:use 5344:arg 5296:new 5293:sub 5272:arg 5242:sub 5221:sub 5209:use 5129:sub 5084:new 5081:sub 5063:In 5004:inv 4980:sel 4977:SEL 4957:In 4805:*c* 4790:*c* 4769:*c* 4757:))) 4667:*c* 4649:*c* 4628:*c* 4580:))) 4541:))) 4341:end 4338:end 4178:end 4163:acc 4145:acc 4133:end 4130:Int 4096:In 4026:var 3981:var 3960:var 3899:var 3869:In 3835:)); 3654:)); 3582:int 3558:new 3372:). 3341:... 3254:... 3231:end 3152:... 3149:end 3131:has 3101:... 2958:new 2907:int 2871:int 2856:int 2841:123 2832:int 2820:int 2659:int 2632:123 2623:int 2611:int 2578:)); 2524:int 2509:123 2500:int 2488:int 2264:int 2255:new 2246:var 2179:del 2155:del 2149:int 2110:int 2101:new 2092:var 2044:int 2035:int 2026:int 1973:In 1960:}); 1909:std 1900:int 1888:std 1876:std 1864:int 1833:)); 1794:std 1785:int 1773:std 1761:std 1746:int 1731:int 1719:int 1686:int 1659:int 1579:(), 1576:end 1567:(), 1546:std 1510:int 1498:std 1486:int 1399:int 1384:int 1301:cpm 1286:cpm 1276:not 1252:}); 1207:(), 1204:end 1195:(), 1174:std 1153:std 1123:std 1111:int 1102:In 1085:)); 1073:(), 1070:end 1061:(), 1040:std 1010:std 998:int 932:age 920:age 806:()( 752:std 728:std 683:(), 680:end 671:(), 650:std 614:int 602:std 590:int 551:int 536:int 530:()( 388:int 370:int 367:... 358:... 340:int 319:int 265:int 213:PHP 189:C++ 156:). 132:In 56:by 7090:: 7012:, 6946:. 6928:. 6903:. 6795:. 6763:. 6737:ML 6732:. 6710:ML 6676:op 6640:op 6573:. 6423:+= 6411:): 6396:): 6374:49 6353:42 6335:11 6256:+= 6244:): 6142:42 6139:10 6127:32 6112:11 6060:() 6054:}. 6048:+= 5964:); 5852:); 5816:); 5798:); 5770:}; 5761:+= 5628:); 5570:), 5543:), 5540:10 5525:); 5522:12 5501:my 5487:: 5469:), 5442:), 5439:10 5424:); 5421:42 5400:my 5386:: 5353:}; 5332:my 5317:my 5302:my 5290:}; 5278:+= 5248:my 5227:my 5162:}; 5153:+= 5135:my 5120:my 5105:my 5090:my 5055:. 5022:]; 4995:); 4969:: 4942:do 4899:)) 4896:10 4875:)) 4869:)) 4845:() 4781:)) 4778:10 4745:() 4716:. 4710:is 4676:12 4658:11 4640:)) 4637:10 4616:)) 4562:)) 4553:(( 4523:(( 4520:() 4460:, 4446:49 4422:42 4404:11 4335:n2 4332:+= 4323:n2 4314:n0 4302:n0 4280:49 4256:42 4238:11 4175:n2 4172:+= 4157:n2 4154:)( 4148::: 4127::: 4083:); 4062:); 4044:); 4041:42 4020:); 3999:); 3978:); 3947:}; 3938:+= 3859:); 3811:). 3757:); 3684:); 3660:}; 3630:). 3573:() 3537:); 3458:. 3431:. 3338:)) 3305:}. 3281:)) 3210:do 3140:)) 3128:}. 3104:if 3004:. 2925:== 2814:() 2781:)) 2766:if 2721:)( 2698:: 2677:== 2605:() 2542:== 2482:() 2449:)) 2434:if 2377:)( 2333:); 2306:(( 2294:}; 2240:() 2182:); 2140:}; 2086:() 1975:C# 1954:++ 1939:() 1933:11 1930:), 1924:\n 1912::: 1891::: 1879::: 1870:() 1818:11 1815:), 1809:\n 1797::: 1776::: 1764::: 1758:); 1755:10 1737:() 1728:}; 1704:++ 1683:{} 1549::: 1543:}; 1501::: 1492:() 1483:}; 1462:() 1450:); 1316:); 1177::: 1156::: 1126::: 1117:() 1043::: 1013::: 1004:() 995:}; 950:== 941:if 902:== 893:if 854:== 845:if 755::: 731::: 653::: 647:}; 605::: 596:() 587:}; 478:); 472:), 460:), 421:}; 352:); 223:, 219:, 215:, 211:, 207:, 203:, 199:, 195:, 191:, 6950:. 6860:. 6697:) 6688:, 6682:* 6679:, 6673:( 6667:. 6661:) 6652:, 6646:* 6643:, 6637:( 6622:= 6616:) 6607:( 6546:} 6543:) 6537:* 6534:, 6528:( 6522:. 6516:| 6510:* 6507:, 6501:| 6498:{ 6454:: 6432:n 6426:x 6420:n 6417:n 6408:x 6405:( 6393:n 6390:( 6371:) 6368:7 6365:( 6362:b 6356:) 6350:( 6344:= 6341:b 6332:) 6329:2 6326:( 6323:a 6317:9 6314:) 6311:5 6308:( 6305:a 6299:) 6296:4 6293:( 6287:= 6284:a 6271:n 6268:. 6259:x 6253:n 6250:. 6241:x 6238:, 6232:( 6223:n 6220:= 6217:n 6214:. 6208:: 6199:) 6196:n 6193:, 6187:( 6178:: 6121:= 6109:2 6097:9 6094:5 6082:4 6076:= 6063:} 6039:) 6033:( 6027:{ 6024:{ 6021:) 6015:( 5976:, 5970:( 5961:4 5958:, 5955:1 5952:, 5949:3 5946:( 5940:= 5934:} 5931:} 5928:; 5922:- 5913:{ 5910:) 5904:, 5898:( 5886:{ 5867:; 5849:2 5846:( 5840:= 5831:; 5813:5 5810:( 5804:= 5795:4 5792:( 5786:= 5773:} 5767:; 5752:{ 5749:) 5740:( 5734:) 5728:( 5719:; 5713:= 5707:{ 5704:) 5698:( 5676:; 5670:- 5661:{ 5658:) 5652:, 5646:( 5640:, 5634:( 5625:4 5622:, 5619:1 5616:, 5613:3 5610:( 5604:= 5576:; 5567:8 5564:( 5549:; 5537:( 5519:( 5507:= 5498:; 5475:; 5466:8 5463:( 5448:; 5436:( 5418:( 5406:= 5397:; 5377:; 5374:1 5371:} 5368:; 5362:, 5341:{ 5338:= 5329:; 5323:= 5314:; 5308:= 5299:{ 5287:} 5284:; 5275:} 5269:{ 5260:; 5254:= 5245:{ 5239:; 5233:= 5224:{ 5206:; 5186:; 5183:1 5180:} 5177:; 5171:, 5159:; 5147:; 5141:= 5132:{ 5126:= 5117:; 5111:= 5102:; 5096:= 5087:{ 5078:; 5034:; 5028:; 5025:; 5019:: 5010:[ 5007:= 5001:* 4989:( 4983:= 4920:) 4917:c 4914:( 4908:) 4905:c 4902:( 4890:( 4887:c 4881:( 4866:1 4860:+ 4857:( 4848:( 4839:( 4836:) 4827:( 4821:( 4808:) 4799:( 4793:) 4784:( 4772:( 4763:( 4748:( 4739:( 4736:) 4730:( 4721:( 4670:) 4661:( 4652:) 4643:( 4631:( 4622:( 4601:( 4598:) 4592:( 4583:( 4577:c 4571:( 4565:( 4556:c 4544:( 4511:( 4443:) 4440:7 4437:( 4434:b 4425:) 4419:( 4413:= 4410:b 4401:) 4398:2 4395:( 4392:a 4386:9 4383:) 4380:5 4377:( 4374:a 4365:) 4362:4 4359:( 4353:= 4350:a 4329:n 4326:) 4320:( 4311:= 4308:n 4305:) 4299:( 4277:) 4274:7 4271:( 4268:b 4259:) 4253:( 4247:= 4244:b 4235:) 4232:2 4229:( 4226:a 4220:9 4217:) 4214:5 4211:( 4208:a 4199:) 4196:4 4193:( 4187:= 4184:a 4169:n 4166:. 4160:) 4142:( 4124:n 4080:7 4077:( 4074:a 4071:= 4068:x 4059:7 4056:( 4053:b 4050:= 4047:x 4038:( 4032:= 4029:b 4017:2 4014:( 4011:a 4008:= 4005:x 3996:5 3993:( 3990:a 3987:= 3984:x 3975:4 3972:( 3966:= 3963:a 3950:} 3944:; 3941:x 3929:{ 3926:) 3923:x 3920:( 3911:; 3905:= 3896:{ 3893:) 3887:( 3853:, 3847:( 3841:. 3829:( 3823:. 3817:( 3805:( 3799:. 3790:) 3784:, 3778:( 3775:= 3751:, 3745:, 3739:, 3733:, 3727:, 3721:( 3715:. 3709:= 3678:, 3672:( 3666:. 3657:} 3648:( 3642:. 3636:( 3624:( 3618:. 3609:{ 3606:) 3597:, 3588:( 3576:{ 3555:= 3531:, 3525:, 3519:, 3513:, 3507:, 3501:( 3495:. 3489:= 3422:) 3416:, 3410:, 3407:? 3404:, 3398:( 3389:( 3383:. 3335:? 3332:( 3323:( 3317:. 3311:) 3299:{ 3293:( 3287:. 3278:? 3275:( 3266:( 3260:. 3248:: 3228:) 3225:s 3222:+ 3216:( 3204:) 3198:: 3195:s 3192:( 3134:( 3122:{ 3116:( 3110:. 3095:: 3047:) 3041:. 3032:( 3026:. 3020:. 2973:} 2964:( 2955:, 2949:( 2943:( 2937:} 2934:} 2931:; 2922:n 2916:{ 2913:) 2910:n 2904:( 2895:} 2892:; 2889:n 2886:= 2880:{ 2877:) 2874:n 2868:( 2862:; 2853:{ 2844:; 2838:= 2829:; 2826:= 2817:{ 2805:} 2802:; 2793:} 2790:; 2775:( 2769:( 2763:{ 2760:) 2754:; 2748:( 2742:{ 2739:) 2733:F 2730:, 2724:T 2718:F 2715:, 2712:T 2709:( 2689:} 2683:; 2674:n 2668:{ 2665:) 2662:n 2656:( 2653:, 2647:( 2641:( 2635:; 2629:= 2620:; 2617:= 2608:{ 2581:} 2569:, 2563:( 2557:( 2551:} 2548:; 2539:n 2533:{ 2530:) 2527:n 2521:( 2512:; 2506:= 2497:; 2494:= 2485:{ 2473:} 2470:; 2461:} 2458:; 2443:( 2437:( 2431:{ 2428:) 2422:; 2416:( 2410:{ 2407:) 2401:) 2398:T 2395:( 2386:, 2380:T 2374:T 2371:( 2350:D 2339:} 2336:} 2330:y 2327:- 2324:x 2318:) 2315:y 2312:, 2309:x 2300:. 2291:2 2288:, 2285:1 2282:, 2279:3 2276:, 2273:4 2270:{ 2252:= 2243:{ 2225:{ 2213:; 2204:; 2188:} 2185:} 2176:( 2170:. 2164:; 2158:= 2137:2 2134:, 2131:1 2128:, 2125:3 2122:, 2119:4 2116:{ 2098:= 2089:{ 2071:} 2068:; 2065:y 2062:- 2059:x 2053:{ 2050:) 2047:y 2041:, 2038:x 2032:( 2017:{ 2005:; 1996:; 1963:} 1957:; 1945:{ 1936:, 1918:, 1906:( 1885:( 1873:{ 1836:} 1827:( 1821:, 1803:, 1791:( 1770:( 1752:( 1740:{ 1725:; 1716:: 1710:} 1707:; 1695:{ 1680:) 1674:( 1668:: 1665:) 1656:( 1650:: 1644:{ 1597:} 1594:; 1591:0 1573:. 1561:. 1555:( 1540:2 1537:, 1534:1 1531:, 1528:3 1525:, 1522:4 1519:{ 1495:{ 1480:} 1477:; 1468:{ 1459:* 1456:T 1444:( 1438:= 1435:T 1429:} 1426:; 1423:b 1417:a 1411:{ 1408:) 1405:b 1393:, 1390:a 1378:( 1366:{ 1313:b 1310:, 1307:a 1304:( 1298:= 1289:; 1264:} 1261:; 1258:0 1246:{ 1240:) 1237:b 1225:, 1222:a 1210:( 1201:. 1189:. 1183:( 1171:; 1165:= 1144:; 1120:{ 1097:} 1094:; 1091:0 1079:( 1067:. 1055:. 1049:( 1031:; 1007:{ 992:} 983:; 977:. 974:b 965:. 962:a 956:) 944:( 935:; 929:. 926:b 917:. 914:a 908:) 896:( 887:; 881:. 878:b 869:. 866:a 860:) 848:( 842:{ 836:) 833:b 821:, 818:a 797:} 791:{ 788:) 782:( 776:: 773:) 767:= 746:( 740:; 722:{ 701:} 698:; 695:0 677:. 665:. 659:( 644:2 641:, 638:1 635:, 632:3 629:, 626:4 623:{ 599:{ 584:} 581:; 578:b 572:a 566:{ 560:) 557:b 545:, 542:a 521:{ 490:} 487:; 484:0 466:( 454:( 448:/ 445:) 439:( 433:, 427:( 418:2 415:, 412:1 409:, 406:3 403:, 400:4 397:{ 394:= 385:{ 382:) 376:( 355:} 349:b 346:) 343:* 337:( 334:* 331:- 328:a 325:) 322:* 316:( 313:* 310:( 304:{ 301:) 298:b 295:* 286:, 283:a 280:* 271:( 174:C 123:) 117:( 112:) 108:( 98:· 91:· 84:· 77:· 50:. 27:.

Index

Functor
Functor (functional programming)

verification
improve this article
adding citations to reliable sources
"Function object"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer programming
object
function
the functional programming concept
callback
procedural languages
C
function pointers
façade
C++
Eiffel
Groovy
Lisp
Smalltalk
Perl
PHP
Python

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.