Update readmes
This commit is contained in:
parent
9dee4e3b30
commit
482afb9f62
44
README.md
44
README.md
|
@ -24,42 +24,28 @@ networks-within-networks. Programs can give up responsibility for
|
||||||
maintaining shared state and for scoping group communications, letting
|
maintaining shared state and for scoping group communications, letting
|
||||||
their containing network take on those burdens.
|
their containing network take on those burdens.
|
||||||
|
|
||||||
## The code
|
## Contents
|
||||||
|
|
||||||
This repository contains a [Racket](http://racket-lang.org/) package,
|
This repository contains
|
||||||
`syndicate`, which includes
|
|
||||||
|
|
||||||
- the implementation of the `#lang syndicate` language, in the
|
- a [Racket](http://racket-lang.org/) implementation of Syndicate
|
||||||
[`syndicate` directory](https://github.com/tonyg/syndicate/tree/master/syndicate/).
|
(plus auxiliary modules) in `racket/syndicate/`
|
||||||
|
|
||||||
- a TCP echo server example, which listens for connections on port
|
- an
|
||||||
5999 by default, in
|
[ECMAScript 5](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
|
||||||
[`syndicate/examples/echo.rkt`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/echo.rkt).
|
implementation of Syndicate in `js/`
|
||||||
Connect to it using, for example, `telnet localhost 5999`.
|
|
||||||
|
|
||||||
- a handful of other examples, in
|
- larger example programs:
|
||||||
[`syndicate/examples/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/).
|
|
||||||
|
|
||||||
## 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
|
- a sketch of a Haskell implementation of the core routing structures
|
||||||
|
of Syndicate in `hs/`
|
||||||
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.
|
|
||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
|
|
||||||
|
|
|
@ -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.
|
Loading…
Reference in New Issue