syndicate-2017/racket
Tony Garnock-Jones 8cbabafbab Fix #21, long-standing mismatch in assumptions in LLL demand-matcher.
The LLL demand-matcher has two pieces: a `default-task-supervisor`
which does the work of figuring out what to do for a given change in
an instance of demand, and a driver which computes demand instances
and calls `default-task-supervisor` for each.

An `actions` accumulator is threaded through the
`default-task-supervisor` calls. However, the driver code mistakenly
believed that the result of `default-task-supervisor` calls was a
collection of fresh actions only, and therefore consed together the
previous collection of actions with the "new" ones. Because the
`default-task-supervisor` was returning an unmodified accumulator from
time to time, any actions in the accumulator across a call to
`default-task-supervisor` would end up duplicated.

This change favours the thread-the-accumulator-through perspective,
and changes the way the driver uses `new-actions` to match.
2017-08-14 17:17:49 -04:00
..
doc Remove obsolete "examples" 2016-06-14 03:55:10 -04:00
syndicate Fix #21, long-standing mismatch in assumptions in LLL demand-matcher. 2017-08-14 17:17:49 -04:00
syndicate-gl Make #lang syndicate equivalent to #lang syndicate/actor. Fixes #17. 2017-08-10 15:17:28 -04:00
syndicate-ide swap the meaning of spawn and actor in racket syndicate 2017-02-15 18:18:19 -05:00
.gitignore Move contents to subfolder in prep for merge 2016-04-01 19:05:47 -04:00
FAQ.md Update FAQ.md 2017-01-27 15:22:06 -05:00
Makefile First sketch of "IDE" for Syndicate 2016-08-31 19:12:40 +01:00
README.md Move syndicate-monolithic to new historical directory. 2016-07-30 14:48:59 -04:00
info.rkt Add a way of sepcifying and checking upside-down traces 2017-02-22 17:44:07 -05:00

README.md

Racket implementation of Syndicate

The language itself

This repository contains a Racket implementation of Syndicate in syndicate, which includes

Auxiliary collects

  • syndicate-gl is a Syndicate interface to 2D OpenGL based graphics

Compiling and running the code

You will need Racket version 6.4.0.14 or later.

Once you have Racket installed, run

raco pkg install syndicate

to install the package from the Racket package repository, or

raco pkg install

from the racket/ directory of the Git checkout to install the package from a local snapshot. (Alternatively, make link does the same thing.) This will make #lang syndicate available to programs.

At this point, you may load and run any of the example *.rkt files in the syndicate/examples/ directory.

Copyright © Tony Garnock-Jones 2010, 2011, 2012, 2013, 2014, 2015, 2016.