summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseh <henesy.dev@gmail.com>2019-03-18 04:32:23 -0500
committerseh <henesy.dev@gmail.com>2019-03-18 04:32:23 -0500
commit5bd50f13c315024164a221eb5a86edabf412b4d1 (patch)
treea077fe2f2362b6bafb24b347266f64c91f6e6473
parentc91045be5ed9f9019d92ce23a3955313e691f263 (diff)
init channels example work
-rw-r--r--Channels/README.md19
-rw-r--r--Channels/chans.b20
2 files changed, 39 insertions, 0 deletions
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;
+}
+