syndicate-2017/index.md

64 lines
2.0 KiB
Markdown
Raw Normal View History

2016-03-09 11:23:06 +00:00
---
2016-03-30 22:32:07 +00:00
title: Home
2016-03-09 11:23:06 +00:00
layout: page
2016-04-01 18:33:58 +00:00
class: frontpage
link:
ghrepo: 'https://github.com/tonyg/syndicate'
2016-03-09 11:23:06 +00:00
---
2016-04-01 19:17:27 +00:00
**noun**
/ˈsindikit/
1. a self-organizing group of individuals, companies, corporations or
entities formed to transact some specific business, to pursue or
promote a shared interest. <small>—[Wikipedia](https://en.wikipedia.org/wiki/Syndicate)</small>
<div class="linkbuttons"><a href="{{ page.link.ghrepo }}"><img alt="Link to Syndicate github repo" src="{{ site.baseurl }}/img/GitHub-Mark-64px.png"></a></div>
2016-03-30 22:32:07 +00:00
2016-04-01 18:33:58 +00:00
# Motivation
2016-03-30 22:32:07 +00:00
2016-04-01 18:33:58 +00:00
Syndicate is an Actor-based language with features specifically
designed to help programmers organise their interactive programs.
2016-03-30 22:32:07 +00:00
2016-04-01 18:33:58 +00:00
# Trying it out
The [Syndicate github repository](https://github.com/tonyg/syndicate)
contains Syndicate implementations for both
[Racket](http://racket-lang.org/) and
[ES5](https://en.wikipedia.org/wiki/ECMAScript).
...
which includes
- the implementation of the `#lang syndicate` language, in the
[`syndicate` directory](https://github.com/tonyg/syndicate/tree/master/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`.
- a handful of other examples, in
[`syndicate/examples/`](https://github.com/tonyg/syndicate/tree/master/syndicate/examples/).
## Compiling and running the code
You will need Racket version 6.3 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 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.
2016-03-09 11:23:06 +00:00
2016-04-01 18:33:58 +00:00
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.