Predicate dispatch
In computer programming, predicate dispatch is a generalisation of multiple dispatch ("multimethods") that allows the method to call to be selected at runtime based on arbitrary decidable logical predicates and/or pattern matching attached to a method declaration.[1]
Julia has a package for it with PatternDispatch.jl but otherwise natively supports multiple dispatch.
Experimental implementations have been created for Common LISP,[2][3] and for Java (JPred[1]).
It allows open extension of previously declared methods at a fine-grained level, but multiple extensions with identical or overlapping predicates created by different developers may interfere with each other in unanticipated ways. In this respect it is similar to aspect-oriented programming.
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
<templatestyles src="Asbox/styles.css"></templatestyles>