Curry (programming language)

Curry
Paradigmfunctional, logic, non-strict, modular
Designed byMichael Hanus, Sergio Antoy, et al.
DeveloperKiel University
Ludwig Maximilian University of Munich
University of Münster
Portland State University
Complutense University of Madrid
Technical University of Madrid
First appeared1995; 29 years ago (1995)
Stable release
3.6.0[1] Edit this on Wikidata / (10 November 2023)
Typing disciplinestatic, strong, inferred
Platformx86-64
OSCross-platform: Linux
LicenseBSD 3-clause
Websitecurry.pages.ps.informatik.uni-kiel.de/curry-lang.org
Major implementations
PAKCS (Prolog target), mcc (C target), KiCS2 (Haskell target)
Influenced by
Haskell, Prolog

Curry is a declarative programming language, an implementation of the functional logic programming paradigm,[2][3] and based on the Haskell language. It merges elements of functional and logic programming,[4] 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.

  1. ^ "Current release:PAKCS Version 3.6.0 (10/11/23)". 10 November 2023. Retrieved 14 November 2023.
  2. ^ Hanus, Michael (ed.). "Curry: A Truly Integrated Functional Logic Language".
  3. ^ Sergio, Antoy; Hanus, Michael (2010). "Functional Logic Programming". Communications of the ACM. 53 (4). ACM: 74–85. doi:10.1145/1721654.1721675. S2CID 14578759.
  4. ^ "Curry experimental programming language". MVPS.net. Retrieved 2 September 2021.