From 22a23a79d9325f8f7ba963fae706bca46de2a491 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 6 Oct 2013 08:17:04 -0400 Subject: Move wait procedure into agenda module. --- 2d/agenda.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to '2d/agenda.scm') diff --git a/2d/agenda.scm b/2d/agenda.scm index 77983b2..c336ff1 100644 --- a/2d/agenda.scm +++ b/2d/agenda.scm @@ -25,12 +25,14 @@ #:use-module (ice-9 q) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) + #:use-module (2d coroutine) #:export (make-agenda with-agenda agenda-schedule agenda-schedule-interval update-agenda - clear-agenda)) + clear-agenda + wait)) ;; This code is a modified version of the agenda implementation in ;; SICP. Thank you, SICP! @@ -192,3 +194,8 @@ upon every update." (define (clear-agenda) "Clear the current agenda." (%clear-agenda *current-agenda*)) + +(define* (wait #:optional (delay 1)) + "Yield coroutine and schdule the continuation to be run after DELAY +ticks." + (yield (lambda (resume) (agenda-schedule resume delay)))) -- cgit v1.2.3