~nilium/hardwood

f8a19cf1f95e451c867515b439c36f54a8eb6ea9 — Kooda 7 years ago 20bbfed
Consolidate documentation from the wiki.
1 files changed, 18 insertions(+), 4 deletions(-)

M hardwood.wiki
M hardwood.wiki => hardwood.wiki +18 -4
@@ 19,11 19,11 @@ will. Also, some incompatibilities are to be expected.'''

== Source code

The code is available in a [[http://hg.upyum.com/hardwood|mercurial
repository]]
The code is available in a
[[https://www.upyum.com/cgit.cgi/hardwood/|git repository]]

You can clone it with:
 hg clone http://hg.upyum.com/hardwood
 git clone git://upyum.com/hardwood

== Author



@@ 196,7 196,8 @@ the Termite paper and implementation as it uses the syntax of the

Inside csi:
<enscript highlight="scheme">
(setup-thread (current-thread))
(use hardwood srfi-18)
(setup-thread)
</enscript>

This can be useful to communicate with other processes from the REPL, as


@@ 205,6 206,9 @@ in the following examples.
=== Making a "server" process

<enscript highlight="scheme">
(use hardwood srfi-18)
(setup-thread)

(define pong-server
  (spawn
    (lambda ()


@@ 222,6 226,9 @@ in the following examples.
=== Selective message retrieval

<enscript highlight="scheme">
(use hardwood srfi-18)
(setup-thread)

(! (self) 1)
(! (self) 2)
(! (self) 3)


@@ 234,6 241,9 @@ in the following examples.
=== RPC service

<enscript highlight="scheme">
(use hardwood srfi-18)
(setup-thread)

(define rpc-server
  (spawn
    (lambda ()


@@ 249,6 259,9 @@ in the following examples.
=== Monitoring processes

<enscript highlight="scheme">
(use hardwood srfi-18)
(setup-thread)

(define pid
  (spawn
    (lambda ()


@@ 263,6 276,7 @@ in the following examples.

== Version History

; 0.5 : setup-thread now uses the current-thread by default, macro helper procedures are not exported from the module anymore (thanks Evan for the patches!)
; 0.4 : Bug fixes; tests now use the [[test]] egg; in-process call history is now more useful
; 0.3 : Bug fix; `!!` function; spawn accepts procedure arguments; monitor references
; 0.2 : Implement process monitoring