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 (1995)
Stable release
3.8.0[1] Edit this on Wikidata / (7 April 2025)
Typing disciplinestatic, strong, inferred
Platformx86-64
OSCross-platform: Linux
LicenseBSD 3-clause
Websitewww.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][4] and based on the Haskell language. It merges elements of functional and logic programming,[5] 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. ^ "PAKCS Version 3.8.0 (07/04/25)".
  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. ^ Hanus, Michael (2013). "Functional Logic Programming: From Theory to Curry". Programming Logics - Essays in Memory of Harald Ganzinger. Lecture Notes in Computer Science. Vol. 7797. pp. 123–168. doi:10.1007/978-3-642-37651-1_6. ISBN 978-3-642-37650-4.
  5. ^ "Curry experimental programming language". MVPS.net. Retrieved 2 September 2021.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search