mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 09:10:22 +02:00
$prompt is now its own kind of CPS term.
* module/language/cps.scm ($prompt): Rework to be its own term kind. Now $continue always continues to a single continuation. Adapt callers.
This commit is contained in:
parent
29fee39c2a
commit
ee15ca1455
22 changed files with 198 additions and 195 deletions
|
@ -596,11 +596,6 @@ the LABELS that are clobbered by the effects of LABEL."
|
|||
&no-effects)
|
||||
((or ($ $fun) ($ $rec) ($ $closure))
|
||||
(&allocate &unknown-memory-kinds))
|
||||
(($ $prompt)
|
||||
;; Although the "main" path just writes &prompt, we don't know what
|
||||
;; nonlocal predecessors of the handler do, so we conservatively
|
||||
;; assume &all-effects.
|
||||
&all-effects)
|
||||
((or ($ $call) ($ $callk))
|
||||
&all-effects)
|
||||
(($ $primcall name param args)
|
||||
|
@ -614,6 +609,11 @@ the LABELS that are clobbered by the effects of LABEL."
|
|||
(expression-effects exp))
|
||||
(($ $kargs names syms ($ $branch kf kt src op param args))
|
||||
(primitive-effects param op args))
|
||||
(($ $kargs names syms ($ $prompt))
|
||||
;; Although the "main" path just writes &prompt, we don't know
|
||||
;; what nonlocal predecessors of the handler do, so we
|
||||
;; conservatively assume &all-effects.
|
||||
&all-effects)
|
||||
(($ $kreceive arity kargs)
|
||||
(match arity
|
||||
(($ $arity _ () #f () #f) &type-check)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue