actors: Add auto-init feature to actors.
[8sync.git] / demos / actors / botherbotherbother.scm
index 356a6a9451410eda4709cc8e78ba5d46a3211f59..abccd4e0568bba50155d7ef0b5ede7fbdda8f989 100755 (executable)
@@ -59,8 +59,7 @@
                (while (not (student-dead actor))
                  (format #t "~a: Bother bother bother!\n"
                          (actor-id-actor actor))
-                 (<- actor target
-                     'be-bothered
+                 (<- target 'be-bothered
                      #:noise "Bother bother bother!\n"))))
 
             (be-lambda-consvardraed
@@ -89,8 +88,7 @@
                 (actor-id actor))
         (hash-for-each
          (lambda (student _)
-           (<- actor student
-               'be-lambda-consvardraed)
+           (<- student 'be-lambda-consvardraed)
            ;; Remove student from bothering list
            (hash-remove! whos-bothering student))
          whos-bothering))
 (define (main . args)
   (define agenda (make-agenda))
   (define hive (make-hive))
-  (define professor (hive-create-actor* hive <professor> "prof"))
+  (define professor (bootstrap-actor* hive <professor> "prof"))
   (define namegen (student-name-generator))
   (define students
     (map
      (lambda _
        (let ((name (namegen)))
-         (hive-create-actor* hive <student> name
-                             #:name name)))
+         (bootstrap-actor* hive <student> name
+                           #:name name)))
      (iota num-students)))
 
   ;; Bootstrap each student into bothering-professor mode.
                                #:target professor))
      students))
 
-  (ez-run-hive hive start-bothering-tasks))
+  (run-hive hive start-bothering-tasks))