First call!
This commit is contained in:
parent
63efb81656
commit
24b88e2cf1
|
@ -0,0 +1,34 @@
|
|||
#lang racket/base
|
||||
|
||||
(require racket/match)
|
||||
(require (only-in racket/port read-line-evt))
|
||||
(require "core.rkt")
|
||||
(require "ground.rkt")
|
||||
|
||||
(define (r e s)
|
||||
(match e
|
||||
[(message body _ _) (transition s (send `(got ,body) #:meta-level 1))]
|
||||
[_ #f]))
|
||||
|
||||
(define (b e n)
|
||||
(match e
|
||||
[#f (if (< n 10)
|
||||
(transition (+ n 1) (send `(hello ,n)))
|
||||
#f)]
|
||||
[_ #f]))
|
||||
|
||||
(define (spy e s)
|
||||
(when e (log-info "SPY: ~v" e))
|
||||
#f)
|
||||
|
||||
(define (echoer e s)
|
||||
(match e
|
||||
[(message (event _ (list (? eof-object?))) _ _) (transition s (quit))]
|
||||
[(message (event _ (list line)) _ _) (transition s (send `(got-line ,line)))]
|
||||
[_ #f]))
|
||||
|
||||
(run-ground (spawn-world (spawn r (void) (list (sub ?)))
|
||||
(spawn b 0))
|
||||
(spawn echoer (void) (list (sub (event (read-line-evt (current-input-port) 'any) ?)
|
||||
#:meta-level 1)))
|
||||
(spawn spy (void) (list (sub ? #:level 1000) (pub ? #:level 1000))))
|
Loading…
Reference in New Issue