syndicate-2017/racket
Sam Caldwell ecbfe56163 Modify syndicate's module-begin to capture actions on the RHS of define
Example. consider a procedure that spawns an actor and then returns
some value relevant to communicating to that actor:

(define (spawn-an-actor)
  (define name (gensym))
  (spawn
    (on (asserted (... name ...))
         ...)
     ...)
  name)

And the module top level tries to boot and use this actor with a define:

(define the-name (spawn-an-actor))
(spawn ... use the-name ...)

The new module-begin analyzes (forms that expand to) define-values to
wrap the body with a capture-actor-actions, allowing such spawns to be
detected.
2020-03-10 11:44:19 -04:00
..
doc Remove obsolete "examples" 2016-06-14 03:55:10 -04:00
syndicate Modify syndicate's module-begin to capture actions on the RHS of define 2020-03-10 11:44:19 -04:00
syndicate-gl Make #lang syndicate equivalent to #lang syndicate/actor. Fixes #17. 2017-08-10 15:17:28 -04:00
syndicate-gui-toolbox 7-GUIS port task 7 2020-03-10 11:44:19 -04:00
syndicate-ide swap the meaning of spawn and actor in racket syndicate 2017-02-15 18:18:19 -05:00
typed consider more potential schedulings of events 2020-03-10 11:44:18 -04: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 Cosmetic (sort-lines) [2/2] 2020-01-17 14:15:20 +01: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.