Content deleted Content added
remove "the not" in first line |
Rlamacraft (talk | contribs) Added section on rank polymorphism |
||
Line 145:
{{main|Generic programming#Functional languages}}
A related concept is ''polytypism'' (or ''data type genericity''). A polytypic function is more general than polymorphic, and in such a function, "though one can provide fixed ad hoc cases for specific data types, an ad hoc combinator is absent".<ref>{{cite book |first1=Ralf |last1=Lämmel |first2=Joost |last2=Visser |chapter=Typed Combinators for Generic Traversal |title=Practical Aspects of Declarative Languages: 4th International Symposium |publisher=Springer |date=2002 |isbn=354043092X |pages=137–154, See p. 153 |citeseerx=10.1.1.18.5727 |url=}}</ref>
===Rank Polymorphism===
Rank polymorphism is one of the defining features of the [[Array_programming|array programming languages]], like [[APL_(programming_language)|APL]]. The essence of the rank-polymorphic programming model is implicitly treating all operations as aggregate operations, usable on arrays with arbitrarily many dimensions,<ref>{{cite journal |title=The semantics of rank polymorphism |journal=arXiv preprint arXiv:1907.00509 |date=2019 |last1=Slepak |first1=Justin |last2=Shivers |first2=Olin |last3=Manolios |first3=Panagiotis}}</ref> which is to say that rank polymorphism allows functions to be defined to operate on arrays of any shape and size.
==Implementation aspects==
|