From 5bd50f13c315024164a221eb5a86edabf412b4d1 Mon Sep 17 00:00:00 2001 From: seh Date: Mon, 18 Mar 2019 04:32:23 -0500 Subject: init channels example work --- Channels/README.md | 19 +++++++++++++++++++ Channels/chans.b | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Channels/README.md create mode 100644 Channels/chans.b (limited to 'Channels') diff --git a/Channels/README.md b/Channels/README.md new file mode 100644 index 0000000..7d19f2b --- /dev/null +++ b/Channels/README.md @@ -0,0 +1,19 @@ +# Channels + +Limbo supports concurrent communication and synchronization between processes via channels and a few structures working in tandem with channels. + +The design for channels is inspired primarily by "Communicating Sequential Processes" (CSP) by Tony Hoare. + +Further reading on CSP: http://www.usingcsp.com/cspbook.pdf + +## Source + + + +## Demo + + + +## Exercises + +- diff --git a/Channels/chans.b b/Channels/chans.b new file mode 100644 index 0000000..82945c8 --- /dev/null +++ b/Channels/chans.b @@ -0,0 +1,20 @@ +implement Chans; + +include "sys.m"; +include "draw.m"; + +sys: Sys; +print: import sys; + +Chans: module { + init: fn(nil: ref Draw->Context, nil: list of string); +}; + +init(nil: ref Draw->Context, nil: list of string) { + sys = load Sys Sys->PATH; + + + + exit; +} + -- cgit v1.2.3