Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
The Functional Logic Language Curry
[go: Go Back, main page]

Curry Curry: A Truly Integrated
Functional Logic Language
o  Language Report
o  Tutorial on Curry
o  Papers
o  Mailing list
o  Implementations
o  Example programs
o  Applications
o  CurryWiki

Curry is a universal programming language aiming to amalgamate the most important declarative programming paradigms, namely functional programming and logic programming. Moreover, it also covers the most important operational principles developed in the area of integrated functional logic languages: "residuation" and "narrowing" (there is an older survey and a newer survey on functional logic programming).

Curry combines in a seamless way features from functional programming (nested expressions, higher-order functions, lazy evaluation), logic programming (logical variables, partial data structures, built-in search), and concurrent programming (concurrent evaluation of expressions with synchronization on logical variables). Moreover, Curry provides additional features in comparison to the pure languages (compared to functional programming: search, computing with partial information; compared to logic programming: more efficient evaluation due to the deterministic and demand-driven evaluation of functions).

The development of Curry is an international initiative intended to provide a common platform for the research, teaching and application of integrated functional logic languages. The design of Curry is mainly discussed in the Curry mailing list. A detailed report describing the language is available here. To get an idea of Curry, you may have a look into the short list of Curry's features or a tutorial on Curry.

Further resources

CurryWiki CurryWiki (contains more up-to-date information about Curry, implementations, tools etc)
PAKCS PAKCS: the Portland Aachen Kiel Curry System with an interactive WWW interface
Patterns Functional Logic Design Patterns
FlatCurry FlatCurry: An intermediate representation for Curry programs


Michael Hanus
Last modified: Wed May 14 12:06:02 CEST 2008

Valid XHTML 1.0 Transitional