X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=demos%2Factors%2Fbotherbotherbother.scm;h=db3c9d810748e022643c7fa7989d03d2b784bcbe;hp=3a2747ab9914a5f93d44bf0eff135cd34f450ec4;hb=9414dea358e9067f1d333650df1a228dcc4bf378;hpb=3c40164d37f2a11e9439261625c9dd4385a27350 diff --git a/demos/actors/botherbotherbother.scm b/demos/actors/botherbotherbother.scm old mode 100644 new mode 100755 index 3a2747a..db3c9d8 --- a/demos/actors/botherbotherbother.scm +++ b/demos/actors/botherbotherbother.scm @@ -1,3 +1,7 @@ +#!/usr/bin/guile \ +-e main -s +!# + ;;; 8sync --- Asynchronous programming for Guile ;;; Copyright (C) 2016 Christopher Allan Webber ;;; @@ -108,23 +112,24 @@ (define num-students 10) -(define (main) +(define (main . args) (define agenda (make-agenda)) (define hive (make-hive)) - (define professor (hive-create-actor hive )) + (define professor (hive-create-actor* hive "prof")) (define namegen (student-name-generator)) (define students (map (lambda _ - (hive-create-actor* hive - (#:name (namegen)))) + (let ((name (namegen))) + (hive-create-actor* hive name + #:name name))) (iota num-students))) ;; Bootstrap each student into bothering-professor mode. (define start-bothering-tasks (map (lambda (student) - (hive-bootstrap-message hive student 'bother-professor + (bootstrap-message hive student 'bother-professor #:target professor)) students))