Historical interest only: A Dataspace-like language and system that led to "Network Calculus" (ESOP 2014) and minimart-2014, in turn a predecessor to Syndicate. https://syndicate-lang.org/papers#gjthf-esop14
Go to file
Tony Garnock-Jones cd7da75504 Safety: wrap spawn intermediate step in send-to-user to blame appropriate process 2013-04-22 19:37:24 -04:00
marketplace Safety: wrap spawn intermediate step in send-to-user to blame appropriate process 2013-04-22 19:37:24 -04:00
.gitignore Initial commit 2013-03-28 23:00:29 -04:00
Makefile Initial commit 2013-03-28 23:00:29 -04:00
README.md There's no reason to name it echo-paper3.rkt any more. 2013-03-29 15:33:08 -04:00

README.md

From Functional I/O to Functional Systems Programming

Support code for ICFP submission.

This is a Racket package containing a single collection, marketplace, which includes

How to compile and run the code

You will need the latest prerelease version of Racket. Any version newer than or equal to Racket 5.3.3.7 should work. Nightly-build installers for Racket can be downloaded here.

Once you have Racket installed, run

raco pkg install --link `pwd`

from the root directory of the Git checkout to install the package in your Racket system. (Alternatively, make link does the same thing.) This will make #lang marketplace available to programs.

It will take several minutes to compile the code. On my Macbook Air, it takes around 10 minutes; on my ridiculously fast desktop machine, it still takes around 2 minutes.

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

Note that both the echo server and chat server examples do not print any output on standard output: instead, they simply start running and silently await TCP connections. Once one of the servers is running, in a separate window, try telnet localhost 5999.

Note also that both the echo server and the chat server use port 5999, so you cannot run both simultaneously.

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