0a1db7c050 | ||
---|---|---|
marketplace | ||
.gitignore | ||
Makefile | ||
README.md |
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
-
the implementation of the
#lang marketplace
language from the paper, inmarketplace/
. -
the echo server example from the paper, in
marketplace/examples/echo-paper3.rkt
. -
the chat server example from the paper, in
marketplace/examples/chat-paper.rkt
. -
the Haskell, Erlang and Python implementations of the chat server from the paper, in
marketplace/examples/chat.hs
,chat.erl
, andchat.py
respectively.
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 make link
(or the equivalent
command from the makefile) from the root directory of the Git checkout
to install the package in your Racket system. This will make #lang marketplace
available to programs.
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
Copyright © Tony Garnock-Jones 2010, 2011, 2012, 2013.