peval refactor
* module/language/tree-il/peval.scm (peval): Refactor the for-value, etc helpers.
This commit is contained in:
parent
47974c308a
commit
904981ee41
1 changed files with 7 additions and 9 deletions
|
|
@ -601,17 +601,15 @@ top-level bindings from ENV and return the resulting expression."
|
|||
(define (lookup var)
|
||||
(and=> (vhash-assq var env) cdr))
|
||||
|
||||
(define (for-value exp)
|
||||
(loop exp env counter 'value))
|
||||
(define (for-operand exp)
|
||||
(loop exp env counter 'operand))
|
||||
(define (for-test exp)
|
||||
(loop exp env counter 'test))
|
||||
(define (for-effect exp)
|
||||
(loop exp env counter 'effect))
|
||||
(define (for-tail exp)
|
||||
(define (visit exp ctx)
|
||||
(loop exp env counter ctx))
|
||||
|
||||
(define (for-value exp) (visit exp 'value))
|
||||
(define (for-operand exp) (visit exp 'operand))
|
||||
(define (for-test exp) (visit exp 'test))
|
||||
(define (for-effect exp) (visit exp 'effect))
|
||||
(define (for-tail exp) (visit exp ctx))
|
||||
|
||||
(if counter
|
||||
(record-effort! counter))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue