8sync-delay
8sync-run 8sync-run-at 8sync-run-delay
- 8sync-nowait
+ 8sync
8sleep
;; used for introspecting the error, but a method for making
;; TODO: Write (%run-immediately)
-(define-syntax-rule (8sync-nowait body)
+(define-syntax-rule (8sync body)
"Run body asynchronously but ignore its result...
forge ahead in our current function!"
(8sync-abort-to-prompt
(define-syntax-rule (8sleep time)
(8sync-delay 'no-op time))
+;; Voluntarily yield execution
+(define (yield) ; @@: should this be define-inlinable?
+ "Voluntarily yield execution to the scheduler."
+ (8sync-abort-to-prompt
+ (make-async-request
+ (lambda (kont)
+ (make-run-request (lambda () (kont #f)) #f)))))
\f
;;; Execution of agenda, and current agenda