Skip to content

Commit 2c119ad

Browse files
authored
Merge pull request #3 from garlic0x1/docs
docs
2 parents 4026057 + 3f38d3d commit 2c119ad

File tree

2 files changed

+31
-34
lines changed

2 files changed

+31
-34
lines changed

Diff for: README.org

+22-25
Original file line numberDiff line numberDiff line change
@@ -36,36 +36,33 @@ instantly. The `ask` function is synchronous and waits for its
3636
message to be processed and returns the result of the actor's
3737
processing.
3838

39-
* TODO Pong Example
39+
**** TODO Pong Example
4040

4141
Here is a little pong example, I might add a more convenient way to
4242
communicate with singleton actors:
4343

4444
#+begin_src lisp
45-
(defun pong ()
46-
(let (*pinger* *ponger*)
47-
(define-actor pinger () (c)
48-
(format t "~a: ping!~%" c)
49-
(force-output)
50-
(sleep 0.2)
51-
(if (< c 10)
52-
(send *ponger* (1+ c))
53-
(progn (close-actor *ponger*)
54-
(close-actor *pinger*))))
55-
56-
(define-actor ponger () (c)
57-
(format t "~a: pong!~%" c)
58-
(force-output)
59-
(sleep 0.2)
60-
(if (< c 10)
61-
(send *pinger* (1+ c))
62-
(progn (close-actor *ponger*)
63-
(close-actor *pinger*))))
64-
65-
(setf *ponger* (ponger) *pinger* (pinger))
66-
(send *ponger* 0)
67-
(join-actor *ponger*)
68-
(join-actor *pinger*)))
45+
(define-actor pinger () (c)
46+
(format t "~a: ping!~%" c)
47+
(sleep 0.2)
48+
(if (< c 10)
49+
(send :ponger (1+ c))
50+
(progn (close-actor :ponger)
51+
(close-actor :pinger))))
52+
53+
(define-actor ponger () (c)
54+
(format t "~a: pong!~%" c)
55+
(sleep 0.2)
56+
(if (< c 10)
57+
(send :pinger (1+ c))
58+
(progn (close-actor :ponger)
59+
(close-actor :pinger))))
60+
61+
;; Spawn global named actors
62+
(pinger :name :pinger)
63+
(ponger :name :ponger)
64+
65+
(send :ponger 0)
6966
#+end_src
7067

7168
* TODO document *self*

Diff for: test.lisp

+9-9
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,12 @@
147147

148148
;; I need to create a Join Sync signal I think...
149149

150-
;; (test :close-and-join
151-
;; (define-actor counter ((c 0)) (increment)
152-
;; (incf c increment))
153-
154-
;; (counter :name :my-counter)
155-
;; (send :my-counter 1)
156-
;; (is (= 3 (ask :my-counter 2)))
157-
;; (close-and-join-actors :my-counter)
158-
;; (is (eql nil (gethash :my-counter *registry*))))
150+
(test :close-and-join
151+
(define-actor counter ((c 0)) (increment)
152+
(incf c increment))
153+
154+
(counter :name :my-counter)
155+
(send :my-counter 1)
156+
(is (= 3 (ask :my-counter 2)))
157+
(close-and-join-actors :my-counter)
158+
(is (eql nil (gethash :my-counter *registry*))))

0 commit comments

Comments
 (0)