Curry (programming language): Difference between revisions

Content deleted Content added
Owl2442 (talk | contribs)
m Add reference to declarative programming and the Curry2Go system
Line 23:
}}
 
'''Curry''' is a [[declarative programming]] language, an experimentalimplementation of the [[functional logic programming]] languageparadigm,<ref>{{cite web |editor-last=Hanus |editor-first=Michael |title=Curry: A Truly Integrated Functional Logic Language |url=http://www.curry-lang.org/}}</ref><ref>{{cite journal |last1=Sergio |first1=Antoy |last2=Hanus |first2=Michael |year=2010 |title=Functional Logic Programming |journal=Communications of the ACM |volume=53 |issue=4 |pages=74–85 |publisher=ACM |doi=10.1145/1721654.1721675 |s2cid=14578759}}</ref> and based on the [[Haskell]] language. It merges elements of functional and logic programming,<ref name="Curry and Curl programming languages">
{{cite web |title=Curry experimental programming language |url=https://www.mvps.net/docs/curry-and-curl-programming-languages |website=MVPS.net |access-date=2 September 2021}}</ref> including [[constraint programming]] integration.
 
It is nearly a superset of Haskell but does not support all language extensions of Haskell. In contrast to Haskell, Curry has built-in support for non-deterministic computations involving search.
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>
 
==Foundations of functional logic programming==
Line 131:
==External links==
*{{Official website|www.curry-lang.org}}
*[httphttps://smap.informatik.uni-kiel.de/ Smap] - A web-based execution environment for Curry and Haskell with various example programs
*[https://cpm.curry-lang.org/ Curry packages] - A collection of software packages for Curry
*[http://danae.uni-muenster.de/curry/ MCC] - The Münster Curry Compiler, which uses [[C (programming language)|C]] as the target
*[http://www.informatik.uni-kiel.de/~pakcs/ PAKCS] A major Curry implementation with a WWW interface, which uses [[Prolog]] as the target
*[http://www-ps.informatik.uni-kiel.de/kics2/ KiCS2] A Curry implementation, which uses [[Haskell]] as the target
*[https://www-ps.informatik.uni-kiel.de/curry2go/ Curry2Go] A Curry implementation, which uses [[Go_(programming_language)|Go]] as the target and supports fair parallel search
*[https://www-ps.informatik.uni-kiel.de/currywiki/documentation/mailing Curry Mailing List]
*[http://www.informatik.uni-kiel.de/~mh Michael Hanus's home page]