An experimental DSL for handling state and updates, along with constraints, in Rosette.
Racket
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
applications
compiled-reactive
core
reactive
tests
.gitignore
LICENSE
README.md

README.md

wallingford

Wallingford is an experimental constraint reactive programming language written in Rosette. It includes facilities for handling persistent constraints, hard and soft constraints, and reactive constraints.

Directories:

  • core -- the core system
  • applications -- various applications built on core
  • reactive -- additional classes for adding reactive constraints to the core and applications
  • tests -- these use RackUnit

The hand-compiled version of the quadrilateral demo in reactive/compiled-quadrilateral.rkt uses the Rhea implementation of the Cassowary constraint solver. To use this, check out the Racket bindings for Rhea from https://github.com/cdglabs/rhea.git, do a make, and then add a symlink from the wallingford directory to the Rhea directory. The symlink should be named just 'rhea' (this is already in .gitignore).