Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
documentation:features [2010-03-26 14:44]
mh Links to documentation:curry_report changed to documentation:report
documentation:features [2014-06-13 12:35] (current)
Line 5: Line 5:
 here is an (incomplete) list of its features: here is an (incomplete) list of its features:
  
-  * Operational ​entities: functions defined by equations (predicates are considered as Boolean functions or constraints) +  * Program ​entities: functions defined by equations (predicates are considered as Boolean functions or constraints) 
-  * Type system ​with parametric polymorphism (a la Hindley/​Milner) ​+  * Syntax: almost similar to [[http://​www.haskell.org|Haskell]]. In addition, declarations of free variables are allowed and program rules might overlap (leading to nondeterministic computations). 
 +  * Type systemparametric polymorphism (a la Hindley/​Milner) ​
   * Operational semantics: Basically, lazy reduction of functional expressions. However, function calls may contain free (logic) variables. Such function calls may be suspended (until the variable become instantiated by solving some predicate) or may be evaluated by non-deterministic instantiation of the variable, i.e., this operational semantics combines the ideas of "​residuation"​ and "​narrowing"​. This operational semantics was firstly described in a [[http://​www.informatik.uni-kiel.de/​~mh/​papers/​POPL97.html | POPL'​97 paper]] and another detailed description can be found in the [[report| Curry report]].   * Operational semantics: Basically, lazy reduction of functional expressions. However, function calls may contain free (logic) variables. Such function calls may be suspended (until the variable become instantiated by solving some predicate) or may be evaluated by non-deterministic instantiation of the variable, i.e., this operational semantics combines the ideas of "​residuation"​ and "​narrowing"​. This operational semantics was firstly described in a [[http://​www.informatik.uni-kiel.de/​~mh/​papers/​POPL97.html | POPL'​97 paper]] and another detailed description can be found in the [[report| Curry report]].
   * Higher-order functions; function application is delayed if functions are unknown (i.e., free variables). ​   * Higher-order functions; function application is delayed if functions are unknown (i.e., free variables). ​
/srv/dokuwiki/currywiki/data/pages/documentation/features.txt · Last modified: 2014-06-13 12:35 (external edit)
Back to top
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0