## Goffin

A definitional constraint language for declarative parallel programming. Goffin systematically integrates equational constraints and functions within a uniform framework of concurrent programming.

Goffin is an embedding of a functional language kernel (Haskell) into a layer of constraint logic, which allows logical variables inside functional expressions. In order to preserve referential transparency, functional reduction suspends until logical variables become bound.

Logical variables are bound by equational constraints, which impose relations over expressions. Hence, constraints are the means to structure the concurrent reduction of functional expressions.