Content deleted Content added
URL to Curry home page updated |
Citation bot (talk | contribs) Add: s2cid. | You can use this bot yourself. Report bugs here. | Suggested by Abductive | Category:Academic programming languages | via #UCB_Category 15/35 |
||
Line 36:
| year = 2010
| doi = 10.1145/1721654.1721675
| s2cid = 14578759
}}</ref> based on the [[Haskell (programming language)|Haskell]] language. It merges elements of functional and logic programming, including [[constraint programming]] integration.
It is nearly a superset of Haskell, lacking support mostly for overloading using [[Polymorphism (computer science)#Subtyping|type classes]], which some implementations provide anyway as a language extension, such as the Münster Curry Compiler.<ref>[http://danae.uni-muenster.de/curry/ The Münster Curry Compiler]</ref>
Line 106 ⟶ 107:
| issn = 0004-5411
| doi = 10.1145/347476.347484
| s2cid = 47275506
}}</ref> proved in the 1990s that a particular narrowing strategy, ''needed narrowing'', is optimal in the sense of doing a number of reductions to get to a "normal form" corresponding to a solution that is minimal among sound and complete strategies. Needed narrowing corresponds to a lazy strategy, in contrast to the [[SLD resolution|SLD-resolution]] strategy of [[Prolog]].
===Functional patterns===
|