From 482afb9f628ec4cb6e2871de8eed7cb3266a54cb Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 1 Apr 2016 20:02:50 -0400 Subject: [PATCH] Update readmes --- README.md | 44 +++++++++++++++---------------------------- racket/README.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 29 deletions(-) create mode 100644 racket/README.md diff --git a/README.md b/README.md index c12a581..e342d8c 100644 --- a/README.md +++ b/README.md @@ -24,42 +24,28 @@ networks-within-networks. Programs can give up responsibility for maintaining shared state and for scoping group communications, letting their containing network take on those burdens. -## The code +## Contents -This repository contains a [Racket](http://racket-lang.org/) package, -`syndicate`, which includes +This repository contains - - the implementation of the `#lang syndicate` language, in the - [`syndicate` directory](https://github.com/tonyg/syndicate/tree/master/syndicate/). + - a [Racket](http://racket-lang.org/) implementation of Syndicate + (plus auxiliary modules) in `racket/syndicate/` - - a TCP echo server example, which listens for connections on port - 5999 by default, in - [`syndicate/examples/echo.rkt`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/echo.rkt). - Connect to it using, for example, `telnet localhost 5999`. + - an + [ECMAScript 5](http://www.ecma-international.org/publications/standards/Ecma-262.htm) + implementation of Syndicate in `js/` - - a handful of other examples, in - [`syndicate/examples/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/). + - larger example programs: -## Compiling and running the code + - `examples/platformer`, a 2D Platform game written in Syndicate + for Racket. -You will need Racket version 6.3 or later. + - `examples/netstack`, a TCP/IP stack written in Syndicate for + Racket. It reads and writes raw Ethernet packets from the kernel + using Linux- and OSX-specific APIs. -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 root 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/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/) -directory. + - a sketch of a Haskell implementation of the core routing structures + of Syndicate in `hs/` ## Copyright diff --git a/racket/README.md b/racket/README.md new file mode 100644 index 0000000..eea6edf --- /dev/null +++ b/racket/README.md @@ -0,0 +1,49 @@ +# Racket implementation of Syndicate + +## The language itself + +This repository contains a [Racket](http://racket-lang.org/) +implementation of Syndicate in `syndicate`, which includes + + - the implementation of the `#lang syndicate` language, in the + [`syndicate` directory](https://github.com/tonyg/syndicate/tree/master/racket/syndicate/). + + - a TCP echo server example, which listens for connections on port + 5999 by default, in + [`syndicate/examples/echo.rkt`](https://github.com/tonyg/syndicate/tree/master/racket/syndicate/examples/echo.rkt). + Connect to it using, for example, `telnet localhost 5999`. + + - a handful of other examples, in + [`syndicate/examples/`](https://github.com/tonyg/syndicate/tree/master/racket/syndicate/examples/). + +## Auxiliary collects + + - `syndicate-gl` is a Syndicate interface to 2D OpenGL based graphics + + - `syndicate-monolithic` is an implementation of the "monolithic + state change notification" dialect of Syndicate + +## 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/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/) +directory. + +## Copyright + +Copyright © Tony Garnock-Jones 2010, 2011, 2012, 2013, 2014, 2015, 2016.