diff options
author | Andy Wingo <wingo@pobox.com> | 2010-02-19 15:30:34 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-02-19 15:30:34 +0100 |
commit | ea6b18e82f3ac2122d07c80bc0f320ea839a25b6 (patch) | |
tree | cd5e3c02694e73a2453b1cc9d06f160580c5c92f /module/language/glil.scm | |
parent | f5b1f76af492f3c398527ee040e8bf09fc438a9a (diff) | |
download | guile-ea6b18e82f3ac2122d07c80bc0f320ea839a25b6.tar.gz |
prompt handlers are always inline
* libguile/control.h (SCM_F_PROMPT_INLINE, SCM_PROMPT_INLINE_P): Remove;
prompts always have "inline" handlers now.
* libguile/control.c (scm_c_make_prompt): Remove inline_handler_p arg.
* libguile/vm-i-system.c (prompt):
* module/language/assembly/decompile-bytecode.scm (decode-load-program):
* module/language/assembly/compile-bytecode.scm (write-bytecode):
Adapt to prompt changes.
* module/language/glil.scm (make-glil-prompt, glil-prompt-inline?):
Remove inline? flag.
(parse-glil, unparse-glil):
* module/language/glil/compile-assembly.scm (glil->assembly): Adapt to
<glil-prompt> change.
* module/language/tree-il/compile-glil.scm (flatten): Require the
handler of a <prompt> to be a lambda-case.
* module/language/tree-il/primitives.scm (*primitive-expand-table*):
Ensure that the handler of a <prompt> is a lambda-case.
* module/language/tree-il/inline.scm (inline!): Simplify a degenerate
case: (lambda args (apply (lambda ...) args)) => (lambda ...).
Diffstat (limited to 'module/language/glil.scm')
-rw-r--r-- | module/language/glil.scm | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/module/language/glil.scm b/module/language/glil.scm index 1874c80ab..9c238547d 100644 --- a/module/language/glil.scm +++ b/module/language/glil.scm @@ -75,8 +75,7 @@ <glil-mv-call> make-glil-mv-call glil-mv-call? glil-mv-call-nargs glil-mv-call-ra - <glil-prompt> make-glil-prompt glil-prompt? - glil-prompt-label glil-prompt-inline? glil-prompt-escape-only? + <glil-prompt> make-glil-prompt glil-prompt? glil-prompt-label glil-prompt-escape-only? parse-glil unparse-glil)) @@ -105,7 +104,7 @@ (<glil-branch> inst label) (<glil-call> inst nargs) (<glil-mv-call> nargs ra) - (<glil-prompt> label inline? escape-only?)) + (<glil-prompt> label escape-only?)) @@ -133,8 +132,8 @@ ((branch ,inst ,label) (make-glil-branch inst label)) ((call ,inst ,nargs) (make-glil-call inst nargs)) ((mv-call ,nargs ,ra) (make-glil-mv-call nargs ra)) - ((prompt ,label ,inline? ,escape-only?) - (make-glil-prompt label inline? escape-only?)) + ((prompt ,label ,escape-only?) + (make-glil-prompt label escape-only?)) (else (error "invalid glil" x)))) (define (unparse-glil glil) @@ -167,5 +166,5 @@ ((<glil-branch> inst label) `(branch ,inst ,label)) ((<glil-call> inst nargs) `(call ,inst ,nargs)) ((<glil-mv-call> nargs ra) `(mv-call ,nargs ,ra)) - ((<glil-prompt> label inline? escape-only?) - `(prompt ,label ,inline? escape-only?)))) + ((<glil-prompt> label escape-only?) + `(prompt ,label escape-only?)))) |