386:, this condition is trivially satisfied, but with multiple dispatch, it is possible for two or more candidates to satisfy a given actual argument list, but neither is more specific than the other (one dynamic argument being the subtype in one case, another being the subtype in the other case). This particularly can happen if two different packages, neither depending on the other, both extend some multi-method with implementations concerning each package's types, and then a third package that includes both (possibly indirectly) then invokes the multi-method using arguments from both packages.
415:" method developed in C++ and other early OO languages (where each class has an array of function pointers corresponding to that class's virtual functions) is nearly as fast as a static method call, requiring O(1) overhead and only one additional memory lookup even in the un-optimized case. However, the vtable method uses the function name and not the argument type as its lookup key, and does not scale to the multiple dispatch case. (It also depends on the object-oriented paradigm of methods being features of classes, not standalone entities independent of any particular datatype).
293:, in which static typing information, such as a term's declared or inferred type (or base type in a language with subtyping) is used to determine which of several possibilities will be used at a given call site, and that determination is made at compile or link time (or some other time before program execution starts) and is thereafter invariant for a given deployment or run of the program. Many languages such as C++ offer robust function overloading but do not offer dynamic multiple dispatch (C++ only permits dynamic single dispatch through use of virtual functions).
8101:
439:, MultiJava, Diesel, and Nice. Their results show that 13–32% of generic functions use the dynamic type of one argument, while 2.7–6.5% of them use the dynamic type of multiple arguments. The remaining 65–93% of generic functions have one concrete method (overrider), and thus are not considered to use the dynamic types of their arguments. Further, the study reports that 2–20% of generic functions had two and 3–6% had three concrete function implementations. The numbers decrease rapidly for functions with more concrete overriders.
710:
372:
the multi-method is invoked with that value as an argument, the multi-method case defined in the package which includes the type should be employed. To put it another way—within a given program, the same multi-method invoked with the same set of arguments should resolve to the same implementation, regardless of the location of the call site, and whether or not a given definition is "in scope" or "visible" at the point of the method call.
382:
behavior is undesirable. Assuming a set of types with a non-circular subtyping relationship, one can define that one implementation of a multi-method is "better" (more specific) if all dynamically-dispatched arguments in the first are subtypes of all dynamically-dispatched arguments specified in the second, and at least one is a strict subtype. With single dispatch and in the absence of
349:; actual terminology for this concept varies between language. Each package may contain multiple type, value, and function definitions, packages are often compiled separately in languages with a compilation step, and a non-cyclical dependency relationship may exist. A complete program is a set of packages, with a
6837:
The syntax for declaring open methods is inspired by a proposal for a native C++ implementation. The library requires that the user registers all the classes used as virtual arguments (and their sub-classes), but does not require any modifications to existing code. Methods are implemented as ordinary
704:
introduced support for dynamic multimethods in version 4 (April 2010) using the 'dynamic' keyword. The following example demonstrates multimethods. Like many other statically-typed languages, C# also supports static method overloading. Microsoft expects that developers will choose static typing over
360:
relates to the ability for code in a depending package to extend behaviors (functions or datatypes) defined in a base package from within an including package, without modifying the source to the base package. Traditional single-dispatch OO languages make it trivial to add new datatypes but not new
327:
There is some run-time cost associated with dynamically dispatching function calls. In some languages, the distinction between overloading and multimethods can be blurred, with the compiler determining whether compile time selection can be applied to a given function call, or whether slower run time
7585:
that he liked the concept of multimethods and considered implementing it in C++ but claims to have been unable to find an efficient sample implementation (comparable to virtual functions) and resolve some possible type ambiguity problems. He then states that although the feature would still be nice
410:
Efficient implementation of single-dispatch, including in programming languages that are separately compiled to object code and linked with a low-level (not-language-aware) linker, including dynamically at program load/start time or even under the direction of the application code, are well known.
400:
Construction of other rules for resolving an ambiguity in one direction or another. Sometimes, such rules might be arbitrary and surprising. In the rules for static overload resolution in C++, for instance, a type which matches exactly is understandably considered a better match than a type which
371:
Conversely, if a datatype is defined in a given package, and a multi-method extension using that type is also defined in the same package, and a value of that type is passed (through a base type reference or into a generic function) into another package with no dependency on that package, and then
6841:
The library uses a combination of techniques (compressed dispatch tables, collision free integer hash table) to implement method calls in constant time, while mitigating memory usage. Dispatching a call to an open method with a single virtual argument takes only 15–30% more time than calling an
336:
There are several known issues with dynamic-dispatch, both single and multiple. While many of these issues are solved for single-dispatch, which has been a standard feature in object-oriented programming languages for decades, these issues become more complicated in the multiple-dispatch case.
224:
Function names are usually selected so as to be descriptive of the function's purpose. It is sometimes desirable to give several functions the same name, often because they perform conceptually similar tasks, but operate on different types of input data. In such cases, the name reference at the
381:
It is generally desirable that for any given invocation of a multi-method, there be at most one "best" candidate among implementation cases of the multi-method, and/or that if there is not, that this be resolved in a predictable and deterministic fashion, including failure. Non-deterministic
4694:
With the C Object System library, C does support dynamic dispatch similar to CLOS. It is fully extensible and does not need any manual handling of the methods. Dynamic message (methods) are dispatched by the dispatcher of COS, which is faster than
Objective-C. Here is an example in COS:
192:
where a function or method call is dynamically dispatched based on the derived type of the object on which the method has been called. Multiple dispatch routes the dynamic dispatch to the implementing function or method using the combined characteristics of one or more arguments.
401:
matches through a base type reference or a generic (template) parameter. However, if the only possible matches are either through a base type or a generic parameter, the generic parameter is preferred over the base type, a rule that sometimes produces surprising behavior.
687:
Distinguishing multiple and single dispatch may be made clearer by an example. Imagine a game that has, among its (user-visible) objects, spaceships and asteroids. When two objects collide, the program may need to do different things according to what has just hit what.
2032:
method above is attached to two different classes, not one. Hence, the special syntax for method invocation generally disappears, so that method invocation looks exactly like ordinary function invocation, and methods are grouped not in classes but in
361:
functions; traditional functional languages tend to have the opposite effect, and multiple dispatch, if implemented correctly, allows both. It is desirable for an implementation of multiple dispatch to have the following properties:
320:), selection among alternative functions must occur then, based on the dynamically determined types of function arguments. Functions whose alternative implementations are selected in this manner are referred to most generally as
396:
Ordering the arguments, so e.g. the case with the most specific first argument is selected, and subsequent arguments are not considered for ambiguity resolution unless the first argument is insufficient to resolve the
225:
function call site is not sufficient for identifying the block of code to be executed. Instead, the number and type of the arguments to the function call are also used to select among several function implementations.
446:, where multiple dispatch was a central design concept from the origin of the language: collecting the same statistics as Muschevici on the average number of methods per generic function, it was found that the Julia
2457:, like Perl, uses proven ideas from other languages, and type systems have shown themselves to offer compelling advantages in compiler-side code analysis and powerful user-side semantics via multiple dispatch.
426:
To estimate how often multiple dispatch is used in practice, Muschevici et al. studied programs that use dynamic dispatch. They analyzed nine applications, mostly compilers, written in six different languages:
4376:
C does not have dynamic dispatch, so it must be implemented manually in some form. Often an enum is used to identify the subtype of an object. Dynamic dispatch can be done by looking up this value in a
6838:
inline C++ functions; they can be overloaded and they can be passed by pointer. There is no limit on the number of virtual arguments, and they can be arbitrarily mixed with non-virtual arguments.
9328:
Multiple dispatch – the selection of a function to be invoked based on the dynamic type of two or more arguments – is a solution to several classical problems in object-oriented programming.
393:
Treating any ambiguous calls as an error. This might be caught at compile time (or otherwise before deployment), but might not be detected until runtime and produce a runtime error.
9127:
8801:
248:), one of its arguments is treated specially and used to determine which of the (potentially many) classes of methods of that name is to be applied. In many languages, the
217:. This transfers control temporarily to the called function; when the function's execution has completed, control is typically transferred back to the instruction in the
368:
Inclusion of another package in the program should not change the behavior of a given multi-method call, when the call does not use any datatypes defined in the package.
9107:
267:
In contrast, in languages with multiple dispatch, the selected method is simply the one whose arguments match the number and type of the function call. There is no
465:
is the mean of the square of the number of methods (to better measure the frequency of functions with a large number of methods); and the degree of specialization
3292:
extension. JavaScript and TypeScript do not support multimethods at the syntax level, but it is possible to add multiple dispatch via a library. For example, the
3288:
In languages that do not support multiple dispatch at the language definition or syntactic level, it is often possible to add multiple dispatch using a
2028:
In the presence of multiple dispatch, the traditional idea of methods as being defined in classes and contained in objects becomes less appealing—each
309:, selecting among the alternatives can occur then. The act of creating such alternative functions for compile time selection is usually referred to as
676:
252:
argument is indicated syntactically; for example, a number of programming languages put the special argument before a dot in making a method call:
9536:
365:
It is possible to define different "cases" of a multi-method from within different packages without modifying the source of a base package.
705:
dynamic typing in most scenarios. The 'dynamic' keyword supports interoperability with COM objects and dynamically-typed .NET languages.
450:
uses more than double the amount of overloading than in the other languages analyzed by
Muschevici, and more than 10 times in the case of
189:
8573:
671:
The theory of multiple dispatching languages was first developed by
Castagna et al., by defining a model for overloaded functions with
353:
which may depend on several other packages, and the whole program consisting of the transitive closure of the dependency relationship.
9397:
8900:
Bezanson, Jeff; Edelman, Alan; Karpinski, Stefan; Shah, Viral B. (7 February 2017). "Julia: A fresh approach to numerical computing".
9194:
8707:
4246:
The PEAK-Rules package provides multiple dispatch with a syntax similar to the above example. It was later replaced by PyProtocols.
9855:
2048:
has built-in multiple dispatch, and it is central to the language design. The Julia version of the example above might look like:
9791:
345:
In most popular programming languages, source code is delivered and deployed in granules of functionality which we will here call
9301:"C Object System: A framework that brings C to the level of other high level programming languages and beyond: CObjectSystem/COS"
7590:
or a type based lookup table as outlined in the C/C++ example above so is a low priority feature for future language revisions.
9850:
282:(CLOS) is an early and well-known example of multiple dispatch. Another notable example of the use of multiple dispatch is the
141:
4253:
9500:
9369:
8989:
7602:
natively supports only single dispatch. However, it is possible to emulate open multimethods as a library function in D. The
9427:
9087:
8100:
2460:
It has both multimethods, and multisubs. Since most operators are subroutines, it also has multiple dispatched operators.
469:
is the average number of type-specialized arguments per method (i.e., the number of arguments that are dispatched on):
178:
9750:
8867:
8811:
8675:
4136:
8522:
182:
8800:
Ranka, Sanjay; Banerjee, Arunava; Biswas, Kanad
Kishore; Dua, Sumeet; Mishra, Prabhat; Moona, Rajat (2010-07-26).
8528:
451:
33:
8851:
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
229:
8803:
Contemporary
Computing: Second International Conference, IC3 2010, Noida, India, August 9–11, 2010. Proceedings
8617:
701:
8979:
8849:
8753:
8725:
8695:
8655:
8533:
3884:
3868:
170:
8703:
8538:
8513:
8493:
8476:
2045:
607:
576:
489:
443:
436:
432:
283:
8735:
8665:
8549:
8093:
2454:
1275:
17:
5182:
natively supports only single dispatch, though adding multi-methods (multiple dispatch) was proposed by
2623:# We add multi candidates to the numeric comparison operators because we are comparing them numerically,
8543:
134:
9543:
9447:
8848:
Muschevici, Radu; Potanin, Alex; Tempero, Ewan; Noble, James (2008). "Multiple dispatch in practice".
8507:
428:
279:
9690:
9567:
9320:
9019:
5186:(and collaborators) in 2007. The methods of working around this limit are analogous: use either the
9250:
9160:
Multiple dispatch in JavaScript/TypeScript with configurable dispatch resolution by Maciej Cąderek.
8645:
8607:
8554:
7599:
9627:
2798:# If we didn't define it we would have gotten a generic one that didn't have constraints.
63:
9587:
9014:
4132:
Functionally, this is very similar to the CLOS example, but the syntax is conventional Python.
2825:# Note that the 'where' constraint uses the `<` operator candidate we added earlier.
1293:
Late binding works the same when using non-static methods or compiling class/methods statically
545:
8659:
3115:"two asteroids collided and combined into one larger asteroid of mass { $ a + $ b }"
127:
9730:
9405:
9357:
9211:
9050:
Bruce, Kim; Cardelli, Luca; Castagna, Giuseppe; Leavens, Gary T.; Pierce, Benjamin (1995).
1279:
383:
310:
290:
162:
54:
49:
9516:
9201:, Multiple dispatch in Python with configurable dispatch resolution by David Mertz, et al.
9146:
2025:
and similarly for the other methods. Explicit testing and "dynamic casting" are not used.
457:
The data from these papers is summarized in the following table, where the dispatch ratio
209:, procedures, subprograms, functions, or methods. The code in the function is executed by
181:(dynamic) type or, in the more general case, some other attribute of more than one of its
8:
9191:
3872:
3289:
2822:# The 'where' constraint technically only applies to $ b not the whole signature.
77:
40:
9361:
8138:/* These methods would need different names in a language without method overloading. */
9818:. ACM 6th International Conference on Generative Programming and Component Engineering.
9067:
9032:
8927:
8909:
8873:
8780:
8715:
357:
115:
9005:
Castagna, Giuseppe (1995). "Covariance and contravariance: conflict without a cause".
8729:
9496:
9365:
8985:
8863:
8807:
8569:
5183:
2980:# If the ships have unequal mass one of the first two candidates gets called instead.
9667:
9157:
9036:
8931:
8767:
8679:
9063:
9024:
8958:
8919:
8877:
8855:
8578:
4378:
4140:
2034:
447:
418:
Efficient implementation of multiple-dispatch remains an ongoing research problem.
316:
In programming languages that defer data type identification until run time (i.e.,
174:
100:
95:
72:
9051:
8711:
8689:
9488:
9198:
7587:
5187:
2795:# Define a new multi dispatcher, and add some type constraints to the parameters.
2629:# ( If they did coerce we wouldn't necessarily need to add these operators. )
509:
186:
105:
9771:
9710:
8621:
8597:
8635:
679:
of object-oriented languages and a solution to the problem of binary methods.
9844:
9810:
8757:
8096:, multiple dispatch can be emulated with multiple levels of single dispatch:
6842:
ordinary virtual member function, when a modern optimizing compiler is used.
4256:, multiple dispatch is possible with even simpler syntax. For example, using
1271:
9823:
8859:
4355:"""Behavior when asteroid hits a spaceship."""
4232:"""Behavior when asteroid hits a spaceship."""
2819:# No need to repeat the types here since they are the same as the prototype.
9607:
8963:
8946:
4381:
4313:"""Behavior when asteroid hits a asteroid."""
4187:"""Behavior when asteroid hits a asteroid."""
4143:
produced a sample implementation of multimethods with a simplified syntax:
672:
317:
306:
9225:
9028:
8699:
1282:
language, which, contrary to Java, uses late binding / multiple dispatch.
8503:
8488:
6834:
library provides a fast, orthogonal implementation of open multimethods.
5285:// (dynamic_cast to a reference type would throw an exception on failure)
4069:"""Behavior when asteroid hits asteroid."""
1859:
709:
505:
202:
9321:"Report on language support for Multi-Methods and Open-Methods for C ++"
9275:
8743:
461:
is the average number of methods per generic function; the choice ratio
9300:
9171:
8763:
8747:
8611:
8601:
8518:
4539:/* not a type of thing itself, instead used to find number of things */
3278:
206:
166:
8923:
8639:
8546:, up to v0.19.x (from v0.20.0 it is necessary to pass a compiler flag)
9647:
9384:
8984:. Progress in Theoretical Computer Science. Birkhäuser. p. 384.
8649:
302:
237:
86:
8669:
7598:
As of 2021, as do many other object-oriented programming languages,
3887:
without changing the underlying syntax or keywords of the language.
3296:
provides an implementation of multiple dispatch, generic functions.
3072:# You can unpack the attributes into variables within the signature.
2977:# because they have more specialized types than the preceding three.
8739:
8719:
4257:
3075:# You could even have a constraint on them `(:mass($ a) where 10)`.
9467:
9342:, Fast, Orthogonal Open Multi-Methods for C++ by Jean-Louis Leroy.
8945:
Castagna, Giuseppe; Ghelli, Giorgio & Longo, Giuseppe (1995).
8914:
2632:# We could have also defined entirely new operators this same way.
2626:# but makes no sense to have the objects coerce to a Numeric type.
9339:
8631:
8498:
2891:# redispatch to the previous candidate with the arguments swapped
9809:
Stroustrup, Bjarne; Solodkyy, Yuriy; Pirkelbauer, Peter (2007).
5282:// dynamic_cast to a pointer type returns NULL if the cast fails
9305:
8584:
4249:
The Reg library also supports multiple and predicate dispatch.
2974:# The following two candidates can be anywhere after the proto,
2911:# order the subs were written. ( This one would always match. )
527:
412:
232:
object-oriented programming languages, when invoking a method (
715:
The example below uses features introduced in C# 9 and C# 10.
9808:
8847:
8627:
8559:
5179:
245:
9049:
8899:
2908:# have 'where' constraints, which get checked in the
2467:
constraints that allow making very specialized subroutines.
1862:, it might look more like this (Common Lisp example shown):
691:
8685:
8564:
2905:# This has to be after the first two because the other ones
9128:"Dynamic .NET - Understanding the Dynamic Keyword in C# 4"
5195:// Example using run time type comparison via dynamic_cast
2859:"$ a.name() was @destroyed.pick() by $ b.name()"
8854:. OOPSLA '08. Nashville, TN, USA: ACM. pp. 563–582.
4243:
and then it goes on to define the multimethod decorator.
3052:"$ n1 collided with $ n2, and both ships were "
7586:
to have, that it can be approximately implemented using
8799:
275:
the function/method carried out in a particular call.
9007:
6845:
The
Asteroids example can be implemented as follows:
8947:"A calculus for overloaded functions with subtyping"
3279:
Extending languages with multiple-dispatch libraries
9185:
9151:
8944:
8465:
2463:Along with the usual type constraints, it also has
213:it – executing a piece of code that references its
201:Developers of computer software typically organize
9537:"The Fortress Language Specification, Version 1.0"
8482:
301:When working with languages that can discriminate
8981:Object-Oriented Programming: A Unified Foundation
8092:In a language with only single dispatch, such as
9842:
340:
9387:, Open Multi-Methods for D by Jean-Louis Leroy.
8462:checks at one or both levels can also be used.
442:Multiple dispatch is used much more heavily in
289:Multiple dispatch should be distinguished from
8895:
8893:
8891:
8889:
8887:
7929:// The override for two DiagonalMatrix objects
4366:
1858:In a language with multiple dispatch, such as
8843:
135:
8841:
8839:
8837:
8835:
8833:
8831:
8829:
8827:
8825:
8823:
675:. It yielded the first formalization of the
9390:
9378:
9356:. Indianapolis, IN, U.S.A: Addison Wesley.
9352:Stroustrup, Bjarne (1994). "Section 13.8".
9173:multimethod: Multiple argument dispatching.
9088:"Using type dynamic (C# Programming Guide)"
8884:
7647:// The override for two DenseMatrix objects
3883:which provides CLOS-style multimethods for
9351:
142:
128:
9018:
8962:
8913:
8820:
4503:/* handle Spaceship-Spaceship collision*/
4479:/* handle Spaceship-Asteroid collision */
4455:/* handle Asteroid-Spaceship collision */
4431:/* handle Asteroid-Asteroid collision */
3875:extension. For example, using the module
3299:Dynamically-typed version in JavaScript:
1584:// Dynamic dispatch to collideWith method
1290:Groovy implementation of C# example above
978:// Dynamic dispatch to CollideWith method
692:Languages with built-in multiple dispatch
196:
9772:"Notes for Programming Language Experts"
9004:
8977:
8447:// Handle Spaceship-Spaceship collision.
8363:// Call collideWith on the other object.
8228:// Call collideWith on the other object.
6309:/*handle Spaceship-Spaceship collision*/
4931:// deal with spaceship hitting spaceship
4238:# ... define other multimethod rules ...
3851:// deal with spaceship hitting spaceship
3498:Statically-typed version in TypeScript:
3487:// deal with spaceship hitting spaceship
2017:;; deal with spaceship hitting spaceship
677:problem of covariance and contravariance
9751:"New Features in C#4.0 and VB.Net 10.0"
9428:"Multimethods in C# 4.0 With 'Dynamic'"
8414:// Handle Spaceship-Asteroid collision.
8312:// Handle Asteroid-Spaceship collision.
7276:// handle Spaceship-Spaceship collision
6279:/*handle Spaceship-Asteroid collision*/
6165:/*handle Asteroid-Spaceship collision*/
5537:// handle Spaceship-Spaceship collision
4895:// deal with spaceship hitting asteroid
4859:// deal with asteroid hitting spaceship
3818:// deal with spaceship hitting asteroid
3785:// deal with asteroid hitting spaceship
3454:// deal with spaceship hitting asteroid
3421:// deal with asteroid hitting spaceship
1978:;; deal with spaceship hitting asteroid
1939:;; deal with asteroid hitting spaceship
14:
9843:
9486:
8279:// Handle Asteroid-Asteroid collision.
7222:// handle Spaceship-Asteroid collision
7168:// handle Asteroid-Spaceship collision
6135:/*handle Asteroid-Asteroid collision*/
5486:// handle Spaceship-Asteroid collision
5381:// handle Asteroid-Spaceship collision
4823:// deal with asteroid hitting asteroid
3752:// deal with asteroid hitting asteroid
3388:// deal with asteroid hitting asteroid
1900:;; deal with asteroid hitting asteroid
254:special.method(other, arguments, here)
9608:"Visitor Pattern Versus Multimethods"
9495:. Bedford, MA, U.S.A: Digital Press.
9333:
9056:Theory and Practice of Object Systems
7114:// handle Asteroid-Asteroid collision
5330:// handle Asteroid-Asteroid collision
2970:"$ n1 @damaged.pick() $ n2"
27:Feature of some programming languages
9212:"Five-minute Multimethods in Python"
8470:
5563:or pointer-to-method lookup table:
205:into named blocks variously called
24:
9068:10.1002/j.1096-9942.1995.tb00019.x
5549:// default collision handling here
5393:// default collision handling here
3867:Multiple dispatch can be added to
421:
25:
9867:
9802:
9255:Python Enterprise Application Kit
9169:
8590:
4384:. Here is a simple example in C:
8466:Support in programming languages
8099:
7564:// Spaceship-Spaceship collision
6853:<yorel/yomm2/keywords.hpp>
2579:'some unnamed spaceship'
708:
9856:Polymorphism (computer science)
9784:
9764:
9743:
9723:
9703:
9683:
9660:
9640:
9620:
9600:
9580:
9560:
9529:
9509:
9480:
9460:
9440:
9420:
9354:The Design and Evolution of C++
9345:
9313:
9293:
9268:
9243:
9218:
9204:
9163:
9140:
9120:
8483:Supporting general multimethods
7583:The Design and Evolution of C++
7537:// Spaceship-Asteroid collision
7510:// Asteroid-Spaceship collision
7456:// note: types partially erased
484:Degree of specialization (DoS)
9100:
9080:
9043:
8998:
8971:
8938:
8793:
7483:// Asteroid-Asteroid collision
1853:
389:Possible resolutions include:
260:would produce a roar, whereas
185:. This is a generalization of
13:
1:
9851:Method (computer programming)
8786:
8740:The Multiple Dispatch Library
8581:via symbolic pattern matching
7060:// default collision handling
6081:// default collision handling
5190:, dynamic cast or a library:
3530:'@arrows/multimethod'
3325:'@arrows/multimethod'
3283:
405:
341:Expressiveness and modularity
296:
9691:"Multiple Dispatch in Seed7"
4361:# ...define further rules...
376:
228:In more conventional, i.e.,
221:that follows the reference.
7:
9824:"Dynamic multiple dispatch"
9628:"Nim Manual: Multi-methods"
9404:. Julialang. Archived from
8978:Castagna, Giuseppe (1996).
8951:Information and Computation
8774:
8572:via late binding, also via
4367:Emulating multiple dispatch
4358:# ...define new behavior...
4316:# ...define new behavior...
4235:# ...define new behavior...
4190:# ...define new behavior...
4072:# ...define new behavior...
1296:(@CompileStatic annotation)
682:
101:Single and dynamic dispatch
10:
9872:
9812:Open Multi-Methods for C++
9731:"VB.Net Multiple Dispatch"
9588:"Methods – LassoGuide 9.2"
8600:language (via the library
2643:« <=> » (
9493:Common LISP: The Language
9468:"Multimethods in Clojure"
8708:gnosis.magic.multimethods
8508:Common Lisp Object System
6069:// pointer-to-method call
4252:With the introduction of
3879:and also with the module
3862:
1266:
666:
429:Common Lisp Object System
331:
280:Common Lisp Object System
242:calling a member function
9568:"Multimethods in Groovy"
8748:Vlx-Multimethods Package
8105:
7608:
6847:
5565:
5192:
4715:<cos/gen/object.h>
4697:
4386:
4262:
4145:
4106:
3889:
3500:
3301:
3145:'The Enterprise'
2619:'was damaged by'
2469:
2336:
2050:
2040:
1864:
1284:
1252:
717:
9487:Steele, Guy L. (1990).
8860:10.1145/1449764.1449808
8660:multimethods vocabulary
8087:
7606:library is an example.
7581:Stroustrup mentions in
2616:'collided with'
2449:
1278:compatible/interusable
623:Julia (operators only)
478:Average # methods (DR)
264:would produce a chirp.
64:Parametric polymorphism
9711:"TADS 3 System Manual"
9517:"Background and Goals"
9226:"PEAK-Rules 0.5a1.dev"
9147:Groovy - Multi-methods
8964:10.1006/inco.1995.1033
5173:
5114:"<s,s> = %d
5078:"<s,a> = %d
5042:"<a,s> = %d
5006:"<a,a> = %d
3064:'left damaged'
286:programming language.
197:Understanding dispatch
175:dynamically dispatched
9668:"How S4 Methods Work"
9029:10.1145/203095.203096
8668:(using the extension
5583:<unordered_map>
2932:# randomize the order
2723:« > » (
2683:« < » (
2552:'an asteroid'
2372:"Big boom!"
2308:"Big boom!"
1274:is a general purpose
942:"Big boom!"
696:
163:programming languages
161:is a feature of some
9828:docs.racket-lang.org
9230:Python Package Index
7593:
6591:Spaceship::initCases
4709:<cos/Object.h>
4371:
1833:@InheritConstructors
1815:@InheritConstructors
1560:"big-boom"
384:multiple inheritance
328:dispatch is needed.
291:function overloading
55:Operator overloading
50:Function overloading
9792:"Multiple dispatch"
9362:1994dec..book.....S
9158:@arrows/multimethod
9052:"On binary methods"
8768:@arrows/multimethod
8744:Multimethod Package
8690:Class::Multimethods
8680:@arrows/multimethod
6678:spaceship_collision
6579:spaceship_collision
6492:Asteroid::initCases
6390:CollisionHandlerMap
6288:spaceship_collision
6144:spaceship_collision
5931:CollisionHandlerMap
5799:CollisionHandlerMap
5727:CollisionHandlerMap
3294:multimethod package
2763:« == » (
78:Generic programming
41:Ad hoc polymorphism
9197:2005-03-09 at the
8781:Predicate dispatch
8658:(via the standard
6639:asteroid_collision
6534:asteroid_collision
6258:asteroid_collision
6114:asteroid_collision
593:Dylan (OpenDylan)
481:Choice ratio (CR)
358:expression problem
116:Predicate dispatch
9753:. 4 November 2010
9502:978-1-55558-041-4
9371:978-0-201-54330-8
8991:978-0-8176-3905-1
8924:10.1137/141000671
8738:(via the library
8648:(via the library
8630:(via the library
8622:multimethod-sharp
8620:(via the library
8610:(via the library
5184:Bjarne Stroustrup
4937:// example of use
4135:Using Python 2.4
2035:generic functions
664:
663:
234:sending a message
155:Multiple dispatch
152:
151:
111:Multiple dispatch
16:(Redirected from
9863:
9837:
9835:
9834:
9819:
9817:
9796:
9795:
9788:
9782:
9781:
9779:
9778:
9768:
9762:
9761:
9759:
9758:
9747:
9741:
9740:
9738:
9737:
9727:
9721:
9720:
9718:
9717:
9707:
9701:
9700:
9698:
9697:
9687:
9681:
9680:
9678:
9677:
9672:
9664:
9658:
9657:
9655:
9654:
9644:
9638:
9637:
9635:
9634:
9624:
9618:
9617:
9615:
9614:
9604:
9598:
9597:
9595:
9594:
9584:
9578:
9577:
9575:
9574:
9564:
9558:
9557:
9555:
9554:
9548:
9542:. Archived from
9541:
9533:
9527:
9526:
9524:
9523:
9513:
9507:
9506:
9484:
9478:
9477:
9475:
9474:
9464:
9458:
9457:
9455:
9454:
9448:"Cecil Language"
9444:
9438:
9437:
9435:
9434:
9424:
9418:
9417:
9415:
9413:
9402:The Julia Manual
9394:
9388:
9382:
9376:
9375:
9349:
9343:
9337:
9331:
9330:
9325:
9317:
9311:
9310:
9297:
9291:
9290:
9288:
9286:
9272:
9266:
9265:
9263:
9261:
9247:
9241:
9240:
9238:
9236:
9222:
9216:
9215:
9208:
9202:
9189:
9183:
9182:
9181:
9180:
9167:
9161:
9155:
9149:
9144:
9138:
9137:
9135:
9134:
9124:
9118:
9117:
9115:
9114:
9108:"Basic concepts"
9104:
9098:
9097:
9095:
9094:
9084:
9078:
9077:
9075:
9074:
9047:
9041:
9040:
9022:
9002:
8996:
8995:
8975:
8969:
8968:
8966:
8942:
8936:
8935:
8917:
8897:
8882:
8881:
8845:
8818:
8817:
8797:
8716:multipledispatch
8688:(via the module
8602:MultiMethods.NET
8579:Wolfram Language
8471:Primary paradigm
8461:
8454:
8451:
8448:
8445:
8442:
8439:
8436:
8433:
8430:
8427:
8424:
8421:
8418:
8415:
8412:
8409:
8406:
8403:
8400:
8397:
8394:
8391:
8388:
8385:
8382:
8379:
8376:
8373:
8370:
8367:
8364:
8361:
8358:
8355:
8352:
8349:
8346:
8343:
8340:
8337:
8334:
8331:
8328:
8325:
8322:
8319:
8316:
8313:
8310:
8307:
8304:
8301:
8298:
8295:
8292:
8289:
8286:
8283:
8280:
8277:
8274:
8271:
8268:
8265:
8262:
8259:
8256:
8253:
8250:
8247:
8244:
8241:
8238:
8235:
8232:
8229:
8226:
8223:
8220:
8217:
8214:
8211:
8208:
8205:
8202:
8199:
8196:
8193:
8190:
8187:
8184:
8181:
8178:
8175:
8172:
8169:
8166:
8163:
8160:
8157:
8154:
8151:
8148:
8145:
8142:
8139:
8136:
8133:
8130:
8127:
8124:
8121:
8118:
8115:
8112:
8109:
8103:
8083:
8080:
8077:
8074:
8071:
8068:
8065:
8062:
8059:
8056:
8053:
8050:
8047:
8044:
8041:
8038:
8035:
8032:
8029:
8026:
8023:
8020:
8017:
8014:
8011:
8008:
8005:
8002:
7999:
7996:
7993:
7990:
7987:
7984:
7981:
7978:
7975:
7972:
7969:
7966:
7963:
7960:
7957:
7954:
7951:
7948:
7945:
7942:
7939:
7936:
7933:
7930:
7927:
7924:
7921:
7918:
7915:
7912:
7909:
7906:
7903:
7900:
7897:
7894:
7891:
7888:
7885:
7882:
7879:
7876:
7873:
7870:
7867:
7864:
7861:
7858:
7855:
7852:
7849:
7846:
7843:
7840:
7837:
7834:
7831:
7828:
7825:
7822:
7819:
7816:
7813:
7810:
7807:
7804:
7801:
7798:
7795:
7792:
7789:
7786:
7783:
7780:
7777:
7774:
7771:
7768:
7765:
7762:
7759:
7756:
7753:
7750:
7747:
7744:
7741:
7738:
7735:
7732:
7729:
7726:
7723:
7720:
7717:
7714:
7711:
7708:
7705:
7702:
7699:
7696:
7693:
7690:
7687:
7684:
7681:
7678:
7675:
7672:
7669:
7666:
7663:
7660:
7657:
7654:
7651:
7648:
7645:
7642:
7639:
7636:
7633:
7630:
7627:
7624:
7621:
7618:
7615:
7612:
7577:
7574:
7571:
7568:
7565:
7562:
7559:
7556:
7553:
7550:
7547:
7544:
7541:
7538:
7535:
7532:
7529:
7526:
7523:
7520:
7517:
7514:
7511:
7508:
7505:
7502:
7499:
7496:
7493:
7490:
7487:
7484:
7481:
7478:
7475:
7472:
7469:
7466:
7463:
7460:
7457:
7454:
7451:
7448:
7445:
7442:
7439:
7436:
7433:
7430:
7427:
7424:
7421:
7418:
7415:
7412:
7409:
7406:
7403:
7400:
7397:
7394:
7391:
7388:
7385:
7382:
7379:
7376:
7373:
7370:
7367:
7364:
7361:
7358:
7355:
7352:
7349:
7346:
7343:
7340:
7337:
7334:
7331:
7328:
7325:
7322:
7319:
7316:
7313:
7310:
7307:
7304:
7301:
7298:
7295:
7292:
7289:
7286:
7283:
7280:
7277:
7274:
7271:
7268:
7265:
7262:
7259:
7256:
7253:
7250:
7247:
7244:
7241:
7238:
7235:
7232:
7229:
7226:
7223:
7220:
7217:
7214:
7211:
7208:
7205:
7202:
7199:
7196:
7193:
7190:
7187:
7184:
7181:
7178:
7175:
7172:
7169:
7166:
7163:
7160:
7157:
7154:
7151:
7148:
7145:
7142:
7139:
7136:
7133:
7130:
7127:
7124:
7121:
7118:
7115:
7112:
7109:
7106:
7103:
7100:
7097:
7094:
7091:
7088:
7085:
7082:
7079:
7076:
7073:
7070:
7067:
7064:
7061:
7058:
7055:
7052:
7049:
7046:
7043:
7040:
7037:
7034:
7031:
7028:
7025:
7022:
7019:
7016:
7013:
7010:
7007:
7004:
7001:
6998:
6995:
6992:
6989:
6986:
6983:
6980:
6977:
6974:
6971:
6968:
6965:
6962:
6959:
6956:
6953:
6950:
6947:
6944:
6941:
6938:
6937:register_classes
6935:
6932:
6929:
6926:
6923:
6920:
6917:
6914:
6911:
6908:
6905:
6902:
6899:
6896:
6893:
6890:
6887:
6884:
6881:
6878:
6875:
6872:
6869:
6866:
6863:
6860:
6857:
6854:
6851:
6826:
6823:
6820:
6817:
6814:
6811:
6808:
6805:
6802:
6799:
6796:
6793:
6790:
6787:
6784:
6781:
6778:
6775:
6772:
6769:
6766:
6763:
6760:
6757:
6754:
6751:
6748:
6745:
6742:
6739:
6736:
6733:
6730:
6727:
6724:
6721:
6718:
6715:
6712:
6709:
6706:
6703:
6700:
6697:
6694:
6691:
6688:
6685:
6682:
6679:
6676:
6673:
6670:
6667:
6664:
6663:CollisionHandler
6661:
6658:
6655:
6652:
6649:
6646:
6643:
6640:
6637:
6634:
6631:
6628:
6625:
6624:CollisionHandler
6622:
6619:
6616:
6613:
6610:
6607:
6604:
6601:
6598:
6595:
6592:
6589:
6586:
6583:
6580:
6577:
6574:
6571:
6568:
6565:
6564:CollisionHandler
6562:
6559:
6556:
6553:
6550:
6547:
6544:
6541:
6538:
6535:
6532:
6529:
6526:
6523:
6520:
6519:CollisionHandler
6517:
6514:
6511:
6508:
6505:
6502:
6499:
6496:
6493:
6490:
6487:
6484:
6481:
6478:
6475:
6472:
6469:
6466:
6463:
6460:
6457:
6454:
6451:
6448:
6445:
6442:
6439:
6436:
6433:
6430:
6427:
6424:
6421:
6418:
6415:
6412:
6409:
6406:
6403:
6400:
6397:
6394:
6391:
6388:
6385:
6382:
6379:
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:
6277:
6274:
6271:
6268:
6265:
6262:
6259:
6256:
6253:
6250:
6247:
6244:
6241:
6238:
6235:
6232:
6229:
6226:
6223:
6220:
6217:
6214:
6211:
6208:
6205:
6202:
6199:
6196:
6193:
6190:
6187:
6184:
6181:
6178:
6175:
6172:
6169:
6166:
6163:
6160:
6157:
6154:
6151:
6148:
6145:
6142:
6139:
6136:
6133:
6130:
6127:
6124:
6121:
6118:
6115:
6112:
6109:
6106:
6103:
6100:
6097:
6094:
6091:
6088:
6085:
6082:
6079:
6076:
6073:
6070:
6067:
6064:
6061:
6058:
6055:
6052:
6049:
6046:
6043:
6040:
6037:
6034:
6031:
6028:
6025:
6022:
6019:
6016:
6013:
6010:
6007:
6004:
6001:
5998:
5995:
5992:
5989:
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:
5878:
5875:
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:
5779:
5776:
5775:CollisionHandler
5773:
5770:
5767:
5764:
5761:
5758:
5755:
5752:
5749:
5746:
5743:
5740:
5737:
5734:
5731:
5728:
5725:
5722:
5721:CollisionHandler
5719:
5716:
5713:
5710:
5707:
5704:
5701:
5698:
5695:
5692:
5689:
5686:
5683:
5680:
5677:
5676:CollisionHandler
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:
5599:
5596:
5593:
5590:
5587:
5584:
5581:
5578:
5577:<typeinfo>
5575:
5572:
5569:
5559:
5556:
5553:
5550:
5547:
5544:
5541:
5538:
5535:
5532:
5529:
5526:
5523:
5520:
5517:
5514:
5511:
5508:
5505:
5502:
5499:
5496:
5493:
5490:
5487:
5484:
5481:
5478:
5475:
5472:
5469:
5466:
5463:
5460:
5457:
5454:
5451:
5448:
5445:
5442:
5439:
5436:
5433:
5430:
5427:
5424:
5421:
5418:
5415:
5412:
5409:
5406:
5403:
5400:
5397:
5394:
5391:
5388:
5385:
5382:
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:
5196:
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:
5070:
5067:
5064:
5061:
5058:
5055:
5052:
5049:
5046:
5043:
5040:
5037:
5034:
5031:
5028:
5025:
5022:
5019:
5016:
5013:
5010:
5007:
5004:
5001:
4998:
4995:
4992:
4989:
4986:
4983:
4980:
4977:
4974:
4971:
4968:
4965:
4962:
4959:
4956:
4953:
4950:
4947:
4944:
4941:
4938:
4935:
4932:
4929:
4926:
4923:
4920:
4917:
4914:
4911:
4908:
4905:
4902:
4899:
4896:
4893:
4890:
4887:
4884:
4881:
4878:
4875:
4872:
4869:
4866:
4863:
4860:
4857:
4854:
4851:
4848:
4845:
4842:
4839:
4836:
4833:
4830:
4827:
4824:
4821:
4818:
4815:
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:
4719:
4716:
4713:
4710:
4707:
4704:
4701:
4690:
4687:
4684:
4681:
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:
4507:
4504:
4501:
4498:
4495:
4492:
4489:
4486:
4483:
4480:
4477:
4474:
4471:
4468:
4465:
4462:
4459:
4456:
4453:
4450:
4447:
4444:
4441:
4438:
4435:
4432:
4429:
4426:
4423:
4420:
4417:
4414:
4411:
4408:
4405:
4402:
4399:
4396:
4393:
4390:
4379:function pointer
4362:
4359:
4356:
4353:
4350:
4347:
4344:
4341:
4338:
4335:
4332:
4329:
4326:
4323:
4320:
4317:
4314:
4311:
4308:
4305:
4302:
4299:
4296:
4293:
4290:
4287:
4284:
4281:
4278:
4275:
4272:
4269:
4266:
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:
4141:Guido van Rossum
4128:
4125:
4122:
4119:
4116:
4113:
4110:
4103:
4100:
4097:
4094:
4091:
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:
3956:
3953:
3950:
3947:
3944:
3941:
3938:
3935:
3932:
3929:
3926:
3923:
3920:
3917:
3914:
3911:
3908:
3905:
3902:
3899:
3896:
3893:
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:
3690:
3687:
3684:
3681:
3678:
3675:
3672:
3669:
3666:
3663:
3660:
3657:
3654:
3651:
3648:
3645:
3642:
3639:
3636:
3633:
3630:
3627:
3624:
3621:
3618:
3615:
3612:
3609:
3606:
3603:
3600:
3597:
3594:
3591:
3588:
3585:
3582:
3579:
3576:
3573:
3570:
3567:
3564:
3561:
3558:
3555:
3552:
3549:
3546:
3543:
3540:
3537:
3534:
3531:
3528:
3525:
3522:
3519:
3516:
3513:
3510:
3507:
3504:
3494:
3491:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3461:
3458:
3455:
3452:
3449:
3446:
3443:
3440:
3437:
3434:
3431:
3428:
3425:
3422:
3419:
3416:
3413:
3410:
3407:
3404:
3401:
3398:
3395:
3392:
3389:
3386:
3383:
3380:
3377:
3374:
3371:
3368:
3365:
3362:
3359:
3356:
3353:
3350:
3347:
3344:
3341:
3338:
3335:
3332:
3329:
3326:
3323:
3320:
3317:
3314:
3311:
3308:
3305:
3273:
3269:
3265:
3261:
3257:
3253:
3249:
3245:
3242:
3238:
3234:
3230:
3226:
3222:
3219:
3215:
3211:
3207:
3203:
3199:
3196:
3192:
3188:
3184:
3180:
3176:
3173:
3169:
3165:
3161:
3157:
3153:
3150:
3146:
3142:
3138:
3134:
3130:
3126:
3123:
3120:
3116:
3113:
3109:
3105:
3101:
3097:
3093:
3089:
3085:
3082:
3079:
3076:
3073:
3069:
3065:
3061:
3057:
3053:
3050:
3046:
3042:
3038:
3034:
3030:
3026:
3022:
3018:
3014:
3010:
3007:
3004:
3001:
2997:
2994:
2990:
2987:
2984:
2981:
2978:
2975:
2971:
2968:
2964:
2960:
2956:
2952:
2948:
2944:
2940:
2936:
2933:
2929:
2925:
2921:
2918:
2915:
2912:
2909:
2906:
2902:
2898:
2895:
2892:
2888:
2884:
2881:
2878:
2874:
2870:
2867:
2864:
2860:
2857:
2853:
2849:
2846:
2843:
2839:
2835:
2832:
2829:
2826:
2823:
2820:
2816:
2815:Stellar-Object:D
2812:
2811:Stellar-Object:D
2808:
2805:
2802:
2799:
2796:
2792:
2788:
2784:
2780:
2776:
2773:
2772:Stellar-Object:D
2769:
2766:
2765:Stellar-Object:D
2762:
2759:
2756:
2752:
2748:
2744:
2740:
2736:
2733:
2732:Stellar-Object:D
2729:
2726:
2725:Stellar-Object:D
2722:
2719:
2716:
2712:
2708:
2704:
2700:
2696:
2693:
2692:Stellar-Object:D
2689:
2686:
2685:Stellar-Object:D
2682:
2679:
2676:
2672:
2668:
2664:
2660:
2656:
2653:
2652:Stellar-Object:D
2649:
2646:
2645:Stellar-Object:D
2642:
2639:
2636:
2633:
2630:
2627:
2624:
2620:
2617:
2614:
2610:
2607:
2604:
2600:
2597:
2594:
2590:
2587:
2584:
2580:
2576:
2573:
2570:
2566:
2563:
2560:
2557:
2553:
2549:
2546:
2542:
2539:
2536:
2533:
2529:
2526:
2522:
2519:
2515:
2512:
2509:
2506:
2503:
2499:
2496:
2492:
2488:
2485:
2482:
2479:
2476:
2473:
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:
2361:
2358:
2355:
2352:
2349:
2346:
2343:
2340:
2330:
2327:
2324:
2321:
2318:
2315:
2312:
2309:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2258:
2255:
2252:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
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:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1967:
1964:
1961:
1958:
1955:
1952:
1949:
1946:
1943:
1940:
1937:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1868:
1849:
1846:
1843:
1840:
1837:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
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:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1588:
1585:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1537:
1534:
1531:
1528:
1525:
1522:
1519:
1516:
1513:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1483:
1480:
1477:
1474:
1471:
1468:
1465:
1462:
1459:
1456:
1453:
1450:
1447:
1444:
1441:
1438:
1435:
1432:
1429:
1426:
1423:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1262:
1259:
1256:
1246:
1243:
1240:
1237:
1234:
1231:
1228:
1225:
1222:
1219:
1216:
1213:
1210:
1207:
1204:
1201:
1198:
1195:
1192:
1189:
1186:
1183:
1180:
1177:
1174:
1171:
1168:
1165:
1162:
1159:
1156:
1153:
1150:
1147:
1144:
1141:
1138:
1135:
1132:
1129:
1126:
1123:
1120:
1117:
1114:
1111:
1108:
1105:
1102:
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:
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:
712:
472:
471:
468:
464:
460:
452:binary operators
448:standard library
263:
259:
255:
144:
137:
130:
96:Virtual function
73:Generic function
30:
29:
21:
9871:
9870:
9866:
9865:
9864:
9862:
9861:
9860:
9841:
9840:
9832:
9830:
9822:
9815:
9805:
9800:
9799:
9790:
9789:
9785:
9776:
9774:
9770:
9769:
9765:
9756:
9754:
9749:
9748:
9744:
9735:
9733:
9729:
9728:
9724:
9715:
9713:
9709:
9708:
9704:
9695:
9693:
9689:
9688:
9684:
9675:
9673:
9670:
9666:
9665:
9661:
9652:
9650:
9646:
9645:
9641:
9632:
9630:
9626:
9625:
9621:
9612:
9610:
9606:
9605:
9601:
9592:
9590:
9586:
9585:
9581:
9572:
9570:
9566:
9565:
9561:
9552:
9550:
9546:
9539:
9535:
9534:
9530:
9521:
9519:
9515:
9514:
9510:
9503:
9485:
9481:
9472:
9470:
9466:
9465:
9461:
9452:
9450:
9446:
9445:
9441:
9432:
9430:
9426:
9425:
9421:
9411:
9409:
9408:on 17 July 2016
9396:
9395:
9391:
9383:
9379:
9372:
9350:
9346:
9338:
9334:
9323:
9319:
9318:
9314:
9299:
9298:
9294:
9284:
9282:
9274:
9273:
9269:
9259:
9257:
9249:
9248:
9244:
9234:
9232:
9224:
9223:
9219:
9210:
9209:
9205:
9199:Wayback Machine
9192:multimethods.py
9190:
9186:
9178:
9176:
9168:
9164:
9156:
9152:
9145:
9141:
9132:
9130:
9126:
9125:
9121:
9112:
9110:
9106:
9105:
9101:
9092:
9090:
9086:
9085:
9081:
9072:
9070:
9048:
9044:
9020:10.1.1.115.5992
9003:
8999:
8992:
8976:
8972:
8943:
8939:
8898:
8885:
8870:
8846:
8821:
8814:
8798:
8794:
8789:
8777:
8730:multimethod-lib
8612:C Object System
8593:
8485:
8473:
8468:
8459:
8456:
8455:
8452:
8449:
8446:
8443:
8440:
8437:
8434:
8431:
8428:
8425:
8422:
8419:
8416:
8413:
8410:
8407:
8404:
8401:
8398:
8395:
8392:
8389:
8386:
8383:
8380:
8377:
8374:
8371:
8368:
8365:
8362:
8359:
8356:
8353:
8350:
8347:
8344:
8341:
8338:
8335:
8332:
8329:
8326:
8323:
8320:
8317:
8314:
8311:
8308:
8305:
8302:
8299:
8296:
8293:
8290:
8287:
8284:
8281:
8278:
8275:
8272:
8269:
8266:
8263:
8260:
8257:
8254:
8251:
8248:
8245:
8242:
8239:
8236:
8233:
8230:
8227:
8224:
8221:
8218:
8215:
8212:
8209:
8206:
8203:
8200:
8197:
8194:
8191:
8188:
8185:
8182:
8179:
8176:
8173:
8170:
8167:
8164:
8161:
8158:
8155:
8152:
8149:
8146:
8143:
8140:
8137:
8134:
8131:
8128:
8125:
8122:
8119:
8116:
8113:
8110:
8107:
8090:
8085:
8084:
8081:
8078:
8075:
8072:
8069:
8066:
8063:
8060:
8057:
8054:
8051:
8048:
8045:
8042:
8039:
8036:
8033:
8030:
8027:
8024:
8021:
8018:
8015:
8012:
8009:
8006:
8003:
8000:
7997:
7994:
7991:
7988:
7985:
7982:
7979:
7976:
7973:
7970:
7967:
7964:
7961:
7958:
7955:
7952:
7949:
7946:
7943:
7940:
7937:
7934:
7931:
7928:
7925:
7922:
7919:
7916:
7913:
7910:
7907:
7904:
7901:
7898:
7895:
7892:
7889:
7886:
7883:
7880:
7877:
7874:
7871:
7868:
7865:
7862:
7859:
7856:
7853:
7850:
7847:
7844:
7841:
7838:
7835:
7832:
7829:
7826:
7823:
7820:
7817:
7814:
7811:
7808:
7805:
7802:
7799:
7796:
7793:
7790:
7787:
7784:
7781:
7778:
7775:
7772:
7769:
7766:
7763:
7760:
7757:
7754:
7751:
7748:
7745:
7742:
7739:
7736:
7733:
7730:
7727:
7724:
7721:
7718:
7715:
7712:
7709:
7706:
7703:
7700:
7697:
7694:
7691:
7688:
7685:
7682:
7679:
7676:
7673:
7670:
7667:
7664:
7661:
7658:
7655:
7652:
7649:
7646:
7643:
7640:
7637:
7634:
7631:
7628:
7625:
7622:
7619:
7616:
7613:
7610:
7596:
7588:double dispatch
7579:
7578:
7575:
7572:
7569:
7566:
7563:
7560:
7557:
7554:
7551:
7548:
7545:
7542:
7539:
7536:
7533:
7530:
7527:
7524:
7521:
7518:
7515:
7512:
7509:
7506:
7503:
7500:
7497:
7494:
7491:
7488:
7485:
7482:
7479:
7476:
7473:
7470:
7467:
7464:
7461:
7458:
7455:
7452:
7449:
7446:
7443:
7440:
7437:
7434:
7431:
7428:
7425:
7422:
7419:
7416:
7413:
7410:
7407:
7404:
7401:
7398:
7395:
7392:
7389:
7386:
7383:
7380:
7377:
7374:
7371:
7368:
7365:
7362:
7359:
7356:
7353:
7350:
7347:
7344:
7341:
7338:
7335:
7332:
7329:
7326:
7323:
7320:
7317:
7314:
7311:
7308:
7305:
7302:
7299:
7296:
7293:
7290:
7287:
7284:
7281:
7278:
7275:
7272:
7269:
7266:
7263:
7260:
7257:
7254:
7251:
7248:
7245:
7242:
7239:
7236:
7233:
7230:
7227:
7224:
7221:
7218:
7215:
7212:
7209:
7206:
7203:
7200:
7197:
7194:
7191:
7188:
7185:
7182:
7179:
7176:
7173:
7170:
7167:
7164:
7161:
7158:
7155:
7152:
7149:
7146:
7143:
7140:
7137:
7134:
7131:
7128:
7125:
7122:
7119:
7116:
7113:
7110:
7107:
7104:
7101:
7098:
7095:
7092:
7089:
7086:
7083:
7080:
7077:
7074:
7071:
7068:
7065:
7062:
7059:
7056:
7053:
7050:
7047:
7044:
7041:
7038:
7035:
7032:
7029:
7026:
7023:
7020:
7017:
7014:
7011:
7008:
7005:
7002:
6999:
6996:
6993:
6990:
6987:
6984:
6981:
6978:
6975:
6972:
6969:
6966:
6963:
6960:
6957:
6954:
6951:
6948:
6945:
6942:
6939:
6936:
6933:
6930:
6927:
6924:
6921:
6918:
6915:
6912:
6909:
6906:
6903:
6900:
6897:
6894:
6891:
6888:
6885:
6882:
6879:
6876:
6873:
6870:
6867:
6864:
6861:
6858:
6855:
6852:
6849:
6828:
6827:
6824:
6821:
6818:
6815:
6812:
6809:
6806:
6803:
6800:
6797:
6794:
6791:
6788:
6785:
6782:
6779:
6776:
6773:
6770:
6767:
6764:
6761:
6758:
6755:
6752:
6749:
6746:
6743:
6740:
6737:
6734:
6731:
6728:
6725:
6722:
6719:
6716:
6713:
6710:
6707:
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:
6593:
6590:
6587:
6584:
6581:
6578:
6575:
6572:
6569:
6566:
6563:
6560:
6557:
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:
6479:
6476:
6473:
6470:
6467:
6464:
6461:
6458:
6455:
6452:
6449:
6446:
6443:
6440:
6437:
6434:
6431:
6428:
6425:
6422:
6419:
6416:
6413:
6410:
6407:
6404:
6401:
6398:
6395:
6392:
6389:
6386:
6383:
6380:
6377:
6374:
6371:
6368:
6365:
6362:
6359:
6356:
6353:
6350:
6347:
6344:
6341:
6338:
6335:
6332:
6329:
6326:
6323:
6320:
6317:
6314:
6311:
6308:
6305:
6302:
6299:
6296:
6293:
6290:
6287:
6284:
6281:
6278:
6275:
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:
6170:
6167:
6164:
6161:
6158:
6155:
6152:
6149:
6146:
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:
6068:
6065:
6062:
6059:
6056:
6053:
6050:
6047:
6044:
6041:
6038:
6035:
6032:
6029:
6026:
6023:
6020:
6017:
6014:
6011:
6008:
6005:
6002:
5999:
5996:
5993:
5990:
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:
5876:
5873:
5870:
5867:
5864:
5861:
5858:
5855:
5852:
5849:
5846:
5843:
5840:
5837:
5834:
5831:
5828:
5825:
5822:
5819:
5816:
5813:
5810:
5807:
5804:
5801:
5798:
5795:
5792:
5789:
5786:
5783:
5780:
5777:
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:
5690:
5687:
5684:
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:
5597:
5594:
5591:
5588:
5585:
5582:
5579:
5576:
5573:
5571:<cstdint>
5570:
5567:
5561:
5560:
5557:
5554:
5551:
5548:
5545:
5542:
5539:
5536:
5533:
5530:
5527:
5524:
5521:
5518:
5515:
5512:
5509:
5506:
5503:
5500:
5497:
5494:
5491:
5488:
5485:
5482:
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:
5389:
5386:
5383:
5380:
5377:
5374:
5371:
5368:
5365:
5362:
5359:
5356:
5353:
5350:
5347:
5344:
5341:
5338:
5335:
5332:
5329:
5326:
5323:
5320:
5317:
5314:
5311:
5308:
5305:
5302:
5299:
5296:
5293:
5290:
5287:
5284:
5281:
5278:
5275:
5272:
5269:
5266:
5263:
5260:
5257:
5254:
5251:
5248:
5245:
5242:
5239:
5236:
5233:
5230:
5227:
5224:
5221:
5218:
5215:
5212:
5209:
5206:
5203:
5200:
5197:
5194:
5188:visitor pattern
5176:
5171:
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:
5068:
5065:
5062:
5059:
5056:
5053:
5050:
5047:
5044:
5041:
5038:
5035:
5032:
5029:
5026:
5023:
5020:
5017:
5014:
5011:
5008:
5005:
5002:
4999:
4996:
4993:
4990:
4987:
4984:
4981:
4978:
4975:
4972:
4969:
4966:
4963:
4960:
4957:
4954:
4951:
4948:
4945:
4942:
4939:
4936:
4933:
4930:
4927:
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:
4819:
4816:
4813:
4810:
4807:
4804:
4801:
4798:
4795:
4792:
4790:// multimethods
4789:
4786:
4783:
4780:
4777:
4774:
4771:
4768:
4765:
4762:
4759:
4756:
4753:
4751:// data members
4750:
4747:
4744:
4741:
4738:
4735:
4733:// data members
4732:
4729:
4726:
4723:
4720:
4717:
4714:
4711:
4708:
4705:
4703:<stdio.h>
4702:
4699:
4692:
4691:
4688:
4685:
4682:
4679:
4677:THING_SPACESHIP
4676:
4673:
4670:
4667:
4664:
4661:
4658:
4655:
4652:
4649:
4646:
4643:
4640:
4637:
4634:
4631:
4628:
4625:
4622:
4619:
4616:
4613:
4610:
4607:
4604:
4601:
4598:
4595:
4592:
4589:
4586:
4583:
4580:
4577:
4574:
4571:
4568:
4565:
4562:
4559:
4556:
4553:
4550:
4547:
4544:
4541:
4538:
4535:
4532:
4530:THING_SPACESHIP
4529:
4526:
4523:
4520:
4517:
4514:
4511:
4508:
4505:
4502:
4499:
4496:
4493:
4490:
4487:
4484:
4481:
4478:
4475:
4472:
4469:
4466:
4463:
4460:
4457:
4454:
4451:
4448:
4445:
4442:
4439:
4436:
4433:
4430:
4427:
4424:
4421:
4418:
4415:
4412:
4409:
4406:
4403:
4400:
4397:
4394:
4391:
4388:
4374:
4369:
4364:
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:
4288:
4285:
4282:
4279:
4276:
4273:
4270:
4267:
4264:
4241:
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:
4130:
4129:
4126:
4123:
4120:
4117:
4114:
4111:
4108:
4105:
4104:
4101:
4098:
4095:
4092:
4089:
4086:
4083:
4080:
4077:
4074:
4071:
4068:
4065:
4062:
4059:
4056:
4053:
4050:
4047:
4044:
4041:
4038:
4035:
4032:
4029:
4026:
4023:
4020:
4017:
4014:
4011:
4008:
4005:
4002:
3999:
3996:
3993:
3990:
3987:
3984:
3981:
3978:
3975:
3972:
3969:
3966:
3963:
3960:
3957:
3954:
3951:
3948:
3945:
3942:
3939:
3936:
3933:
3930:
3927:
3924:
3921:
3918:
3915:
3912:
3909:
3906:
3903:
3900:
3897:
3894:
3891:
3881:multimethods.py
3865:
3860:
3859:
3856:
3853:
3850:
3847:
3844:
3841:
3838:
3835:
3832:
3829:
3826:
3823:
3820:
3817:
3814:
3811:
3808:
3805:
3802:
3799:
3796:
3793:
3790:
3787:
3784:
3781:
3778:
3775:
3772:
3769:
3766:
3763:
3760:
3757:
3754:
3751:
3748:
3745:
3742:
3739:
3736:
3733:
3730:
3727:
3724:
3721:
3718:
3715:
3712:
3709:
3706:
3703:
3700:
3697:
3694:
3691:
3688:
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:
3496:
3495:
3492:
3489:
3486:
3483:
3480:
3477:
3474:
3471:
3468:
3465:
3462:
3459:
3456:
3453:
3450:
3447:
3444:
3441:
3438:
3435:
3432:
3429:
3426:
3423:
3420:
3417:
3414:
3411:
3408:
3405:
3402:
3399:
3396:
3393:
3390:
3387:
3384:
3381:
3378:
3375:
3372:
3369:
3366:
3363:
3360:
3357:
3354:
3351:
3348:
3345:
3342:
3339:
3336:
3333:
3330:
3327:
3324:
3321:
3318:
3315:
3312:
3309:
3306:
3303:
3286:
3281:
3276:
3275:
3271:
3267:
3263:
3259:
3255:
3251:
3247:
3243:
3240:
3236:
3232:
3228:
3224:
3220:
3217:
3213:
3209:
3205:
3201:
3197:
3194:
3190:
3186:
3182:
3178:
3174:
3171:
3167:
3163:
3159:
3155:
3151:
3148:
3144:
3140:
3136:
3132:
3128:
3124:
3121:
3118:
3114:
3111:
3107:
3103:
3099:
3095:
3091:
3087:
3083:
3080:
3077:
3074:
3071:
3067:
3063:
3059:
3055:
3051:
3048:
3044:
3040:
3036:
3032:
3028:
3024:
3020:
3016:
3012:
3008:
3005:
3002:
2999:
2995:
2992:
2988:
2985:
2982:
2979:
2976:
2973:
2969:
2966:
2962:
2958:
2954:
2950:
2946:
2942:
2938:
2934:
2931:
2927:
2923:
2919:
2916:
2913:
2910:
2907:
2904:
2900:
2896:
2893:
2890:
2886:
2882:
2879:
2876:
2872:
2868:
2865:
2862:
2858:
2855:
2851:
2847:
2844:
2841:
2837:
2833:
2830:
2827:
2824:
2821:
2818:
2814:
2810:
2806:
2803:
2800:
2797:
2794:
2790:
2786:
2782:
2778:
2774:
2771:
2767:
2764:
2760:
2757:
2754:
2750:
2746:
2742:
2738:
2734:
2731:
2727:
2724:
2720:
2717:
2714:
2710:
2706:
2702:
2698:
2694:
2691:
2687:
2684:
2680:
2677:
2674:
2670:
2666:
2662:
2658:
2654:
2651:
2647:
2644:
2640:
2637:
2634:
2631:
2628:
2625:
2622:
2618:
2615:
2612:
2608:
2605:
2602:
2598:
2595:
2592:
2588:
2585:
2582:
2578:
2574:
2571:
2568:
2564:
2561:
2558:
2555:
2551:
2547:
2544:
2540:
2537:
2534:
2531:
2527:
2524:
2520:
2517:
2513:
2510:
2507:
2504:
2501:
2497:
2494:
2490:
2486:
2483:
2480:
2477:
2474:
2471:
2452:
2447:
2446:
2444:"s/s"
2443:
2440:
2437:
2434:
2431:
2428:
2425:
2422:
2419:
2416:
2413:
2410:
2408:"a/s"
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2350:
2347:
2344:
2341:
2338:
2332:
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:
2230:"a/a"
2229:
2226:
2223:
2220:
2217:
2214:
2211:
2208:
2205:
2202:
2200:"s/s"
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2170:"s/a"
2169:
2166:
2163:
2160:
2157:
2154:
2151:
2148:
2145:
2142:
2140:"a/s"
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:
2043:
2023:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1983:
1980:
1977:
1974:
1971:
1968:
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:
1856:
1851:
1850:
1847:
1844:
1841:
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:
1752:"s/s"
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1710:"s/a"
1709:
1706:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1668:"a/s"
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1626:"a/a"
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
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:
1355:
1352:
1349:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1269:
1264:
1263:
1260:
1257:
1254:
1248:
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:
1152:"s/s"
1151:
1148:
1145:
1142:
1139:
1136:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1110:"s/a"
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1068:"a/s"
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1026:"a/a"
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
984:ColliderLibrary
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
911:
908:
905:
902:
899:
896:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
728:
726:ColliderLibrary
725:
722:
719:
699:
694:
685:
669:
466:
462:
458:
424:
422:Use in practice
408:
379:
343:
334:
299:
262:sparrow.sound()
261:
257:
253:
230:single-dispatch
199:
187:single-dispatch
148:
106:Double dispatch
28:
23:
22:
15:
12:
11:
5:
9869:
9859:
9858:
9853:
9839:
9838:
9820:
9804:
9803:External links
9801:
9798:
9797:
9783:
9763:
9742:
9722:
9702:
9682:
9659:
9639:
9619:
9599:
9579:
9559:
9528:
9508:
9501:
9479:
9459:
9439:
9419:
9389:
9377:
9370:
9344:
9332:
9326:. 2007-03-11.
9312:
9292:
9267:
9242:
9217:
9203:
9184:
9162:
9150:
9139:
9119:
9099:
9079:
9062:(3): 221–242.
9042:
9013:(3): 431–447.
8997:
8990:
8970:
8957:(1): 115–135.
8937:
8883:
8868:
8819:
8812:
8791:
8790:
8788:
8785:
8784:
8783:
8776:
8773:
8772:
8771:
8761:
8751:
8733:
8723:
8712:PyMultimethods
8693:
8683:
8673:
8663:
8653:
8643:
8625:
8615:
8605:
8592:
8591:Via extensions
8589:
8588:
8587:
8582:
8576:
8567:
8562:
8557:
8552:
8547:
8541:
8536:
8531:
8526:
8516:
8511:
8501:
8496:
8491:
8484:
8481:
8480:
8479:
8472:
8469:
8467:
8464:
8106:
8089:
8086:
8070:DiagonalMatrix
7953:DiagonalMatrix
7944:DiagonalMatrix
7611:// Declaration
7609:
7595:
7592:
7306:update_methods
6961:declare_method
6859:<memory>
6848:
6399:collisionCases
6027:collisionCases
5979:collisionCases
5934:collisionCases
5787:collisionCases
5566:
5193:
5175:
5172:
4698:
4683:THING_ASTEROID
4644:collisionCases
4554:collisionCases
4518:THING_ASTEROID
4387:
4373:
4370:
4368:
4365:
4263:
4146:
4107:
3925:game_behaviors
3890:
3877:multimethod.py
3864:
3861:
3501:
3302:
3285:
3282:
3280:
3277:
2565:Stellar-Object
2541:Stellar-Object
2498:Stellar-Object
2470:
2451:
2448:
2337:
2051:
2042:
2039:
1865:
1855:
1852:
1285:
1268:
1265:
1253:
718:
698:
695:
693:
690:
684:
681:
668:
665:
662:
661:
658:
655:
652:
648:
647:
644:
641:
638:
634:
633:
630:
627:
624:
620:
619:
616:
613:
610:
604:
603:
600:
597:
594:
590:
589:
586:
583:
580:
573:
572:
569:
566:
563:
559:
558:
555:
552:
549:
541:
540:
537:
534:
531:
523:
522:
519:
516:
513:
502:
501:
498:
495:
492:
486:
485:
482:
479:
476:
423:
420:
407:
404:
403:
402:
398:
394:
378:
375:
374:
373:
369:
366:
356:The so-called
342:
339:
333:
330:
298:
295:
271:argument that
198:
195:
150:
149:
147:
146:
139:
132:
124:
121:
120:
119:
118:
113:
108:
103:
98:
90:
89:
83:
82:
81:
80:
75:
67:
66:
60:
59:
58:
57:
52:
44:
43:
37:
36:
26:
9:
6:
4:
3:
2:
9868:
9857:
9854:
9852:
9849:
9848:
9846:
9829:
9825:
9821:
9814:
9813:
9807:
9806:
9793:
9787:
9773:
9767:
9752:
9746:
9732:
9726:
9712:
9706:
9692:
9686:
9669:
9663:
9649:
9643:
9629:
9623:
9609:
9603:
9589:
9583:
9569:
9563:
9549:on 2013-01-20
9545:
9538:
9532:
9518:
9512:
9504:
9498:
9494:
9490:
9483:
9469:
9463:
9449:
9443:
9429:
9423:
9407:
9403:
9399:
9393:
9386:
9381:
9373:
9367:
9363:
9359:
9355:
9348:
9341:
9336:
9329:
9322:
9316:
9309:. 2019-02-19.
9308:
9307:
9302:
9296:
9281:
9280:Read the docs
9277:
9271:
9256:
9252:
9251:"PyProtocols"
9246:
9231:
9227:
9221:
9213:
9207:
9200:
9196:
9193:
9188:
9175:
9174:
9170:Coady, Aric,
9166:
9159:
9154:
9148:
9143:
9129:
9123:
9109:
9103:
9089:
9083:
9069:
9065:
9061:
9057:
9053:
9046:
9038:
9034:
9030:
9026:
9021:
9016:
9012:
9008:
9001:
8993:
8987:
8983:
8982:
8974:
8965:
8960:
8956:
8952:
8948:
8941:
8933:
8929:
8925:
8921:
8916:
8911:
8907:
8903:
8896:
8894:
8892:
8890:
8888:
8879:
8875:
8871:
8869:9781605582153
8865:
8861:
8857:
8853:
8852:
8844:
8842:
8840:
8838:
8836:
8834:
8832:
8830:
8828:
8826:
8824:
8815:
8813:9783642148248
8809:
8805:
8804:
8796:
8792:
8782:
8779:
8778:
8769:
8766:(via package
8765:
8762:
8759:
8755:
8752:
8749:
8745:
8741:
8737:
8734:
8731:
8727:
8724:
8721:
8720:plum-dispatch
8717:
8713:
8709:
8705:
8701:
8697:
8694:
8691:
8687:
8684:
8681:
8678:(via package
8677:
8674:
8671:
8667:
8664:
8661:
8657:
8654:
8651:
8647:
8644:
8641:
8637:
8633:
8629:
8626:
8623:
8619:
8616:
8613:
8609:
8606:
8603:
8599:
8595:
8594:
8586:
8583:
8580:
8577:
8575:
8571:
8568:
8566:
8563:
8561:
8558:
8556:
8553:
8551:
8548:
8545:
8542:
8540:
8537:
8535:
8532:
8530:
8527:
8524:
8520:
8517:
8515:
8512:
8509:
8505:
8502:
8500:
8497:
8495:
8492:
8490:
8487:
8486:
8478:
8475:
8474:
8463:
8104:
8102:
8097:
8095:
7607:
7605:
7601:
7591:
7589:
7584:
7228:define_method
7174:define_method
7120:define_method
7066:define_method
7012:define_method
6846:
6843:
6839:
6835:
6833:
5703:unordered_map
5564:
5191:
5189:
5185:
5181:
4696:
4551:CollisionCase
4401:CollisionCase
4385:
4383:
4380:
4261:
4259:
4258:plum-dispatch
4255:
4250:
4247:
4244:
4144:
4142:
4138:
4133:
4109:# ...later...
3888:
3886:
3882:
3878:
3874:
3870:
3499:
3300:
3297:
3295:
3291:
2468:
2466:
2461:
2458:
2456:
2335:
2049:
2047:
2038:
2036:
2031:
2026:
1863:
1861:
1283:
1281:
1277:
1273:
1251:
716:
713:
711:
706:
703:
689:
680:
678:
674:
659:
656:
653:
650:
649:
645:
642:
639:
636:
635:
631:
628:
625:
622:
621:
617:
614:
611:
609:
606:
605:
601:
598:
595:
592:
591:
587:
584:
581:
578:
575:
574:
570:
567:
564:
561:
560:
556:
553:
550:
547:
544:Common Lisp (
543:
542:
538:
535:
532:
529:
526:Common Lisp (
525:
524:
520:
517:
514:
511:
507:
504:
503:
499:
496:
493:
491:
488:
487:
483:
480:
477:
474:
473:
470:
455:
453:
449:
445:
440:
438:
434:
430:
419:
416:
414:
399:
395:
392:
391:
390:
387:
385:
370:
367:
364:
363:
362:
359:
354:
352:
348:
338:
329:
325:
323:
319:
314:
312:
308:
304:
294:
292:
287:
285:
281:
276:
274:
270:
265:
251:
247:
243:
239:
235:
231:
226:
222:
220:
216:
212:
208:
204:
194:
191:
188:
184:
180:
177:based on the
176:
172:
168:
164:
160:
156:
145:
140:
138:
133:
131:
126:
125:
123:
122:
117:
114:
112:
109:
107:
104:
102:
99:
97:
94:
93:
92:
91:
88:
85:
84:
79:
76:
74:
71:
70:
69:
68:
65:
62:
61:
56:
53:
51:
48:
47:
46:
45:
42:
39:
38:
35:
32:
31:
19:
9831:. Retrieved
9827:
9811:
9786:
9775:. Retrieved
9766:
9755:. Retrieved
9745:
9734:. Retrieved
9725:
9714:. Retrieved
9705:
9694:. Retrieved
9685:
9674:. Retrieved
9662:
9651:. Retrieved
9648:"Perl 6 FAQ"
9642:
9631:. Retrieved
9622:
9611:. Retrieved
9602:
9591:. Retrieved
9582:
9571:. Retrieved
9562:
9551:. Retrieved
9544:the original
9531:
9520:. Retrieved
9511:
9492:
9482:
9471:. Retrieved
9462:
9451:. Retrieved
9442:
9431:. Retrieved
9422:
9410:. Retrieved
9406:the original
9401:
9392:
9380:
9353:
9347:
9335:
9327:
9315:
9304:
9295:
9283:. Retrieved
9279:
9270:
9258:. Retrieved
9254:
9245:
9233:. Retrieved
9229:
9220:
9206:
9187:
9177:, retrieved
9172:
9165:
9153:
9142:
9131:. Retrieved
9122:
9111:. Retrieved
9102:
9091:. Retrieved
9082:
9071:. Retrieved
9059:
9055:
9045:
9010:
9006:
9000:
8980:
8973:
8954:
8950:
8940:
8908:(1): 65–98.
8905:
8901:
8850:
8806:. Springer.
8802:
8795:
8704:RuleDispatch
8636:multimethods
8523:cl-defmethod
8457:
8098:
8091:
7603:
7597:
7582:
7580:
6844:
6840:
6836:
6831:
6829:
5562:
5510:dynamic_cast
5459:dynamic_cast
5354:dynamic_cast
5303:dynamic_cast
5178:As of 2021,
5177:
5126:collide_with
5090:collide_with
5054:collide_with
5018:collide_with
4913:collide_with
4877:collide_with
4841:collide_with
4805:collide_with
4772:collide_with
4693:
4599:collision_SS
4590:collision_SA
4578:collision_AS
4569:collision_AA
4488:collision_SS
4464:collision_SA
4440:collision_AS
4416:collision_AA
4382:branch table
4375:
4251:
4248:
4245:
4242:
4193:@multimethod
4148:@multimethod
4134:
4131:
3907:game_objects
3895:multimethods
3880:
3876:
3866:
3497:
3298:
3293:
3287:
3221:$ Enterprise
3198:$ Enterprise
3175:$ Enterprise
3168:$ Enterprise
3125:$ Enterprise
2464:
2462:
2459:
2453:
2333:
2314:collide_with
2203:collide_with
2173:collide_with
2143:collide_with
2113:collide_with
2044:
2030:collide-with
2029:
2027:
2024:
1990:collide-with
1951:collide-with
1912:collide-with
1873:collide-with
1857:
1270:
1249:
714:
707:
700:
686:
673:late binding
670:
456:
441:
425:
417:
409:
388:
380:
355:
351:main package
350:
346:
344:
335:
326:
322:multimethods
321:
318:late binding
315:
313:a function.
307:compile time
300:
288:
277:
272:
268:
266:
258:lion.sound()
249:
241:
233:
227:
223:
218:
214:
210:
200:
190:polymorphism
159:multimethods
158:
154:
153:
110:
34:Polymorphism
9385:openmethods
8902:SIAM Review
8650:openmethods
8504:Common Lisp
8426:collideWith
8393:collideWith
8372:collideWith
8351:Collideable
8342:collideWith
8330:Collideable
8291:collideWith
8258:collideWith
8237:collideWith
8216:Collideable
8207:collideWith
8195:Collideable
8165:collideWith
8144:collideWith
8129:Collideable
8120:collideWith
8111:Collideable
7803:DenseMatrix
7671:DenseMatrix
7662:DenseMatrix
7604:openmethods
7540:collideWith
7513:collideWith
7486:collideWith
7459:collideWith
7441:make_unique
7414:make_unique
7369:make_unique
7342:make_unique
7240:collideWith
7186:collideWith
7132:collideWith
7078:collideWith
7024:collideWith
6973:collideWith
6813:collideWith
6795:collideWith
6777:collideWith
6759:collideWith
6378:// class id
5949:collideWith
5423:collideWith
5261:collideWith
5213:collideWith
4757:// generics
4536:THING_COUNT
3713:CollideWith
3707:collideWith
3554:CollideWith
3349:collideWith
2593:obliterated
2257:SpaceObject
2245:SpaceObject
2098:SpaceObject
2074:SpaceObject
2059:SpaceObject
1860:Common Lisp
1854:Common Lisp
1845:SpaceObject
1827:SpaceObject
1776:SpaceObject
1764:SpaceObject
1725:collideWith
1683:collideWith
1641:collideWith
1599:collideWith
1566:collideWith
1506:SpaceObject
1497:SpaceObject
1236:SpaceObject
1203:SpaceObject
1167:SpaceObject
1125:CollideWith
1083:CollideWith
1041:CollideWith
999:CollideWith
948:CollideWith
894:SpaceObject
885:SpaceObject
506:Common Lisp
311:overloading
207:subroutines
203:source code
165:in which a
18:Multimethod
9845:Categories
9833:2018-03-12
9777:2016-08-21
9757:2020-03-31
9736:2020-03-31
9716:2012-03-19
9696:2011-04-23
9676:2008-04-13
9653:2008-04-13
9633:2022-05-03
9613:2008-04-13
9593:2014-11-11
9573:2008-04-13
9553:2010-04-23
9522:2008-04-13
9473:2008-09-04
9453:2008-04-13
9433:2009-08-20
9179:2021-01-28
9133:2020-05-14
9113:2020-05-14
9093:2020-05-14
9073:2013-04-19
8787:References
8764:TypeScript
8756:(via e.g.
8700:PEAK-Rules
8676:JavaScript
8519:Emacs Lisp
8460:instanceof
8327:implements
8192:implements
7390:unique_ptr
7318:unique_ptr
6645:addHandler
6600:addHandler
6540:addHandler
6501:addHandler
5805:value_type
5739:addHandler
5658:// type id
4760:defgeneric
4718:// classes
4254:type hints
4137:decorators
3284:JavaScript
3110:)) ){
3056:@destroyed
2665:<=>
2589:@destroyed
2284:&&
1536:&&
921:&&
637:MultiJava
579:(Gwydion)
546:Steel Bank
406:Efficiency
303:data types
297:Data types
256:, so that
9398:"Methods"
9015:CiteSeerX
8915:1411.1607
8670:MultiJava
8506:(via the
8458:Run time
8438:spaceship
8435:Spaceship
8324:Spaceship
8303:spaceship
8300:Spaceship
8177:spaceship
8174:Spaceship
8108:interface
7447:Spaceship
7420:Spaceship
7261:Spaceship
7249:Spaceship
7195:Spaceship
7153:Spaceship
7006:&>
6991:&>
6949:Spaceship
6919:Spaceship
6738:Spaceship
6717:initCases
6711:Spaceship
6705:initCases
6672:Spaceship
6633:Spaceship
6552:Spaceship
6483:hash_code
6477:Spaceship
6459:Spaceship
6441:hash_code
6351:initCases
6321:Spaceship
6240:Spaceship
6207:initCases
5595:protected
5516:Spaceship
5504:spaceship
5408:Spaceship
5360:Spaceship
5348:spaceship
4994:Spaceship
4934:endmethod
4925:Spaceship
4919:Spaceship
4901:defmethod
4898:endmethod
4883:Spaceship
4865:defmethod
4862:endmethod
4853:Spaceship
4829:defmethod
4826:endmethod
4793:defmethod
4745:Spaceship
4349:Spaceship
4319:@dispatch
4277:@dispatch
4205:Spaceship
4030:Spaceship
4006:Spaceship
4000:Spaceship
3976:Spaceship
3919:Spaceship
3689:Spaceship
3677:Spaceship
3644:Spaceship
3623:Spaceship
3545:Spaceship
3340:Spaceship
3225:Spaceship
3179:Spaceship
3122:Spaceship
3047:(*);
3000:Spaceship
2993:Spaceship
2965:(*);
2817:$ ) {*}
2621: »;
2611:= «
2596:destroyed
2559:Spaceship
2530:{...}; }
2432:Spaceship
2420:Spaceship
2411:julia>
2396:Spaceship
2375:julia>
2360:Spaceship
2339:julia>
2191:Spaceship
2182:Spaceship
2152:Spaceship
2131:Spaceship
2092:Spaceship
2011:spaceship
1999:spaceship
1987:defmethod
1960:spaceship
1948:defmethod
1933:spaceship
1909:defmethod
1870:defmethod
1839:Spaceship
1740:Spaceship
1731:Spaceship
1689:Spaceship
1656:Spaceship
1458:Spaceship
1443:Spaceship
1413:Spaceship
1368:Spaceship
1255:Big boom!
1218:Spaceship
1140:Spaceship
1131:Spaceship
1089:Spaceship
1056:Spaceship
864:Spaceship
849:Spaceship
834:WriteLine
816:Spaceship
786:WriteLine
768:Spaceship
738:WriteLine
475:Language
377:Ambiguity
238:Smalltalk
183:arguments
87:Subtyping
9285:26 April
9260:26 April
9235:21 March
9195:Archived
9037:15402223
8932:13026838
8775:See also
8758:TinyCLOS
8574:.Net DLR
8529:Fortress
8405:asteroid
8402:Asteroid
8270:asteroid
8267:Asteroid
8189:Asteroid
8156:asteroid
8153:Asteroid
7375:Asteroid
7348:Asteroid
7207:Asteroid
7141:Asteroid
7099:Asteroid
7087:Asteroid
6997:virtual_
6982:virtual_
6955:Asteroid
6898:Asteroid
6856:#include
6850:#include
6723:Asteroid
6699:Asteroid
6612:Asteroid
6573:Asteroid
6528:Asteroid
6456:uint32_t
6435:Asteroid
6417:Asteroid
6414:uint32_t
6369:uint32_t
6225:uint32_t
6177:Asteroid
6096:Asteroid
5910:<<
5898:uint64_t
5877:uint32_t
5862:uint32_t
5847:uint64_t
5766:uint32_t
5751:uint32_t
5715:uint64_t
5649:uint32_t
5613:uint32_t
5580:#include
5574:#include
5568:#include
5465:Asteroid
5453:asteroid
5309:Asteroid
5297:asteroid
5246:Asteroid
5156:grelease
5144:grelease
4973:Asteroid
4889:Asteroid
4847:Asteroid
4817:Asteroid
4811:Asteroid
4754:endclass
4739:defclass
4736:endclass
4727:Asteroid
4721:defclass
4712:#include
4706:#include
4700:#include
4337:Asteroid
4307:Asteroid
4295:Asteroid
4274:dispatch
4199:Asteroid
4160:Asteroid
4154:Asteroid
4093:Asteroid
4087:Asteroid
4081:add_rule
4036:Asteroid
4024:add_rule
3994:add_rule
3970:Asteroid
3964:add_rule
3952:Dispatch
3913:Asteroid
3901:Dispatch
3871:using a
3656:Asteroid
3611:Asteroid
3590:Asteroid
3578:Asteroid
3536:Asteroid
3331:Asteroid
3260:Asteroid
3244:Asteroid
3202:Asteroid
3152:Asteroid
3100:Asteroid
3088:Asteroid
3054:, (
2930:) {
2894:samewith
2889:) {
2854:) {
2609:@damaged
2535:Asteroid
2514:required
2384:Asteroid
2348:Asteroid
2334:Output:
2221:Asteroid
2212:Asteroid
2161:Asteroid
2122:Asteroid
2068:Asteroid
2053:abstract
1972:asteroid
1921:asteroid
1894:asteroid
1882:asteroid
1821:Asteroid
1698:Asteroid
1647:Asteroid
1614:Asteroid
1605:Asteroid
1479:Collider
1428:Collider
1398:Asteroid
1383:Collider
1353:Asteroid
1338:Collider
1250:Output:
1185:Asteroid
1161:abstract
1098:Asteroid
1047:Asteroid
1014:Asteroid
1005:Asteroid
801:Asteroid
753:Asteroid
683:Examples
347:packages
179:run-time
167:function
9358:Bibcode
8878:7605233
8499:Clojure
7932:@method
7650:@method
7635:virtual
7623:virtual
6877:virtual
6051:handler
6021:handler
5973:handler
5829:handler
5778:handler
5694:typedef
5661:typedef
5207:virtual
4671:collide
4611:collide
4509:typedef
4389:typedef
4325:collide
4283:collide
4214:collide
4169:collide
4112:collide
4099:aa_func
4075:collide
4051:aa_func
4042:sa_func
4018:collide
4012:ss_func
3988:collide
3982:as_func
3958:collide
3946:collide
3943:sa_func
3937:ss_func
3931:as_func
3873:library
3290:library
3241:collide
3218:collide
3195:collide
3172:collide
3149:collide
3084:collide
3015:){
2989:collide
2920:collide
2869:collide
2834:collide
2807:collide
2613:damaged
2599:mangled
2591:= <
2575:$ .name
2525:returns
2508:$ .mass
2414:collide
2378:collide
2342:collide
2233:collide
1842:extends
1824:extends
1716:private
1674:private
1632:private
1590:private
1491:collide
1434:collide
1425:println
1389:collide
1380:println
1344:collide
1335:println
1305:Program
972:dynamic
960:dynamic
879:Collide
840:Collide
828:Console
792:Collide
780:Console
744:Collide
732:Console
562:Diesel
269:special
250:special
211:calling
173:can be
9499:
9412:11 May
9368:
9306:GitHub
9035:
9017:
8988:
8930:
8876:
8866:
8810:
8754:Scheme
8726:Racket
8696:Python
8656:Factor
8570:VB.Net
8534:Groovy
8489:C# 4.0
8420:public
8387:public
8336:public
8285:public
8252:public
8201:public
8064:return
8028:length
8010:length
7995:double
7965:assert
7935:Matrix
7920:result
7917:return
7881:result
7875:length
7857:length
7845:result
7827:result
7809:result
7794:result
7761:assert
7731:assert
7653:Matrix
7641:Matrix
7629:Matrix
7614:Matrix
7567:return
6925:public
6904:public
6871:public
6471:typeid
6429:typeid
6357:static
6345:static
6315:public
6246:public
6213:static
6201:static
6171:public
6102:public
6057:second
6048:->*
5940:public
5928:static
5889:return
5838:static
5793:insert
5733:static
5405:struct
5243:struct
5198:struct
5120:"
5108:printf
5084:"
5072:printf
5048:"
5036:printf
5012:"
5000:printf
4271:import
4124:thing2
4118:thing1
3928:import
3910:import
3898:import
3885:Python
3869:Python
3863:Python
3824:method
3791:method
3758:method
3725:method
3515:method
3503:import
3460:method
3427:method
3394:method
3361:method
3316:method
3304:import
3027:) = (
2945:) = (
2761:infix:
2721:infix:
2681:infix:
2641:infix:
2601:>;
2567:{
2545:method
2543:{
2518:method
2516:;
2500:{
2472:subset
2089:struct
2065:struct
1722:String
1719:static
1680:String
1677:static
1638:String
1635:static
1596:String
1593:static
1488:String
1485:static
1323:String
1311:static
1272:Groovy
1267:Groovy
1215:record
1182:record
1164:record
1122:string
1119:static
1116:public
1080:string
1077:static
1074:public
1038:string
1035:static
1032:public
996:string
993:static
990:public
876:string
723:static
667:Theory
629:78.06
626:28.13
615:51.44
599:43.84
585:18.27
568:31.65
554:26.57
536:15.43
528:McCLIM
497:63.30
413:vtable
397:issue.
332:Issues
219:caller
171:method
9816:(PDF)
9671:(PDF)
9547:(PDF)
9540:(PDF)
9340:yomm2
9324:(PDF)
9276:"Reg"
9033:S2CID
8928:S2CID
8910:arXiv
8874:S2CID
8728:(via
8718:, or
8698:(via
8632:yomm2
8585:Xtend
8560:Seed7
8539:Lasso
8521:(via
8514:Dylan
8494:Cecil
8477:Julia
8432:final
8399:final
8366:other
8354:other
8348:final
8321:class
8297:final
8264:final
8231:other
8219:other
8213:final
8186:class
8171:final
8150:final
8132:other
8126:final
8058:elems
8046:elems
8022:elems
7938:_plus
7911:elems
7899:elems
7887:elems
7869:elems
7851:elems
7707:const
7683:const
7656:_plus
7396:Thing
7324:Thing
7300:yomm2
7294:yorel
7267:right
7264:&
7252:&
7213:right
7210:&
7198:&
7159:right
7156:&
7144:&
7105:right
7102:&
7090:&
7051:right
7048:&
7045:Thing
7036:&
7033:Thing
7003:Thing
6988:Thing
6943:Thing
6928:Thing
6916:class
6907:Thing
6895:class
6883:Thing
6865:Thing
6862:class
6832:YOMM2
6669:&
6630:&
6570:&
6525:&
6447:const
6405:const
6393:Thing
6384:Thing
6360:const
6330:Thing
6300:other
6297:&
6294:Thing
6270:other
6267:&
6264:Thing
6249:Thing
6237:class
6216:const
6186:Thing
6156:other
6153:&
6150:Thing
6126:other
6123:&
6120:Thing
6105:Thing
6093:class
6063:other
6054:->
6003:other
5961:other
5958:&
5955:Thing
5688:other
5685:&
5682:Thing
5670:Thing
5640:const
5601:Thing
5589:Thing
5586:class
5528:other
5525:&
5519:*>
5477:other
5474:&
5468:*>
5435:other
5432:&
5429:Thing
5414:Thing
5372:other
5369:&
5363:*>
5321:other
5318:&
5312:*>
5273:other
5270:&
5267:Thing
5252:Thing
5225:other
5222:&
5219:Thing
5201:Thing
4907:_Bool
4871:_Bool
4835:_Bool
4799:_Bool
4766:_Bool
4626:Thing
4617:Thing
4596:&
4587:&
4575:&
4566:&
4545:Thing
3845:=>
3812:=>
3779:=>
3746:=>
3719:multi
3704:const
3563:&
3560:Multi
3542:class
3533:class
3521:Multi
3509:multi
3481:=>
3448:=>
3415:=>
3382:=>
3355:multi
3346:const
3337:class
3328:class
3310:multi
3102:$ (:
3090:$ (:
3078:multi
3006:where
2983:multi
2914:multi
2885:>
2880:where
2863:multi
2850:<
2845:where
2828:multi
2801:proto
2755:multi
2745:>
2715:multi
2705:<
2675:multi
2635:multi
2556:class
2550:() {
2532:class
2489:^..^
2484:where
2465:where
2095:<:
2071:<:
2046:Julia
2041:Julia
1836:class
1818:class
1761:class
1476:class
1302:class
1149:=>
1107:=>
1065:=>
1023:=>
981:class
903:=>
720:using
660:0.33
657:3.46
654:1.36
651:Nice
646:1.02
643:8.92
640:1.50
632:2.01
618:1.54
612:5.86
608:Julia
602:1.23
596:2.51
588:2.14
582:1.74
577:Dylan
571:0.71
565:2.07
557:1.11
551:2.37
539:1.17
533:2.32
521:1.17
518:6.34
515:2.03
500:1.06
494:2.33
490:Cecil
444:Julia
437:Cecil
433:Dylan
411:The "
284:Julia
9497:ISBN
9489:"28"
9414:2014
9366:ISBN
9287:2019
9262:2019
9237:2014
8986:ISBN
8864:ISBN
8808:ISBN
8746:and
8742:and
8736:Ruby
8686:Perl
8666:Java
8638:and
8598:.NET
8596:Any
8565:TADS
8550:Raku
8423:void
8390:void
8378:this
8339:void
8288:void
8255:void
8243:this
8204:void
8162:void
8141:void
8117:void
8094:Java
8088:Java
7989:rows
7977:rows
7791:auto
7725:cols
7701:rows
7617:plus
7453:());
7450:>
7444:<
7426:()),
7423:>
7417:<
7399:>
7393:<
7381:());
7378:>
7372:<
7354:()),
7351:>
7345:<
7327:>
7321:<
7285:main
7255:left
7234:void
7201:left
7180:void
7147:left
7126:void
7093:left
7072:void
7039:left
7018:void
7000:<
6985:<
6967:void
6830:The
6690:main
6588:void
6489:void
6348:void
6285:void
6255:void
6204:void
6141:void
6111:void
6075:else
6045:this
5985:find
5970:auto
5946:void
5736:void
5724:>
5706:<
5664:void
5543:else
5513:<
5501:auto
5492:else
5462:<
5450:auto
5420:void
5387:else
5357:<
5345:auto
5336:else
5306:<
5294:auto
5258:void
5210:void
4988:gnew
4967:gnew
4949:void
4943:main
4662:void
4656:main
4647:)();
4608:void
4512:enum
4494:void
4485:void
4470:void
4461:void
4446:void
4437:void
4422:void
4413:void
4407:void
4392:void
4268:plum
4265:from
3922:from
3904:from
3892:from
3698:void
3665:void
3632:void
3599:void
3551:type
3527:from
3322:from
3274:));
3268:mass
3258:)),
3252:mass
3239:));
3233:mass
3216:));
3210:mass
3193:));
3187:mass
3166:)),
3160:mass
3147:));
3141:name
3133:mass
3117:; }
3104:mass
3098:)),
3092:mass
3070:; }
3068:pick
3060:pick
3045:pick
3041:name
3033:name
3025:$ n2
3021:$ n1
2972:; }
2963:pick
2959:name
2951:name
2943:$ n2
2939:$ n1
2903:; }
2861:; }
2813:$ ,
2791:mass
2783:mass
2777:) {
2751:mass
2743:mass
2737:) {
2711:mass
2703:mass
2697:) {
2671:mass
2663:mass
2657:) {
2581:; }
2562:does
2554:} }
2548:name
2538:does
2521:name
2505:Mass
2495:role
2481:Real
2475:Mass
2455:Raku
2450:Raku
2296:>
2293:size
2278:>
2275:size
2101:size
2077:size
2056:type
1806:size
1800:size
1794:this
1785:size
1773:size
1548:>
1545:size
1530:>
1527:size
1326:args
1317:main
1314:void
1276:Java
1242:Size
1227:Size
1209:Size
1194:Size
1176:Size
933:>
930:Size
915:>
912:Size
873:)));
825:)));
777:)));
278:The
273:owns
215:name
9064:doi
9025:doi
8959:doi
8955:117
8920:doi
8856:doi
8640:omm
8628:C++
8544:Nim
8076:sum
8067:new
8034:sum
8004:sum
7998:sum
7800:new
7710:int
7686:int
7435:std
7408:std
7384:std
7363:std
7336:std
7312:std
7309:();
7282:int
7009:));
6720:();
6708:();
6687:int
6681:));
6657:cid
6651:cid
6642:));
6618:cid
6606:cid
6582:));
6558:cid
6546:cid
6537:));
6513:cid
6507:cid
6486:();
6465:cid
6450:std
6444:();
6423:cid
6408:std
6372:cid
6363:std
6354:();
6336:cid
6228:cid
6219:std
6210:();
6192:cid
6036:())
6033:end
6012:));
6009:tid
5997:tid
5991:key
5919:id2
5904:id1
5892:std
5880:id2
5871:std
5865:id1
5856:std
5850:key
5841:std
5832:));
5823:id2
5817:id1
5811:key
5769:id2
5760:std
5754:id1
5745:std
5709:std
5697:std
5673:::*
5652:tid
5643:std
5631:cid
5625:tid
5616:cid
5607:std
5180:C++
5174:C++
5141:));
5105:));
5069:));
5033:));
4979:OBJ
4958:OBJ
4940:int
4653:int
4322:def
4280:def
4211:def
4166:def
4048:def
3854:}),
3821:}),
3788:}),
3755:}),
3490:}),
3457:}),
3424:}),
3391:}),
3264:new
3248:new
3229:new
3206:new
3183:new
3156:new
3139:),:
3129:new
3127:.=
3112:say
3108:$ b
3096:$ a
3081:sub
3049:say
3037:$ b
3029:$ a
3013:$ b
3011:==
3009:$ a
3003:$ b
2996:$ a
2986:sub
2967:say
2955:$ b
2947:$ a
2928:$ b
2924:$ a
2917:sub
2901:$ a
2897:$ b
2887:$ b
2883:$ a
2877:$ b
2873:$ a
2866:sub
2856:say
2852:$ b
2848:$ a
2842:$ b
2838:$ a
2831:sub
2804:sub
2787:$ b
2785:==
2779:$ a
2775:$ b
2768:$ a
2758:sub
2747:$ b
2739:$ a
2735:$ b
2728:$ a
2718:sub
2707:$ b
2699:$ a
2695:$ b
2688:$ a
2678:sub
2667:$ b
2659:$ a
2655:$ b
2648:$ a
2638:sub
2606:Str
2586:Str
2572:Str
2569:has
2528:Str
2523:()
2502:has
2493:;
2491:Inf
2426:101
2366:300
2354:101
2299:100
2281:100
2110:end
2107:Int
2086:end
2083:Int
2062:end
1782:int
1770:int
1551:100
1533:100
1455:new
1449:101
1440:new
1410:new
1395:new
1374:300
1365:new
1359:101
1350:new
1280:JVM
1261:s/s
1258:a/s
1224:int
1191:int
1173:int
936:100
918:100
861:new
855:101
846:new
813:new
798:new
774:300
765:new
759:101
750:new
510:CMU
467:DoS
305:at
246:C++
244:in
236:in
169:or
157:or
9847::
9826:.
9491:.
9400:.
9364:.
9303:.
9278:.
9253:.
9228:.
9058:.
9054:.
9031:.
9023:.
9011:17
9009:.
8953:.
8949:.
8926:.
8918:.
8906:59
8904:.
8886:^
8872:.
8862:.
8822:^
8714:,
8710:,
8706:,
8702:,
8634:,
8618:C#
8381:);
8246:);
8180:);
8159:);
8135:);
8079:);
7992:);
7980:==
7839:nc
7833:nc
7821:nr
7815:nr
7788:);
7785:nc
7776:==
7773:nc
7758:);
7755:nr
7746:==
7743:nr
7713:nc
7689:nr
7644:);
7561:);
7558:s2
7549:s1
7534:);
7531:a1
7522:s1
7507:);
7504:s1
7495:a1
7480:);
7477:a2
7468:a1
7438:::
7429:s2
7411:::
7402:s1
7387:::
7366:::
7357:a2
7339:::
7330:a1
7315:::
7303:::
7297:::
7288:()
7270:))
7216:))
7162:))
7108:))
7054:))
6958:);
6934:};
6913:};
6892:};
6889:{}
6886:()
6822:);
6819:a1
6807:s1
6804:);
6801:s2
6789:s1
6786:);
6783:s1
6771:a1
6768:);
6765:a2
6753:a1
6747:s2
6741:s1
6732:a2
6726:a1
6714:::
6702:::
6693:()
6675:::
6636:::
6615:::
6594:()
6576:::
6555:::
6531:::
6495:()
6480:).
6462:::
6453:::
6438:).
6420:::
6411:::
6396:::
6387:::
6381:};
6366:::
6342:{}
6324:()
6234:};
6222:::
6198:{}
6180:()
6090:};
6066:);
6060:)(
6024:!=
6015:if
5913:32
5895:::
5874:::
5859:::
5844:::
5826:),
5802:::
5763:::
5748:::
5712:::
5700:::
5691:);
5679:)(
5646:::
5637:{}
5610:::
5558:};
5531:))
5495:if
5480:))
5444:if
5402:};
5375:))
5339:if
5324:))
5288:if
5240:};
5165:);
5153:);
5117:\n
5081:\n
5045:\n
5009:\n
4997:);
4976:);
4787:);
4784:_2
4778:_1
4686:);
4605:};
4581:},
4506:};
4482:};
4458:};
4434:};
4410:);
4404:)(
4352:):
4310:):
4229:):
4184:):
4139:,
4096:),
4084:((
4066:):
4039:),
4027:((
4009:),
3997:((
3979:),
3967:((
3955:()
3827:(,
3794:(,
3761:(,
3728:(,
3548:{}
3539:{}
3463:(,
3430:(,
3397:(,
3364:(,
3343:{}
3334:{}
3266:(:
3256:10
3250:(:
3231:(:
3223:,
3208:(:
3200:,
3191:.1
3185:(:
3177:,
3170:;
3164:.1
3158:(:
3131:(:
3119:my
3086:(
3066:).
3062:,
3043:).
3035:,
3023:,
3017:my
2998:,
2991:(
2961:).
2953:,
2941:,
2935:my
2926:,
2922:(
2899:,
2875:,
2871:(
2840:,
2836:(
2809:(
2793:}
2770:,
2753:}
2730:,
2713:}
2690:,
2673:}
2650:,
2603:my
2583:my
2577:=
2511:is
2478:of
2441:))
2438:10
2429:),
2405:))
2402:10
2393:),
2390:10
2369:))
2357:),
2254:::
2242:::
2218:::
2209:::
2188:::
2179:::
2158:::
2149:::
2128:::
2119:::
2104:::
2080:::
2037:.
2014:))
1993:((
1975:))
1954:((
1936:))
1915:((
1897:))
1876:((
1848:{}
1830:{}
1467:))
1464:10
1452:),
1422:))
1419:10
1407:),
1404:10
1377:))
1362:),
1299:*/
1287:/*
1245:);
1212:);
1179:);
975:);
969:as
957:as
870:10
858:),
822:10
810:),
807:10
762:),
702:C#
697:C#
548:)
530:)
512:)
463:CR
459:DR
454:.
435:,
431:,
324:.
240:,
9836:.
9794:.
9780:.
9760:.
9739:.
9719:.
9699:.
9679:.
9656:.
9636:.
9616:.
9596:.
9576:.
9556:.
9525:.
9505:.
9476:.
9456:.
9436:.
9416:.
9374:.
9360::
9289:.
9264:.
9239:.
9214:.
9136:.
9116:.
9096:.
9076:.
9066::
9060:1
9039:.
9027::
8994:.
8967:.
8961::
8934:.
8922::
8912::
8880:.
8858::
8816:.
8770:)
8760:)
8750:)
8732:)
8722:)
8692:)
8682:)
8672:)
8662:)
8652:)
8646:D
8642:)
8624:)
8614:)
8608:C
8604:)
8555:R
8525:)
8510:)
8453:}
8450:}
8444:{
8441:)
8429:(
8417:}
8411:{
8408:)
8396:(
8384:}
8375:(
8369:.
8360:{
8357:)
8345:(
8333:{
8318:}
8315:}
8309:{
8306:)
8294:(
8282:}
8276:{
8273:)
8261:(
8249:}
8240:(
8234:.
8225:{
8222:)
8210:(
8198:{
8183:}
8168:(
8147:(
8123:(
8114:{
8082:}
8073:(
8061:;
8055:.
8052:b
8049:+
8043:.
8040:a
8037:=
8031:;
8025:.
8019:.
8016:a
8013:=
8007:.
8001:;
7986:.
7983:b
7974:.
7971:a
7968:(
7962:{
7959:)
7956:b
7950:,
7947:a
7941:(
7926:}
7923:;
7914:;
7908:.
7905:b
7902:+
7896:.
7893:a
7890:=
7884:.
7878:;
7872:.
7866:.
7863:a
7860:=
7854:.
7848:.
7842:;
7836:=
7830:.
7824:;
7818:=
7812:.
7806:;
7797:=
7782:.
7779:b
7770:.
7767:a
7764:(
7752:.
7749:b
7740:.
7737:a
7734:(
7728:;
7722:.
7719:a
7716:=
7704:;
7698:.
7695:a
7692:=
7680:{
7677:)
7674:b
7668:,
7665:a
7659:(
7638:!
7632:,
7626:!
7620:(
7600:D
7594:D
7576:}
7573:;
7570:0
7555:*
7552:,
7546:*
7543:(
7528:*
7525:,
7519:*
7516:(
7501:*
7498:,
7492:*
7489:(
7474:*
7471:,
7465:*
7462:(
7432:(
7405:(
7360:(
7333:(
7291:{
7279:}
7273:{
7258:,
7246:(
7243:,
7237:,
7231:(
7225:}
7219:{
7204:,
7192:(
7189:,
7183:,
7177:(
7171:}
7165:{
7150:,
7138:(
7135:,
7129:,
7123:(
7117:}
7111:{
7096:,
7084:(
7081:,
7075:,
7069:(
7063:}
7057:{
7042:,
7030:(
7027:,
7021:,
7015:(
6994:,
6979:(
6976:,
6970:,
6964:(
6952:,
6946:,
6940:(
6931:{
6922::
6910:{
6901::
6880:~
6874::
6868:{
6825:}
6816:(
6810:.
6798:(
6792:.
6780:(
6774:.
6762:(
6756:.
6750:;
6744:,
6735:;
6729:,
6696:{
6684:}
6666:(
6660:,
6654:,
6648:(
6627:(
6621:,
6609:,
6603:(
6597:{
6585:}
6567:(
6561:,
6549:,
6543:(
6522:(
6516:,
6510:,
6504:(
6498:{
6474:(
6468:=
6432:(
6426:=
6402:;
6375:;
6339:)
6333:(
6327::
6318::
6312:}
6306:{
6303:)
6291:(
6282:}
6276:{
6273:)
6261:(
6252:{
6243::
6231:;
6195:)
6189:(
6183::
6174::
6168:}
6162:{
6159:)
6147:(
6138:}
6132:{
6129:)
6117:(
6108:{
6099::
6087:}
6084:}
6078:{
6072:}
6042:(
6039:{
6030:.
6018:(
6006:.
6000:,
5994:(
5988:(
5982:.
5976:=
5967:{
5964:)
5952:(
5943::
5937:;
5925:}
5922:;
5916:|
5907:)
5901:(
5886:{
5883:)
5868:,
5853:(
5835:}
5820:,
5814:(
5808:(
5796:(
5790:.
5784:{
5781:)
5772:,
5757:,
5742:(
5730:;
5718:,
5667:(
5655:;
5634:)
5628:(
5622::
5619:)
5604:(
5598::
5592:{
5555:}
5552:}
5546:{
5540:}
5534:{
5522:(
5507:=
5498:(
5489:}
5483:{
5471:(
5456:=
5447:(
5441:{
5438:)
5426:(
5417:{
5411::
5399:}
5396:}
5390:{
5384:}
5378:{
5366:(
5351:=
5342:(
5333:}
5327:{
5315:(
5300:=
5291:(
5279:{
5276:)
5264:(
5255:{
5249::
5237:;
5234:0
5231:=
5228:)
5216:(
5204:{
5168:}
5162:s
5159:(
5150:a
5147:(
5138:s
5135:,
5132:s
5129:(
5123:,
5111:(
5102:a
5099:,
5096:s
5093:(
5087:,
5075:(
5066:s
5063:,
5060:a
5057:(
5051:,
5039:(
5030:a
5027:,
5024:a
5021:(
5015:,
5003:(
4991:(
4985:=
4982:s
4970:(
4964:=
4961:a
4955:{
4952:)
4946:(
4928:)
4922:,
4916:,
4910:,
4904:(
4892:)
4886:,
4880:,
4874:,
4868:(
4856:)
4850:,
4844:,
4838:,
4832:(
4820:)
4814:,
4808:,
4802:,
4796:(
4781:,
4775:,
4769:,
4763:(
4748:)
4742:(
4730:)
4724:(
4689:}
4680:,
4674:(
4668:{
4665:)
4659:(
4650:}
4641:*
4638:(
4635:{
4632:)
4629:b
4623:,
4620:a
4614:(
4602:}
4593:,
4584:{
4572:,
4563:{
4560:{
4557:=
4548:;
4542:}
4533:,
4527:,
4524:0
4521:=
4515:{
4500:{
4497:)
4491:(
4476:{
4473:)
4467:(
4452:{
4449:)
4443:(
4428:{
4425:)
4419:(
4398:*
4395:(
4372:C
4346::
4343:b
4340:,
4334::
4331:a
4328:(
4304::
4301:b
4298:,
4292::
4289:a
4286:(
4260:,
4226:b
4223:,
4220:a
4217:(
4208:)
4202:,
4196:(
4181:b
4178:,
4175:a
4172:(
4163:)
4157:,
4151:(
4127:)
4121:,
4115:(
4102:)
4090:,
4078:.
4063:b
4060:,
4057:a
4054:(
4045:)
4033:,
4021:.
4015:)
4003:,
3991:.
3985:)
3973:,
3961:.
3949:=
3940:,
3934:,
3916:,
3857:)
3848:{
3842:)
3839:y
3836:,
3833:x
3830:(
3815:{
3809:)
3806:y
3803:,
3800:x
3797:(
3782:{
3776:)
3773:y
3770:,
3767:x
3764:(
3749:{
3743:)
3740:y
3737:,
3734:x
3731:(
3722:(
3716:=
3710::
3701:}
3695::
3692:)
3686::
3683:y
3680:,
3674::
3671:x
3668:(
3662::
3659:)
3653::
3650:y
3647:,
3641::
3638:x
3635:(
3629::
3626:)
3620::
3617:y
3614:,
3608::
3605:x
3602:(
3596::
3593:)
3587::
3584:y
3581:,
3575::
3572:x
3569:(
3566:{
3557:=
3524:}
3518:,
3512:,
3506:{
3493:)
3484:{
3478:)
3475:y
3472:,
3469:x
3466:(
3451:{
3445:)
3442:y
3439:,
3436:x
3433:(
3418:{
3412:)
3409:y
3406:,
3403:x
3400:(
3385:{
3379:)
3376:y
3373:,
3370:x
3367:(
3358:(
3352:=
3319:}
3313:,
3307:{
3272:5
3270:(
3262:.
3254:(
3246:.
3237:1
3235:(
3227:.
3214:1
3212:(
3204:.
3189:(
3181:.
3162:(
3154:.
3143:(
3137:1
3135:(
3106:(
3094:(
3058:.
3039:.
3031:.
3019:(
2957:.
2949:.
2937:(
2789:.
2781:.
2749:.
2741:.
2709:.
2701:.
2669:.
2661:.
2487:0
2435:(
2423:(
2417:(
2399:(
2387:(
2381:(
2363:(
2351:(
2345:(
2329:)
2326:y
2323:,
2320:x
2317:(
2311::
2305:?
2302:)
2290:.
2287:y
2272:.
2269:x
2266:(
2263:=
2260:)
2251:y
2248:,
2239:x
2236:(
2227:=
2224:)
2215:,
2206:(
2197:=
2194:)
2185:,
2176:(
2167:=
2164:)
2155:,
2146:(
2137:=
2134:)
2125:,
2116:(
2020:)
2008:y
2005:(
2002:)
1996:x
1984:(
1981:)
1969:y
1966:(
1963:)
1957:x
1945:(
1942:)
1930:y
1927:(
1924:)
1918:x
1906:(
1903:)
1891:y
1888:(
1885:)
1879:x
1867:(
1812:}
1809:}
1803:=
1797:.
1791:{
1788:)
1779:(
1767:{
1758:}
1755:}
1749:{
1746:)
1743:y
1737:,
1734:x
1728:(
1713:}
1707:{
1704:)
1701:y
1695:,
1692:x
1686:(
1671:}
1665:{
1662:)
1659:y
1653:,
1650:x
1644:(
1629:}
1623:{
1620:)
1617:y
1611:,
1608:x
1602:(
1587:}
1581:)
1578:y
1575:,
1572:x
1569:(
1563::
1557:?
1554:)
1542:.
1539:y
1524:.
1521:x
1518:(
1515:{
1512:)
1509:y
1503:,
1500:x
1494:(
1482:{
1473:}
1470:}
1461:(
1446:(
1437:(
1431:.
1416:(
1401:(
1392:(
1386:.
1371:(
1356:(
1347:(
1341:.
1332:{
1329:)
1320:(
1308:{
1239:(
1233::
1230:)
1221:(
1206:(
1200::
1197:)
1188:(
1170:(
1158:}
1155:;
1146:)
1143:y
1137:,
1134:x
1128:(
1113:;
1104:)
1101:y
1095:,
1092:x
1086:(
1071:;
1062:)
1059:y
1053:,
1050:x
1044:(
1029:;
1020:)
1017:y
1011:,
1008:x
1002:(
987:{
966:y
963:,
954:x
951:(
945::
939:?
927:.
924:y
909:.
906:x
900:)
897:y
891:,
888:x
882:(
867:(
852:(
843:(
837:(
831:.
819:(
804:(
795:(
789:(
783:.
771:(
756:(
747:(
741:(
735:.
729:;
508:(
143:e
136:t
129:v
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.