X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=demos%2Fircbot.scm;h=c8571561d9582285c24e5601fae9c181e76a9342;hb=1253ea73ba4020df78671955721721179b556bfc;hp=22d2a1d3a386a35f81a11662b8428c7a5d8ccc75;hpb=8a163053ad2008ef8be013224a8fd15b96287bdf;p=8sync.git diff --git a/demos/ircbot.scm b/demos/ircbot.scm index 22d2a1d..c857156 100755 --- a/demos/ircbot.scm +++ b/demos/ircbot.scm @@ -3,7 +3,7 @@ !# ;;; 8sync --- Asynchronous programming for Guile -;;; Copyright (C) 2015 Christopher Allan Webber +;;; Copyright © 2015, 2016, 2017 Christopher Allan Webber ;;; ;;; This file is part of 8sync. ;;; @@ -26,7 +26,8 @@ (oop goops) (srfi srfi-37) (ice-9 format) - (ice-9 match)) + (ice-9 match) + (fibers conditions)) (define-class ()) @@ -102,22 +103,22 @@ (server "irc.freenode.net") (channels '("##botchat")) (repl #f)) - (define hive (make-hive)) - (define irc-bot - (bootstrap-actor* hive "irc-bot" - #:username username - #:server server - #:channels channels)) - (define repl-manager - (cond - ((string? repl) - (bootstrap-actor* hive "repl" - #:path repl)) - (repl - (bootstrap-actor* hive "repl")))) + (run-hive + (lambda (hive) + (define irc-bot + (bootstrap-actor* hive "irc-bot" + #:username username + #:server server + #:channels channels)) + (define repl-manager + (cond + ((string? repl) + (bootstrap-actor* hive "repl" + #:path repl)) + (repl + (bootstrap-actor* hive "repl")))) - ;; TODO: load REPL - (run-hive hive '())) + (wait (make-condition))))) (define (main args) (define parsed-args (parse-args "ircbot.scm" args))