projects
/
8sync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
06111ce
)
Remove unused %sync-foo operators, shift parameterization to right before call
author
Christopher Allan Webber
<cwebber@dustycloud.org>
Sun, 22 Nov 2015 16:12:29 +0000
(10:12 -0600)
committer
Christopher Allan Webber
<cwebber@dustycloud.org>
Sun, 22 Nov 2015 16:12:29 +0000
(10:12 -0600)
loopy.scm
patch
|
blob
|
history
diff --git
a/loopy.scm
b/loopy.scm
index 22b6ac894aac168b3f6c85258e98f89899e54f70..abc9801191d6b9bd01df28d135508448ef72422f 100644
(file)
--- a/
loopy.scm
+++ b/
loopy.scm
@@
-33,7
+33,7
@@
schedule-segments-split schedule-extract-until!
add-segments-contents-to-queue!
schedule-segments-split schedule-extract-until!
add-segments-contents-to-queue!
- %sync 8sync
%sync-at 8sync-at %sync-delay 8sync-delay
+ %sync 8sync
<run-request>
make-run-request run-request?
<run-request>
make-run-request run-request?
@@
-48,7
+48,7
@@
%port-request %run %run-at %run-delay
8port-request 8run 8run-at 8run-delay
%port-request %run %run-at %run-delay
8port-request 8run 8run-at 8run-delay
-
+
%current-agenda
start-agenda agenda-run-once))
%current-agenda
start-agenda agenda-run-once))
@@
-418,7
+418,7
@@
Will produce (0 . 0) instead of a negative number, if needed."
(make-future call-first on-success on-fail on-error)
when))
(make-future call-first on-success on-fail on-error)
when))
-(define-syntax-rule (%sync
body args ...
)
+(define-syntax-rule (%sync
async-request
)
"Run BODY asynchronously at a prompt, passing args to make-future.
Pronounced `eight-sync' despite the spelling.
"Run BODY asynchronously at a prompt, passing args to make-future.
Pronounced `eight-sync' despite the spelling.
@@
-431,33
+431,12
@@
The % and 8 characters kind of look similar... hence this library's
name! (That, and the pun 'eight-synchronous' programming.)
There are 8sync aliases if you prefer that name."
(abort-to-prompt (current-agenda-prompt)
name! (That, and the pun 'eight-synchronous' programming.)
There are 8sync aliases if you prefer that name."
(abort-to-prompt (current-agenda-prompt)
- (wrap body)
- args ...))
-
-(define-syntax-rule (%sync-at body when args ...)
- (abort-to-prompt (current-agenda-prompt)
- (wrap body)
- #:when when
- args ...))
-
-(define-syntax-rule (%sync-delay body delay-time args ...)
- (abort-to-prompt (current-agenda-prompt)
- (wrap body)
- #:when (tdelta delay-time)
- args ...))
+ async-request))
(define-syntax-rule (8sync args ...)
"Alias for %sync"
(%sync args ...))
(define-syntax-rule (8sync args ...)
"Alias for %sync"
(%sync args ...))
-(define-syntax-rule (8sync-at args ...)
- "Alias for %sync-at"
- (%sync-at args ...))
-
-(define-syntax-rule (8sync-delay args ...)
- "Alias for %sync-delay"
- (8sync-delay args ...))
-
;; Async port request and run-request meta-requests
(define (make-async-request proc)
"Wrap PROC in an async-request
;; Async port request and run-request meta-requests
(define (make-async-request proc)
"Wrap PROC in an async-request
@@
-617,8
+596,7
@@
return the wrong thing via (8sync) and trip themselves up."
;; @@: Hm, maybe here would be a great place to handle
;; select'ing on ports.
;; We could compose over agenda-run-once and agenda-read-ports
;; @@: Hm, maybe here would be a great place to handle
;; select'ing on ports.
;; We could compose over agenda-run-once and agenda-read-ports
- (parameterize ((%current-agenda agenda))
- (agenda-run-once agenda))))
+ (agenda-run-once agenda)))
(if (and stop-condition (stop-condition agenda))
'done
(let* ((agenda
(if (and stop-condition (stop-condition agenda))
'done
(let* ((agenda
@@
-644,7
+622,11
@@
based on the results"
(define (call-proc proc)
(call-with-prompt
(agenda-prompt-tag agenda)
(define (call-proc proc)
(call-with-prompt
(agenda-prompt-tag agenda)
- proc setup-async-request))
+ (lambda ()
+ (parameterize ((%current-agenda agenda))
+ (proc)))
+ (lambda (kont async-request)
+ (setup-async-request kont async-request))))
(let ((queue (agenda-queue agenda))
(next-queue (make-q)))
(let ((queue (agenda-queue agenda))
(next-queue (make-q)))