1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-30 17:00:23 +02:00
guile/module/ice-9/psyntax-pp.scm
Andy Wingo 5f1611640a really boot primitive-eval from scheme.
* libguile/eval.c (scm_primitive_eval, scm_c_primitive_eval):
  (scm_init_eval): Rework so that scm_primitive_eval always calls out to
  the primitive-eval variable. The previous definition is the default
  value, which is probably overridden by scm_init_eval_in_scheme.

* libguile/init.c (scm_i_init_guile): Move ports and load-path up, so we
  can debug when initing eval. Call scm_init_eval_in_scheme. Awesome.

* libguile/load.h:
* libguile/load.c (scm_init_eval_in_scheme): New procedure, loads up
  ice-9/eval.scm to replace the primitive-eval definition, if everything
  is there and up-to-date.

* libguile/modules.c (scm_module_transformer): Export to Scheme, so it's
  there for eval.go.

* module/ice-9/boot-9.scm: No need to define module-transformer.

* module/ice-9/eval.scm (capture-env): Only reference the-root-module if
  modules are booted.
  (primitive-eval): Inline a definition for identity. Throw a more
  standard error for "wrong number of arguments".

* module/ice-9/psyntax.scm (chi-install-global): The macro binding for a
  syncase macro is now a pair: the transformer, and the module that was
  current when the transformer was installed. The latter is used for
  hygiene purposes, replacing the use of procedure-module, which didn't
  work with the interpreter's shared-code closures.
  (chi-macro): Adapt for the binding being a pair, and get the hygiene
  from the cdr.
  (eval-local-transformer): Adapt to new form of macro bindings.

* module/ice-9/psyntax-pp.scm: Regenerated.

* .gitignore: Ignore eval.go.stamp.

* module/Makefile.am: Reorder for fastest serial compilation, now that
  there are no ordering constraints. I did a number of experiments here
  and this seems to be the best; but the bulk of the time is compiling
  psyntax-pp.scm with eval.scm. Not so great.

* libguile/vm-engine.c (vm-engine): Throw a more standard error for
  "wrong type to apply".

* test-suite/tests/gc.test ("gc"): Remove a hack that shouldn't affect
  the new evaluator, and throw in another (gc) for good measure.

* test-suite/tests/goops.test ("defining classes"):
* test-suite/tests/hooks.test (proc1): We can't currently check what the
  arity is of a closure made by eval.scm -- or more accurately all
  closures have 0 required args and no rest args. So punt for now.

* test-suite/tests/syntax.test ("letrec"): The scheme evaluator can't
  check that a variable is unbound, currently; perhaps the full "fixing
  letrec" expansion could fix this. But barring that, punt.
2009-12-03 00:00:38 +01:00

14658 lines
955 KiB
Scheme

(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
(letrec ((#{and-map*\ 3695}#
(lambda (#{f\ 3733}# #{first\ 3734}# . #{rest\ 3735}#)
(let ((#{t\ 3736}# (null? #{first\ 3734}#)))
(if #{t\ 3736}#
#{t\ 3736}#
(if (null? #{rest\ 3735}#)
(letrec ((#{andmap\ 3737}#
(lambda (#{first\ 3738}#)
(let ((#{x\ 3739}# (car #{first\ 3738}#))
(#{first\ 3740}# (cdr #{first\ 3738}#)))
(if (null? #{first\ 3740}#)
(#{f\ 3733}# #{x\ 3739}#)
(if (#{f\ 3733}# #{x\ 3739}#)
(#{andmap\ 3737}# #{first\ 3740}#)
#f))))))
(#{andmap\ 3737}# #{first\ 3734}#))
(letrec ((#{andmap\ 3741}#
(lambda (#{first\ 3742}# #{rest\ 3743}#)
(let ((#{x\ 3744}# (car #{first\ 3742}#))
(#{xr\ 3745}# (map car #{rest\ 3743}#))
(#{first\ 3746}# (cdr #{first\ 3742}#))
(#{rest\ 3747}#
(map cdr #{rest\ 3743}#)))
(if (null? #{first\ 3746}#)
(apply #{f\ 3733}#
(cons #{x\ 3744}# #{xr\ 3745}#))
(if (apply #{f\ 3733}#
(cons #{x\ 3744}# #{xr\ 3745}#))
(#{andmap\ 3741}#
#{first\ 3746}#
#{rest\ 3747}#)
#f))))))
(#{andmap\ 3741}# #{first\ 3734}# #{rest\ 3735}#))))))))
(letrec ((#{lambda-var-list\ 3846}#
(lambda (#{vars\ 3970}#)
(letrec ((#{lvl\ 3971}#
(lambda (#{vars\ 3972}# #{ls\ 3973}# #{w\ 3974}#)
(if (pair? #{vars\ 3972}#)
(#{lvl\ 3971}#
(cdr #{vars\ 3972}#)
(cons (#{wrap\ 3823}#
(car #{vars\ 3972}#)
#{w\ 3974}#
#f)
#{ls\ 3973}#)
#{w\ 3974}#)
(if (#{id?\ 3795}# #{vars\ 3972}#)
(cons (#{wrap\ 3823}#
#{vars\ 3972}#
#{w\ 3974}#
#f)
#{ls\ 3973}#)
(if (null? #{vars\ 3972}#)
#{ls\ 3973}#
(if (#{syntax-object?\ 3779}# #{vars\ 3972}#)
(#{lvl\ 3971}#
(#{syntax-object-expression\ 3780}#
#{vars\ 3972}#)
#{ls\ 3973}#
(#{join-wraps\ 3814}#
#{w\ 3974}#
(#{syntax-object-wrap\ 3781}#
#{vars\ 3972}#)))
(cons #{vars\ 3972}# #{ls\ 3973}#))))))))
(#{lvl\ 3971}#
#{vars\ 3970}#
'()
'(())))))
(#{gen-var\ 3845}#
(lambda (#{id\ 3975}#)
(let ((#{id\ 3976}#
(if (#{syntax-object?\ 3779}# #{id\ 3975}#)
(#{syntax-object-expression\ 3780}# #{id\ 3975}#)
#{id\ 3975}#)))
(gensym
(string-append (symbol->string #{id\ 3976}#) " ")))))
(#{strip\ 3844}#
(lambda (#{x\ 3977}# #{w\ 3978}#)
(if (memq 'top
(#{wrap-marks\ 3798}# #{w\ 3978}#))
#{x\ 3977}#
(letrec ((#{f\ 3979}#
(lambda (#{x\ 3980}#)
(if (#{syntax-object?\ 3779}# #{x\ 3980}#)
(#{strip\ 3844}#
(#{syntax-object-expression\ 3780}#
#{x\ 3980}#)
(#{syntax-object-wrap\ 3781}# #{x\ 3980}#))
(if (pair? #{x\ 3980}#)
(let ((#{a\ 3981}#
(#{f\ 3979}# (car #{x\ 3980}#)))
(#{d\ 3982}#
(#{f\ 3979}# (cdr #{x\ 3980}#))))
(if (if (eq? #{a\ 3981}# (car #{x\ 3980}#))
(eq? #{d\ 3982}# (cdr #{x\ 3980}#))
#f)
#{x\ 3980}#
(cons #{a\ 3981}# #{d\ 3982}#)))
(if (vector? #{x\ 3980}#)
(let ((#{old\ 3983}#
(vector->list #{x\ 3980}#)))
(let ((#{new\ 3984}#
(map #{f\ 3979}# #{old\ 3983}#)))
(if (#{and-map*\ 3695}#
eq?
#{old\ 3983}#
#{new\ 3984}#)
#{x\ 3980}#
(list->vector #{new\ 3984}#))))
#{x\ 3980}#))))))
(#{f\ 3979}# #{x\ 3977}#)))))
(#{chi-lambda-case\ 3843}#
(lambda (#{e\ 3985}#
#{r\ 3986}#
#{w\ 3987}#
#{s\ 3988}#
#{mod\ 3989}#
#{get-formals\ 3990}#
#{clauses\ 3991}#)
(letrec ((#{expand-body\ 3995}#
(lambda (#{req\ 3996}#
#{opt\ 3997}#
#{rest\ 3998}#
#{kw\ 3999}#
#{body\ 4000}#
#{vars\ 4001}#
#{r*\ 4002}#
#{w*\ 4003}#
#{inits\ 4004}#)
((lambda (#{tmp\ 4005}#)
((lambda (#{tmp\ 4006}#)
(if (if #{tmp\ 4006}#
(apply (lambda (#{docstring\ 4007}#
#{e1\ 4008}#
#{e2\ 4009}#)
(string?
(syntax->datum
#{docstring\ 4007}#)))
#{tmp\ 4006}#)
#f)
(apply (lambda (#{docstring\ 4010}#
#{e1\ 4011}#
#{e2\ 4012}#)
(values
(syntax->datum
#{docstring\ 4010}#)
#{req\ 3996}#
#{opt\ 3997}#
#{rest\ 3998}#
#{kw\ 3999}#
#{inits\ 4004}#
#{vars\ 4001}#
(#{chi-body\ 3835}#
(cons #{e1\ 4011}#
#{e2\ 4012}#)
(#{source-wrap\ 3824}#
#{e\ 3985}#
#{w\ 3987}#
#{s\ 3988}#
#{mod\ 3989}#)
#{r*\ 4002}#
#{w*\ 4003}#
#{mod\ 3989}#)))
#{tmp\ 4006}#)
((lambda (#{tmp\ 4014}#)
(if #{tmp\ 4014}#
(apply (lambda (#{e1\ 4015}#
#{e2\ 4016}#)
(values
#f
#{req\ 3996}#
#{opt\ 3997}#
#{rest\ 3998}#
#{kw\ 3999}#
#{inits\ 4004}#
#{vars\ 4001}#
(#{chi-body\ 3835}#
(cons #{e1\ 4015}#
#{e2\ 4016}#)
(#{source-wrap\ 3824}#
#{e\ 3985}#
#{w\ 3987}#
#{s\ 3988}#
#{mod\ 3989}#)
#{r*\ 4002}#
#{w*\ 4003}#
#{mod\ 3989}#)))
#{tmp\ 4014}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4005}#)))
($sc-dispatch
#{tmp\ 4005}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 4005}#
'(any any . each-any))))
#{body\ 4000}#)))
(#{expand-kw\ 3994}#
(lambda (#{req\ 4018}#
#{opt\ 4019}#
#{rest\ 4020}#
#{kw\ 4021}#
#{body\ 4022}#
#{vars\ 4023}#
#{r*\ 4024}#
#{w*\ 4025}#
#{aok\ 4026}#
#{out\ 4027}#
#{inits\ 4028}#)
(if (pair? #{kw\ 4021}#)
((lambda (#{tmp\ 4029}#)
((lambda (#{tmp\ 4030}#)
(if #{tmp\ 4030}#
(apply (lambda (#{k\ 4031}#
#{id\ 4032}#
#{i\ 4033}#)
(let ((#{v\ 4034}#
(#{gen-var\ 3845}#
#{id\ 4032}#)))
(let ((#{l\ 4035}#
(#{gen-labels\ 3801}#
(list #{v\ 4034}#))))
(let ((#{r**\ 4036}#
(#{extend-var-env\ 3790}#
#{l\ 4035}#
(list #{v\ 4034}#)
#{r*\ 4024}#)))
(let ((#{w**\ 4037}#
(#{make-binding-wrap\ 3812}#
(list #{id\ 4032}#)
#{l\ 4035}#
#{w*\ 4025}#)))
(#{expand-kw\ 3994}#
#{req\ 4018}#
#{opt\ 4019}#
#{rest\ 4020}#
(cdr #{kw\ 4021}#)
#{body\ 4022}#
(cons #{v\ 4034}#
#{vars\ 4023}#)
#{r**\ 4036}#
#{w**\ 4037}#
#{aok\ 4026}#
(cons (list (syntax->datum
#{k\ 4031}#)
(syntax->datum
#{id\ 4032}#)
#{v\ 4034}#)
#{out\ 4027}#)
(cons (#{chi\ 3831}#
#{i\ 4033}#
#{r*\ 4024}#
#{w*\ 4025}#
#{mod\ 3989}#)
#{inits\ 4028}#)))))))
#{tmp\ 4030}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4029}#)))
($sc-dispatch
#{tmp\ 4029}#
'(any any any))))
(car #{kw\ 4021}#))
(#{expand-body\ 3995}#
#{req\ 4018}#
#{opt\ 4019}#
#{rest\ 4020}#
(if (let ((#{t\ 4038}# #{aok\ 4026}#))
(if #{t\ 4038}#
#{t\ 4038}#
(pair? #{out\ 4027}#)))
(cons #{aok\ 4026}# (reverse #{out\ 4027}#))
#f)
#{body\ 4022}#
(reverse #{vars\ 4023}#)
#{r*\ 4024}#
#{w*\ 4025}#
(reverse #{inits\ 4028}#)))))
(#{expand-opt\ 3993}#
(lambda (#{req\ 4039}#
#{opt\ 4040}#
#{rest\ 4041}#
#{kw\ 4042}#
#{body\ 4043}#
#{vars\ 4044}#
#{r*\ 4045}#
#{w*\ 4046}#
#{out\ 4047}#
#{inits\ 4048}#)
(if (pair? #{opt\ 4040}#)
((lambda (#{tmp\ 4049}#)
((lambda (#{tmp\ 4050}#)
(if #{tmp\ 4050}#
(apply (lambda (#{id\ 4051}# #{i\ 4052}#)
(let ((#{v\ 4053}#
(#{gen-var\ 3845}#
#{id\ 4051}#)))
(let ((#{l\ 4054}#
(#{gen-labels\ 3801}#
(list #{v\ 4053}#))))
(let ((#{r**\ 4055}#
(#{extend-var-env\ 3790}#
#{l\ 4054}#
(list #{v\ 4053}#)
#{r*\ 4045}#)))
(let ((#{w**\ 4056}#
(#{make-binding-wrap\ 3812}#
(list #{id\ 4051}#)
#{l\ 4054}#
#{w*\ 4046}#)))
(#{expand-opt\ 3993}#
#{req\ 4039}#
(cdr #{opt\ 4040}#)
#{rest\ 4041}#
#{kw\ 4042}#
#{body\ 4043}#
(cons #{v\ 4053}#
#{vars\ 4044}#)
#{r**\ 4055}#
#{w**\ 4056}#
(cons (syntax->datum
#{id\ 4051}#)
#{out\ 4047}#)
(cons (#{chi\ 3831}#
#{i\ 4052}#
#{r*\ 4045}#
#{w*\ 4046}#
#{mod\ 3989}#)
#{inits\ 4048}#)))))))
#{tmp\ 4050}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4049}#)))
($sc-dispatch
#{tmp\ 4049}#
'(any any))))
(car #{opt\ 4040}#))
(if #{rest\ 4041}#
(let ((#{v\ 4057}#
(#{gen-var\ 3845}# #{rest\ 4041}#)))
(let ((#{l\ 4058}#
(#{gen-labels\ 3801}#
(list #{v\ 4057}#))))
(let ((#{r*\ 4059}#
(#{extend-var-env\ 3790}#
#{l\ 4058}#
(list #{v\ 4057}#)
#{r*\ 4045}#)))
(let ((#{w*\ 4060}#
(#{make-binding-wrap\ 3812}#
(list #{rest\ 4041}#)
#{l\ 4058}#
#{w*\ 4046}#)))
(#{expand-kw\ 3994}#
#{req\ 4039}#
(if (pair? #{out\ 4047}#)
(reverse #{out\ 4047}#)
#f)
(syntax->datum #{rest\ 4041}#)
(if (pair? #{kw\ 4042}#)
(cdr #{kw\ 4042}#)
#{kw\ 4042}#)
#{body\ 4043}#
(cons #{v\ 4057}# #{vars\ 4044}#)
#{r*\ 4059}#
#{w*\ 4060}#
(if (pair? #{kw\ 4042}#)
(car #{kw\ 4042}#)
#f)
'()
#{inits\ 4048}#)))))
(#{expand-kw\ 3994}#
#{req\ 4039}#
(if (pair? #{out\ 4047}#)
(reverse #{out\ 4047}#)
#f)
#f
(if (pair? #{kw\ 4042}#)
(cdr #{kw\ 4042}#)
#{kw\ 4042}#)
#{body\ 4043}#
#{vars\ 4044}#
#{r*\ 4045}#
#{w*\ 4046}#
(if (pair? #{kw\ 4042}#)
(car #{kw\ 4042}#)
#f)
'()
#{inits\ 4048}#)))))
(#{expand-req\ 3992}#
(lambda (#{req\ 4061}#
#{opt\ 4062}#
#{rest\ 4063}#
#{kw\ 4064}#
#{body\ 4065}#)
(let ((#{vars\ 4066}#
(map #{gen-var\ 3845}# #{req\ 4061}#))
(#{labels\ 4067}#
(#{gen-labels\ 3801}# #{req\ 4061}#)))
(let ((#{r*\ 4068}#
(#{extend-var-env\ 3790}#
#{labels\ 4067}#
#{vars\ 4066}#
#{r\ 3986}#))
(#{w*\ 4069}#
(#{make-binding-wrap\ 3812}#
#{req\ 4061}#
#{labels\ 4067}#
#{w\ 3987}#)))
(#{expand-opt\ 3993}#
(map syntax->datum #{req\ 4061}#)
#{opt\ 4062}#
#{rest\ 4063}#
#{kw\ 4064}#
#{body\ 4065}#
(reverse #{vars\ 4066}#)
#{r*\ 4068}#
#{w*\ 4069}#
'()
'()))))))
((lambda (#{tmp\ 4070}#)
((lambda (#{tmp\ 4071}#)
(if #{tmp\ 4071}#
(apply (lambda () (values #f #f)) #{tmp\ 4071}#)
((lambda (#{tmp\ 4072}#)
(if #{tmp\ 4072}#
(apply (lambda (#{args\ 4073}#
#{e1\ 4074}#
#{e2\ 4075}#
#{args*\ 4076}#
#{e1*\ 4077}#
#{e2*\ 4078}#)
(call-with-values
(lambda ()
(#{get-formals\ 3990}#
#{args\ 4073}#))
(lambda (#{req\ 4079}#
#{opt\ 4080}#
#{rest\ 4081}#
#{kw\ 4082}#)
(call-with-values
(lambda ()
(#{expand-req\ 3992}#
#{req\ 4079}#
#{opt\ 4080}#
#{rest\ 4081}#
#{kw\ 4082}#
(cons #{e1\ 4074}#
#{e2\ 4075}#)))
(lambda (#{docstring\ 4084}#
#{req\ 4085}#
#{opt\ 4086}#
#{rest\ 4087}#
#{kw\ 4088}#
#{inits\ 4089}#
#{vars\ 4090}#
#{body\ 4091}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 3843}#
#{e\ 3985}#
#{r\ 3986}#
#{w\ 3987}#
#{s\ 3988}#
#{mod\ 3989}#
#{get-formals\ 3990}#
(map (lambda (#{tmp\ 4094}#
#{tmp\ 4093}#
#{tmp\ 4092}#)
(cons #{tmp\ 4092}#
(cons #{tmp\ 4093}#
#{tmp\ 4094}#)))
#{e2*\ 4078}#
#{e1*\ 4077}#
#{args*\ 4076}#)))
(lambda (#{docstring*\ 4096}#
#{else*\ 4097}#)
(values
(let ((#{t\ 4098}#
#{docstring\ 4084}#))
(if #{t\ 4098}#
#{t\ 4098}#
#{docstring*\ 4096}#))
(#{build-lambda-case\ 3771}#
#{s\ 3988}#
#{req\ 4085}#
#{opt\ 4086}#
#{rest\ 4087}#
#{kw\ 4088}#
#{inits\ 4089}#
#{vars\ 4090}#
#{body\ 4091}#
#{else*\ 4097}#)))))))))
#{tmp\ 4072}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4070}#)))
($sc-dispatch
#{tmp\ 4070}#
'((any any . each-any)
.
#(each (any any . each-any)))))))
($sc-dispatch #{tmp\ 4070}# (quote ()))))
#{clauses\ 3991}#))))
(#{lambda*-formals\ 3842}#
(lambda (#{orig-args\ 4099}#)
(letrec ((#{check\ 4104}#
(lambda (#{req\ 4105}#
#{opt\ 4106}#
#{rest\ 4107}#
#{kw\ 4108}#)
(if (#{distinct-bound-ids?\ 3821}#
(append
#{req\ 4105}#
(map car #{opt\ 4106}#)
(if #{rest\ 4107}#
(list #{rest\ 4107}#)
'())
(if (pair? #{kw\ 4108}#)
(map cadr (cdr #{kw\ 4108}#))
'())))
(values
#{req\ 4105}#
#{opt\ 4106}#
#{rest\ 4107}#
#{kw\ 4108}#)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
#{orig-args\ 4099}#))))
(#{rest\ 4103}#
(lambda (#{args\ 4109}#
#{req\ 4110}#
#{opt\ 4111}#
#{kw\ 4112}#)
((lambda (#{tmp\ 4113}#)
((lambda (#{tmp\ 4114}#)
(if (if #{tmp\ 4114}#
(apply (lambda (#{r\ 4115}#)
(#{id?\ 3795}# #{r\ 4115}#))
#{tmp\ 4114}#)
#f)
(apply (lambda (#{r\ 4116}#)
(#{check\ 4104}#
#{req\ 4110}#
#{opt\ 4111}#
#{r\ 4116}#
#{kw\ 4112}#))
#{tmp\ 4114}#)
((lambda (#{else\ 4117}#)
(syntax-violation
'lambda*
"invalid rest argument"
#{orig-args\ 4099}#
#{args\ 4109}#))
#{tmp\ 4113}#)))
(list #{tmp\ 4113}#)))
#{args\ 4109}#)))
(#{key\ 4102}#
(lambda (#{args\ 4118}#
#{req\ 4119}#
#{opt\ 4120}#
#{rkey\ 4121}#)
((lambda (#{tmp\ 4122}#)
((lambda (#{tmp\ 4123}#)
(if #{tmp\ 4123}#
(apply (lambda ()
(#{check\ 4104}#
#{req\ 4119}#
#{opt\ 4120}#
#f
(cons #f
(reverse
#{rkey\ 4121}#))))
#{tmp\ 4123}#)
((lambda (#{tmp\ 4124}#)
(if (if #{tmp\ 4124}#
(apply (lambda (#{a\ 4125}#
#{b\ 4126}#)
(#{id?\ 3795}#
#{a\ 4125}#))
#{tmp\ 4124}#)
#f)
(apply (lambda (#{a\ 4127}#
#{b\ 4128}#)
((lambda (#{tmp\ 4129}#)
((lambda (#{k\ 4130}#)
(#{key\ 4102}#
#{b\ 4128}#
#{req\ 4119}#
#{opt\ 4120}#
(cons (cons #{k\ 4130}#
(cons #{a\ 4127}#
'(#(syntax-object
#f
((top)
#(ribcage
#(k)
#((top))
#("i"))
#(ribcage
#(a
b)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(args
req
opt
rkey)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
(check rest
key
opt
req)
((top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"))
#(ribcage
#(orig-args)
#((top))
#("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))))
#{rkey\ 4121}#)))
#{tmp\ 4129}#))
(symbol->keyword
(syntax->datum
#{a\ 4127}#))))
#{tmp\ 4124}#)
((lambda (#{tmp\ 4131}#)
(if (if #{tmp\ 4131}#
(apply (lambda (#{a\ 4132}#
#{init\ 4133}#
#{b\ 4134}#)
(#{id?\ 3795}#
#{a\ 4132}#))
#{tmp\ 4131}#)
#f)
(apply (lambda (#{a\ 4135}#
#{init\ 4136}#
#{b\ 4137}#)
((lambda (#{tmp\ 4138}#)
((lambda (#{k\ 4139}#)
(#{key\ 4102}#
#{b\ 4137}#
#{req\ 4119}#
#{opt\ 4120}#
(cons (list #{k\ 4139}#
#{a\ 4135}#
#{init\ 4136}#)
#{rkey\ 4121}#)))
#{tmp\ 4138}#))
(symbol->keyword
(syntax->datum
#{a\ 4135}#))))
#{tmp\ 4131}#)
((lambda (#{tmp\ 4140}#)
(if (if #{tmp\ 4140}#
(apply (lambda (#{a\ 4141}#
#{init\ 4142}#
#{k\ 4143}#
#{b\ 4144}#)
(if (#{id?\ 3795}#
#{a\ 4141}#)
(keyword?
(syntax->datum
#{k\ 4143}#))
#f))
#{tmp\ 4140}#)
#f)
(apply (lambda (#{a\ 4145}#
#{init\ 4146}#
#{k\ 4147}#
#{b\ 4148}#)
(#{key\ 4102}#
#{b\ 4148}#
#{req\ 4119}#
#{opt\ 4120}#
(cons (list #{k\ 4147}#
#{a\ 4145}#
#{init\ 4146}#)
#{rkey\ 4121}#)))
#{tmp\ 4140}#)
((lambda (#{tmp\ 4149}#)
(if (if #{tmp\ 4149}#
(apply (lambda (#{aok\ 4150}#)
(eq? (syntax->datum
#{aok\ 4150}#)
#:allow-other-keys))
#{tmp\ 4149}#)
#f)
(apply (lambda (#{aok\ 4151}#)
(#{check\ 4104}#
#{req\ 4119}#
#{opt\ 4120}#
#f
(cons #t
(reverse
#{rkey\ 4121}#))))
#{tmp\ 4149}#)
((lambda (#{tmp\ 4152}#)
(if (if #{tmp\ 4152}#
(apply (lambda (#{aok\ 4153}#
#{a\ 4154}#
#{b\ 4155}#)
(if (eq? (syntax->datum
#{aok\ 4153}#)
#:allow-other-keys)
(eq? (syntax->datum
#{a\ 4154}#)
#:rest)
#f))
#{tmp\ 4152}#)
#f)
(apply (lambda (#{aok\ 4156}#
#{a\ 4157}#
#{b\ 4158}#)
(#{rest\ 4103}#
#{b\ 4158}#
#{req\ 4119}#
#{opt\ 4120}#
(cons #t
(reverse
#{rkey\ 4121}#))))
#{tmp\ 4152}#)
((lambda (#{tmp\ 4159}#)
(if (if #{tmp\ 4159}#
(apply (lambda (#{aok\ 4160}#
#{r\ 4161}#)
(if (eq? (syntax->datum
#{aok\ 4160}#)
#:allow-other-keys)
(#{id?\ 3795}#
#{r\ 4161}#)
#f))
#{tmp\ 4159}#)
#f)
(apply (lambda (#{aok\ 4162}#
#{r\ 4163}#)
(#{rest\ 4103}#
#{r\ 4163}#
#{req\ 4119}#
#{opt\ 4120}#
(cons #t
(reverse
#{rkey\ 4121}#))))
#{tmp\ 4159}#)
((lambda (#{tmp\ 4164}#)
(if (if #{tmp\ 4164}#
(apply (lambda (#{a\ 4165}#
#{b\ 4166}#)
(eq? (syntax->datum
#{a\ 4165}#)
#:rest))
#{tmp\ 4164}#)
#f)
(apply (lambda (#{a\ 4167}#
#{b\ 4168}#)
(#{rest\ 4103}#
#{b\ 4168}#
#{req\ 4119}#
#{opt\ 4120}#
(cons #f
(reverse
#{rkey\ 4121}#))))
#{tmp\ 4164}#)
((lambda (#{tmp\ 4169}#)
(if (if #{tmp\ 4169}#
(apply (lambda (#{r\ 4170}#)
(#{id?\ 3795}#
#{r\ 4170}#))
#{tmp\ 4169}#)
#f)
(apply (lambda (#{r\ 4171}#)
(#{rest\ 4103}#
#{r\ 4171}#
#{req\ 4119}#
#{opt\ 4120}#
(cons #f
(reverse
#{rkey\ 4121}#))))
#{tmp\ 4169}#)
((lambda (#{else\ 4172}#)
(syntax-violation
'lambda*
"invalid keyword argument list"
#{orig-args\ 4099}#
#{args\ 4118}#))
#{tmp\ 4122}#)))
(list #{tmp\ 4122}#))))
($sc-dispatch
#{tmp\ 4122}#
'(any any)))))
($sc-dispatch
#{tmp\ 4122}#
'(any .
any)))))
($sc-dispatch
#{tmp\ 4122}#
'(any any any)))))
($sc-dispatch
#{tmp\ 4122}#
'(any)))))
($sc-dispatch
#{tmp\ 4122}#
'((any any any) . any)))))
($sc-dispatch
#{tmp\ 4122}#
'((any any) . any)))))
($sc-dispatch
#{tmp\ 4122}#
'(any . any)))))
($sc-dispatch #{tmp\ 4122}# (quote ()))))
#{args\ 4118}#)))
(#{opt\ 4101}#
(lambda (#{args\ 4173}# #{req\ 4174}# #{ropt\ 4175}#)
((lambda (#{tmp\ 4176}#)
((lambda (#{tmp\ 4177}#)
(if #{tmp\ 4177}#
(apply (lambda ()
(#{check\ 4104}#
#{req\ 4174}#
(reverse #{ropt\ 4175}#)
#f
'()))
#{tmp\ 4177}#)
((lambda (#{tmp\ 4178}#)
(if (if #{tmp\ 4178}#
(apply (lambda (#{a\ 4179}#
#{b\ 4180}#)
(#{id?\ 3795}#
#{a\ 4179}#))
#{tmp\ 4178}#)
#f)
(apply (lambda (#{a\ 4181}#
#{b\ 4182}#)
(#{opt\ 4101}#
#{b\ 4182}#
#{req\ 4174}#
(cons (cons #{a\ 4181}#
'(#(syntax-object
#f
((top)
#(ribcage
#(a b)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(args
req
ropt)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
(check rest
key
opt
req)
((top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"))
#(ribcage
#(orig-args)
#((top))
#("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))))
#{ropt\ 4175}#)))
#{tmp\ 4178}#)
((lambda (#{tmp\ 4183}#)
(if (if #{tmp\ 4183}#
(apply (lambda (#{a\ 4184}#
#{init\ 4185}#
#{b\ 4186}#)
(#{id?\ 3795}#
#{a\ 4184}#))
#{tmp\ 4183}#)
#f)
(apply (lambda (#{a\ 4187}#
#{init\ 4188}#
#{b\ 4189}#)
(#{opt\ 4101}#
#{b\ 4189}#
#{req\ 4174}#
(cons (list #{a\ 4187}#
#{init\ 4188}#)
#{ropt\ 4175}#)))
#{tmp\ 4183}#)
((lambda (#{tmp\ 4190}#)
(if (if #{tmp\ 4190}#
(apply (lambda (#{a\ 4191}#
#{b\ 4192}#)
(eq? (syntax->datum
#{a\ 4191}#)
#:key))
#{tmp\ 4190}#)
#f)
(apply (lambda (#{a\ 4193}#
#{b\ 4194}#)
(#{key\ 4102}#
#{b\ 4194}#
#{req\ 4174}#
(reverse
#{ropt\ 4175}#)
'()))
#{tmp\ 4190}#)
((lambda (#{tmp\ 4195}#)
(if (if #{tmp\ 4195}#
(apply (lambda (#{a\ 4196}#
#{b\ 4197}#)
(eq? (syntax->datum
#{a\ 4196}#)
#:rest))
#{tmp\ 4195}#)
#f)
(apply (lambda (#{a\ 4198}#
#{b\ 4199}#)
(#{rest\ 4103}#
#{b\ 4199}#
#{req\ 4174}#
(reverse
#{ropt\ 4175}#)
'()))
#{tmp\ 4195}#)
((lambda (#{tmp\ 4200}#)
(if (if #{tmp\ 4200}#
(apply (lambda (#{r\ 4201}#)
(#{id?\ 3795}#
#{r\ 4201}#))
#{tmp\ 4200}#)
#f)
(apply (lambda (#{r\ 4202}#)
(#{rest\ 4103}#
#{r\ 4202}#
#{req\ 4174}#
(reverse
#{ropt\ 4175}#)
'()))
#{tmp\ 4200}#)
((lambda (#{else\ 4203}#)
(syntax-violation
'lambda*
"invalid optional argument list"
#{orig-args\ 4099}#
#{args\ 4173}#))
#{tmp\ 4176}#)))
(list #{tmp\ 4176}#))))
($sc-dispatch
#{tmp\ 4176}#
'(any any)))))
($sc-dispatch
#{tmp\ 4176}#
'(any . any)))))
($sc-dispatch
#{tmp\ 4176}#
'((any any) . any)))))
($sc-dispatch
#{tmp\ 4176}#
'(any . any)))))
($sc-dispatch #{tmp\ 4176}# (quote ()))))
#{args\ 4173}#)))
(#{req\ 4100}#
(lambda (#{args\ 4204}# #{rreq\ 4205}#)
((lambda (#{tmp\ 4206}#)
((lambda (#{tmp\ 4207}#)
(if #{tmp\ 4207}#
(apply (lambda ()
(#{check\ 4104}#
(reverse #{rreq\ 4205}#)
'()
#f
'()))
#{tmp\ 4207}#)
((lambda (#{tmp\ 4208}#)
(if (if #{tmp\ 4208}#
(apply (lambda (#{a\ 4209}#
#{b\ 4210}#)
(#{id?\ 3795}#
#{a\ 4209}#))
#{tmp\ 4208}#)
#f)
(apply (lambda (#{a\ 4211}#
#{b\ 4212}#)
(#{req\ 4100}#
#{b\ 4212}#
(cons #{a\ 4211}#
#{rreq\ 4205}#)))
#{tmp\ 4208}#)
((lambda (#{tmp\ 4213}#)
(if (if #{tmp\ 4213}#
(apply (lambda (#{a\ 4214}#
#{b\ 4215}#)
(eq? (syntax->datum
#{a\ 4214}#)
#:optional))
#{tmp\ 4213}#)
#f)
(apply (lambda (#{a\ 4216}#
#{b\ 4217}#)
(#{opt\ 4101}#
#{b\ 4217}#
(reverse
#{rreq\ 4205}#)
'()))
#{tmp\ 4213}#)
((lambda (#{tmp\ 4218}#)
(if (if #{tmp\ 4218}#
(apply (lambda (#{a\ 4219}#
#{b\ 4220}#)
(eq? (syntax->datum
#{a\ 4219}#)
#:key))
#{tmp\ 4218}#)
#f)
(apply (lambda (#{a\ 4221}#
#{b\ 4222}#)
(#{key\ 4102}#
#{b\ 4222}#
(reverse
#{rreq\ 4205}#)
'()
'()))
#{tmp\ 4218}#)
((lambda (#{tmp\ 4223}#)
(if (if #{tmp\ 4223}#
(apply (lambda (#{a\ 4224}#
#{b\ 4225}#)
(eq? (syntax->datum
#{a\ 4224}#)
#:rest))
#{tmp\ 4223}#)
#f)
(apply (lambda (#{a\ 4226}#
#{b\ 4227}#)
(#{rest\ 4103}#
#{b\ 4227}#
(reverse
#{rreq\ 4205}#)
'()
'()))
#{tmp\ 4223}#)
((lambda (#{tmp\ 4228}#)
(if (if #{tmp\ 4228}#
(apply (lambda (#{r\ 4229}#)
(#{id?\ 3795}#
#{r\ 4229}#))
#{tmp\ 4228}#)
#f)
(apply (lambda (#{r\ 4230}#)
(#{rest\ 4103}#
#{r\ 4230}#
(reverse
#{rreq\ 4205}#)
'()
'()))
#{tmp\ 4228}#)
((lambda (#{else\ 4231}#)
(syntax-violation
'lambda*
"invalid argument list"
#{orig-args\ 4099}#
#{args\ 4204}#))
#{tmp\ 4206}#)))
(list #{tmp\ 4206}#))))
($sc-dispatch
#{tmp\ 4206}#
'(any any)))))
($sc-dispatch
#{tmp\ 4206}#
'(any . any)))))
($sc-dispatch
#{tmp\ 4206}#
'(any . any)))))
($sc-dispatch
#{tmp\ 4206}#
'(any . any)))))
($sc-dispatch #{tmp\ 4206}# (quote ()))))
#{args\ 4204}#))))
(#{req\ 4100}# #{orig-args\ 4099}# (quote ())))))
(#{chi-simple-lambda\ 3841}#
(lambda (#{e\ 4232}#
#{r\ 4233}#
#{w\ 4234}#
#{s\ 4235}#
#{mod\ 4236}#
#{req\ 4237}#
#{rest\ 4238}#
#{docstring\ 4239}#
#{body\ 4240}#)
(let ((#{ids\ 4241}#
(if #{rest\ 4238}#
(append #{req\ 4237}# (list #{rest\ 4238}#))
#{req\ 4237}#)))
(let ((#{vars\ 4242}#
(map #{gen-var\ 3845}# #{ids\ 4241}#)))
(let ((#{labels\ 4243}#
(#{gen-labels\ 3801}# #{ids\ 4241}#)))
(#{build-simple-lambda\ 3769}#
#{s\ 4235}#
(map syntax->datum #{req\ 4237}#)
(if #{rest\ 4238}#
(syntax->datum #{rest\ 4238}#)
#f)
#{vars\ 4242}#
#{docstring\ 4239}#
(#{chi-body\ 3835}#
#{body\ 4240}#
(#{source-wrap\ 3824}#
#{e\ 4232}#
#{w\ 4234}#
#{s\ 4235}#
#{mod\ 4236}#)
(#{extend-var-env\ 3790}#
#{labels\ 4243}#
#{vars\ 4242}#
#{r\ 4233}#)
(#{make-binding-wrap\ 3812}#
#{ids\ 4241}#
#{labels\ 4243}#
#{w\ 4234}#)
#{mod\ 4236}#)))))))
(#{lambda-formals\ 3840}#
(lambda (#{orig-args\ 4244}#)
(letrec ((#{check\ 4246}#
(lambda (#{req\ 4247}# #{rest\ 4248}#)
(if (#{distinct-bound-ids?\ 3821}#
(if #{rest\ 4248}#
(cons #{rest\ 4248}# #{req\ 4247}#)
#{req\ 4247}#))
(values #{req\ 4247}# #f #{rest\ 4248}# #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
#{orig-args\ 4244}#))))
(#{req\ 4245}#
(lambda (#{args\ 4249}# #{rreq\ 4250}#)
((lambda (#{tmp\ 4251}#)
((lambda (#{tmp\ 4252}#)
(if #{tmp\ 4252}#
(apply (lambda ()
(#{check\ 4246}#
(reverse #{rreq\ 4250}#)
#f))
#{tmp\ 4252}#)
((lambda (#{tmp\ 4253}#)
(if (if #{tmp\ 4253}#
(apply (lambda (#{a\ 4254}#
#{b\ 4255}#)
(#{id?\ 3795}#
#{a\ 4254}#))
#{tmp\ 4253}#)
#f)
(apply (lambda (#{a\ 4256}#
#{b\ 4257}#)
(#{req\ 4245}#
#{b\ 4257}#
(cons #{a\ 4256}#
#{rreq\ 4250}#)))
#{tmp\ 4253}#)
((lambda (#{tmp\ 4258}#)
(if (if #{tmp\ 4258}#
(apply (lambda (#{r\ 4259}#)
(#{id?\ 3795}#
#{r\ 4259}#))
#{tmp\ 4258}#)
#f)
(apply (lambda (#{r\ 4260}#)
(#{check\ 4246}#
(reverse
#{rreq\ 4250}#)
#{r\ 4260}#))
#{tmp\ 4258}#)
((lambda (#{else\ 4261}#)
(syntax-violation
'lambda
"invalid argument list"
#{orig-args\ 4244}#
#{args\ 4249}#))
#{tmp\ 4251}#)))
(list #{tmp\ 4251}#))))
($sc-dispatch
#{tmp\ 4251}#
'(any . any)))))
($sc-dispatch #{tmp\ 4251}# (quote ()))))
#{args\ 4249}#))))
(#{req\ 4245}# #{orig-args\ 4244}# (quote ())))))
(#{ellipsis?\ 3839}#
(lambda (#{x\ 4262}#)
(if (#{nonsymbol-id?\ 3794}# #{x\ 4262}#)
(#{free-id=?\ 3818}#
#{x\ 4262}#
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
#f)))
(#{chi-void\ 3838}#
(lambda () (#{build-void\ 3759}# #f)))
(#{eval-local-transformer\ 3837}#
(lambda (#{expanded\ 4263}# #{mod\ 4264}#)
(let ((#{p\ 4265}#
(#{local-eval-hook\ 3755}#
#{expanded\ 4263}#
#{mod\ 4264}#)))
(if (procedure? #{p\ 4265}#)
(cons #{p\ 4265}# (module-name (current-module)))
(syntax-violation
#f
"nonprocedure transformer"
#{p\ 4265}#)))))
(#{chi-local-syntax\ 3836}#
(lambda (#{rec?\ 4266}#
#{e\ 4267}#
#{r\ 4268}#
#{w\ 4269}#
#{s\ 4270}#
#{mod\ 4271}#
#{k\ 4272}#)
((lambda (#{tmp\ 4273}#)
((lambda (#{tmp\ 4274}#)
(if #{tmp\ 4274}#
(apply (lambda (#{_\ 4275}#
#{id\ 4276}#
#{val\ 4277}#
#{e1\ 4278}#
#{e2\ 4279}#)
(let ((#{ids\ 4280}# #{id\ 4276}#))
(if (not (#{valid-bound-ids?\ 3820}#
#{ids\ 4280}#))
(syntax-violation
#f
"duplicate bound keyword"
#{e\ 4267}#)
(let ((#{labels\ 4282}#
(#{gen-labels\ 3801}#
#{ids\ 4280}#)))
(let ((#{new-w\ 4283}#
(#{make-binding-wrap\ 3812}#
#{ids\ 4280}#
#{labels\ 4282}#
#{w\ 4269}#)))
(#{k\ 4272}#
(cons #{e1\ 4278}# #{e2\ 4279}#)
(#{extend-env\ 3789}#
#{labels\ 4282}#
(let ((#{w\ 4285}#
(if #{rec?\ 4266}#
#{new-w\ 4283}#
#{w\ 4269}#))
(#{trans-r\ 4286}#
(#{macros-only-env\ 3791}#
#{r\ 4268}#)))
(map (lambda (#{x\ 4287}#)
(cons 'macro
(#{eval-local-transformer\ 3837}#
(#{chi\ 3831}#
#{x\ 4287}#
#{trans-r\ 4286}#
#{w\ 4285}#
#{mod\ 4271}#)
#{mod\ 4271}#)))
#{val\ 4277}#))
#{r\ 4268}#)
#{new-w\ 4283}#
#{s\ 4270}#
#{mod\ 4271}#))))))
#{tmp\ 4274}#)
((lambda (#{_\ 4289}#)
(syntax-violation
#f
"bad local syntax definition"
(#{source-wrap\ 3824}#
#{e\ 4267}#
#{w\ 4269}#
#{s\ 4270}#
#{mod\ 4271}#)))
#{tmp\ 4273}#)))
($sc-dispatch
#{tmp\ 4273}#
'(any #(each (any any)) any . each-any))))
#{e\ 4267}#)))
(#{chi-body\ 3835}#
(lambda (#{body\ 4290}#
#{outer-form\ 4291}#
#{r\ 4292}#
#{w\ 4293}#
#{mod\ 4294}#)
(let ((#{r\ 4295}#
(cons '("placeholder" placeholder)
#{r\ 4292}#)))
(let ((#{ribcage\ 4296}#
(#{make-ribcage\ 3802}#
'()
'()
'())))
(let ((#{w\ 4297}#
(#{make-wrap\ 3797}#
(#{wrap-marks\ 3798}# #{w\ 4293}#)
(cons #{ribcage\ 4296}#
(#{wrap-subst\ 3799}# #{w\ 4293}#)))))
(letrec ((#{parse\ 4298}#
(lambda (#{body\ 4299}#
#{ids\ 4300}#
#{labels\ 4301}#
#{var-ids\ 4302}#
#{vars\ 4303}#
#{vals\ 4304}#
#{bindings\ 4305}#)
(if (null? #{body\ 4299}#)
(syntax-violation
#f
"no expressions in body"
#{outer-form\ 4291}#)
(let ((#{e\ 4307}# (cdar #{body\ 4299}#))
(#{er\ 4308}# (caar #{body\ 4299}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 3829}#
#{e\ 4307}#
#{er\ 4308}#
'(())
(#{source-annotation\ 3786}#
#{er\ 4308}#)
#{ribcage\ 4296}#
#{mod\ 4294}#
#f))
(lambda (#{type\ 4309}#
#{value\ 4310}#
#{e\ 4311}#
#{w\ 4312}#
#{s\ 4313}#
#{mod\ 4314}#)
(if (memv #{type\ 4309}#
'(define-form))
(let ((#{id\ 4315}#
(#{wrap\ 3823}#
#{value\ 4310}#
#{w\ 4312}#
#{mod\ 4314}#))
(#{label\ 4316}#
(#{gen-label\ 3800}#)))
(let ((#{var\ 4317}#
(#{gen-var\ 3845}#
#{id\ 4315}#)))
(begin
(#{extend-ribcage!\ 3811}#
#{ribcage\ 4296}#
#{id\ 4315}#
#{label\ 4316}#)
(#{parse\ 4298}#
(cdr #{body\ 4299}#)
(cons #{id\ 4315}#
#{ids\ 4300}#)
(cons #{label\ 4316}#
#{labels\ 4301}#)
(cons #{id\ 4315}#
#{var-ids\ 4302}#)
(cons #{var\ 4317}#
#{vars\ 4303}#)
(cons (cons #{er\ 4308}#
(#{wrap\ 3823}#
#{e\ 4311}#
#{w\ 4312}#
#{mod\ 4314}#))
#{vals\ 4304}#)
(cons (cons 'lexical
#{var\ 4317}#)
#{bindings\ 4305}#)))))
(if (memv #{type\ 4309}#
'(define-syntax-form))
(let ((#{id\ 4318}#
(#{wrap\ 3823}#
#{value\ 4310}#
#{w\ 4312}#
#{mod\ 4314}#))
(#{label\ 4319}#
(#{gen-label\ 3800}#)))
(begin
(#{extend-ribcage!\ 3811}#
#{ribcage\ 4296}#
#{id\ 4318}#
#{label\ 4319}#)
(#{parse\ 4298}#
(cdr #{body\ 4299}#)
(cons #{id\ 4318}#
#{ids\ 4300}#)
(cons #{label\ 4319}#
#{labels\ 4301}#)
#{var-ids\ 4302}#
#{vars\ 4303}#
#{vals\ 4304}#
(cons (cons 'macro
(cons #{er\ 4308}#
(#{wrap\ 3823}#
#{e\ 4311}#
#{w\ 4312}#
#{mod\ 4314}#)))
#{bindings\ 4305}#))))
(if (memv #{type\ 4309}#
'(begin-form))
((lambda (#{tmp\ 4320}#)
((lambda (#{tmp\ 4321}#)
(if #{tmp\ 4321}#
(apply (lambda (#{_\ 4322}#
#{e1\ 4323}#)
(#{parse\ 4298}#
(letrec ((#{f\ 4324}#
(lambda (#{forms\ 4325}#)
(if (null? #{forms\ 4325}#)
(cdr #{body\ 4299}#)
(cons (cons #{er\ 4308}#
(#{wrap\ 3823}#
(car #{forms\ 4325}#)
#{w\ 4312}#
#{mod\ 4314}#))
(#{f\ 4324}#
(cdr #{forms\ 4325}#)))))))
(#{f\ 4324}#
#{e1\ 4323}#))
#{ids\ 4300}#
#{labels\ 4301}#
#{var-ids\ 4302}#
#{vars\ 4303}#
#{vals\ 4304}#
#{bindings\ 4305}#))
#{tmp\ 4321}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4320}#)))
($sc-dispatch
#{tmp\ 4320}#
'(any . each-any))))
#{e\ 4311}#)
(if (memv #{type\ 4309}#
'(local-syntax-form))
(#{chi-local-syntax\ 3836}#
#{value\ 4310}#
#{e\ 4311}#
#{er\ 4308}#
#{w\ 4312}#
#{s\ 4313}#
#{mod\ 4314}#
(lambda (#{forms\ 4327}#
#{er\ 4328}#
#{w\ 4329}#
#{s\ 4330}#
#{mod\ 4331}#)
(#{parse\ 4298}#
(letrec ((#{f\ 4332}#
(lambda (#{forms\ 4333}#)
(if (null? #{forms\ 4333}#)
(cdr #{body\ 4299}#)
(cons (cons #{er\ 4328}#
(#{wrap\ 3823}#
(car #{forms\ 4333}#)
#{w\ 4329}#
#{mod\ 4331}#))
(#{f\ 4332}#
(cdr #{forms\ 4333}#)))))))
(#{f\ 4332}#
#{forms\ 4327}#))
#{ids\ 4300}#
#{labels\ 4301}#
#{var-ids\ 4302}#
#{vars\ 4303}#
#{vals\ 4304}#
#{bindings\ 4305}#)))
(if (null? #{ids\ 4300}#)
(#{build-sequence\ 3774}#
#f
(map (lambda (#{x\ 4334}#)
(#{chi\ 3831}#
(cdr #{x\ 4334}#)
(car #{x\ 4334}#)
'(())
#{mod\ 4314}#))
(cons (cons #{er\ 4308}#
(#{source-wrap\ 3824}#
#{e\ 4311}#
#{w\ 4312}#
#{s\ 4313}#
#{mod\ 4314}#))
(cdr #{body\ 4299}#))))
(begin
(if (not (#{valid-bound-ids?\ 3820}#
#{ids\ 4300}#))
(syntax-violation
#f
"invalid or duplicate identifier in definition"
#{outer-form\ 4291}#))
(letrec ((#{loop\ 4335}#
(lambda (#{bs\ 4336}#
#{er-cache\ 4337}#
#{r-cache\ 4338}#)
(if (not (null? #{bs\ 4336}#))
(let ((#{b\ 4339}#
(car #{bs\ 4336}#)))
(if (eq? (car #{b\ 4339}#)
'macro)
(let ((#{er\ 4340}#
(cadr #{b\ 4339}#)))
(let ((#{r-cache\ 4341}#
(if (eq? #{er\ 4340}#
#{er-cache\ 4337}#)
#{r-cache\ 4338}#
(#{macros-only-env\ 3791}#
#{er\ 4340}#))))
(begin
(set-cdr!
#{b\ 4339}#
(#{eval-local-transformer\ 3837}#
(#{chi\ 3831}#
(cddr #{b\ 4339}#)
#{r-cache\ 4341}#
'(())
#{mod\ 4314}#)
#{mod\ 4314}#))
(#{loop\ 4335}#
(cdr #{bs\ 4336}#)
#{er\ 4340}#
#{r-cache\ 4341}#))))
(#{loop\ 4335}#
(cdr #{bs\ 4336}#)
#{er-cache\ 4337}#
#{r-cache\ 4338}#)))))))
(#{loop\ 4335}#
#{bindings\ 4305}#
#f
#f))
(set-cdr!
#{r\ 4295}#
(#{extend-env\ 3789}#
#{labels\ 4301}#
#{bindings\ 4305}#
(cdr #{r\ 4295}#)))
(#{build-letrec\ 3777}#
#f
(map syntax->datum
#{var-ids\ 4302}#)
#{vars\ 4303}#
(map (lambda (#{x\ 4342}#)
(#{chi\ 3831}#
(cdr #{x\ 4342}#)
(car #{x\ 4342}#)
'(())
#{mod\ 4314}#))
#{vals\ 4304}#)
(#{build-sequence\ 3774}#
#f
(map (lambda (#{x\ 4343}#)
(#{chi\ 3831}#
(cdr #{x\ 4343}#)
(car #{x\ 4343}#)
'(())
#{mod\ 4314}#))
(cons (cons #{er\ 4308}#
(#{source-wrap\ 3824}#
#{e\ 4311}#
#{w\ 4312}#
#{s\ 4313}#
#{mod\ 4314}#))
(cdr #{body\ 4299}#))))))))))))))))))
(#{parse\ 4298}#
(map (lambda (#{x\ 4306}#)
(cons #{r\ 4295}#
(#{wrap\ 3823}#
#{x\ 4306}#
#{w\ 4297}#
#{mod\ 4294}#)))
#{body\ 4290}#)
'()
'()
'()
'()
'()
'())))))))
(#{chi-macro\ 3834}#
(lambda (#{p\ 4344}#
#{e\ 4345}#
#{r\ 4346}#
#{w\ 4347}#
#{rib\ 4348}#
#{mod\ 4349}#)
(letrec ((#{rebuild-macro-output\ 4350}#
(lambda (#{x\ 4351}# #{m\ 4352}#)
(if (pair? #{x\ 4351}#)
(cons (#{rebuild-macro-output\ 4350}#
(car #{x\ 4351}#)
#{m\ 4352}#)
(#{rebuild-macro-output\ 4350}#
(cdr #{x\ 4351}#)
#{m\ 4352}#))
(if (#{syntax-object?\ 3779}# #{x\ 4351}#)
(let ((#{w\ 4353}#
(#{syntax-object-wrap\ 3781}#
#{x\ 4351}#)))
(let ((#{ms\ 4354}#
(#{wrap-marks\ 3798}# #{w\ 4353}#))
(#{s\ 4355}#
(#{wrap-subst\ 3799}# #{w\ 4353}#)))
(if (if (pair? #{ms\ 4354}#)
(eq? (car #{ms\ 4354}#) #f)
#f)
(#{make-syntax-object\ 3778}#
(#{syntax-object-expression\ 3780}#
#{x\ 4351}#)
(#{make-wrap\ 3797}#
(cdr #{ms\ 4354}#)
(if #{rib\ 4348}#
(cons #{rib\ 4348}#
(cdr #{s\ 4355}#))
(cdr #{s\ 4355}#)))
(#{syntax-object-module\ 3782}#
#{x\ 4351}#))
(#{make-syntax-object\ 3778}#
(#{syntax-object-expression\ 3780}#
#{x\ 4351}#)
(#{make-wrap\ 3797}#
(cons #{m\ 4352}# #{ms\ 4354}#)
(if #{rib\ 4348}#
(cons #{rib\ 4348}#
(cons 'shift
#{s\ 4355}#))
(cons (quote shift) #{s\ 4355}#)))
(cons 'hygiene
(cdr #{p\ 4344}#))))))
(if (vector? #{x\ 4351}#)
(let ((#{n\ 4356}#
(vector-length #{x\ 4351}#)))
(let ((#{v\ 4357}#
(make-vector #{n\ 4356}#)))
(letrec ((#{loop\ 4358}#
(lambda (#{i\ 4359}#)
(if (#{fx=\ 3752}#
#{i\ 4359}#
#{n\ 4356}#)
(begin
(if #f #f)
#{v\ 4357}#)
(begin
(vector-set!
#{v\ 4357}#
#{i\ 4359}#
(#{rebuild-macro-output\ 4350}#
(vector-ref
#{x\ 4351}#
#{i\ 4359}#)
#{m\ 4352}#))
(#{loop\ 4358}#
(#{fx+\ 3750}#
#{i\ 4359}#
1)))))))
(#{loop\ 4358}# 0))))
(if (symbol? #{x\ 4351}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
(#{source-wrap\ 3824}#
#{e\ 4345}#
#{w\ 4347}#
(#{wrap-subst\ 3799}# #{w\ 4347}#)
#{mod\ 4349}#)
#{x\ 4351}#)
#{x\ 4351}#)))))))
(#{rebuild-macro-output\ 4350}#
((car #{p\ 4344}#)
(#{wrap\ 3823}#
#{e\ 4345}#
(#{anti-mark\ 3810}# #{w\ 4347}#)
#{mod\ 4349}#))
(string #\m)))))
(#{chi-application\ 3833}#
(lambda (#{x\ 4360}#
#{e\ 4361}#
#{r\ 4362}#
#{w\ 4363}#
#{s\ 4364}#
#{mod\ 4365}#)
((lambda (#{tmp\ 4366}#)
((lambda (#{tmp\ 4367}#)
(if #{tmp\ 4367}#
(apply (lambda (#{e0\ 4368}# #{e1\ 4369}#)
(#{build-application\ 3760}#
#{s\ 4364}#
#{x\ 4360}#
(map (lambda (#{e\ 4370}#)
(#{chi\ 3831}#
#{e\ 4370}#
#{r\ 4362}#
#{w\ 4363}#
#{mod\ 4365}#))
#{e1\ 4369}#)))
#{tmp\ 4367}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4366}#)))
($sc-dispatch
#{tmp\ 4366}#
'(any . each-any))))
#{e\ 4361}#)))
(#{chi-expr\ 3832}#
(lambda (#{type\ 4372}#
#{value\ 4373}#
#{e\ 4374}#
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
(if (memv #{type\ 4372}# (quote (lexical)))
(#{build-lexical-reference\ 3762}#
'value
#{s\ 4377}#
#{e\ 4374}#
#{value\ 4373}#)
(if (memv #{type\ 4372}# (quote (core core-form)))
(#{value\ 4373}#
#{e\ 4374}#
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
(if (memv #{type\ 4372}# (quote (module-ref)))
(call-with-values
(lambda () (#{value\ 4373}# #{e\ 4374}#))
(lambda (#{id\ 4379}# #{mod\ 4380}#)
(#{build-global-reference\ 3765}#
#{s\ 4377}#
#{id\ 4379}#
#{mod\ 4380}#)))
(if (memv #{type\ 4372}# (quote (lexical-call)))
(#{chi-application\ 3833}#
(#{build-lexical-reference\ 3762}#
'fun
(#{source-annotation\ 3786}# (car #{e\ 4374}#))
(car #{e\ 4374}#)
#{value\ 4373}#)
#{e\ 4374}#
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
(if (memv #{type\ 4372}# (quote (global-call)))
(#{chi-application\ 3833}#
(#{build-global-reference\ 3765}#
(#{source-annotation\ 3786}# (car #{e\ 4374}#))
(if (#{syntax-object?\ 3779}# #{value\ 4373}#)
(#{syntax-object-expression\ 3780}#
#{value\ 4373}#)
#{value\ 4373}#)
(if (#{syntax-object?\ 3779}# #{value\ 4373}#)
(#{syntax-object-module\ 3782}# #{value\ 4373}#)
#{mod\ 4378}#))
#{e\ 4374}#
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
(if (memv #{type\ 4372}# (quote (constant)))
(#{build-data\ 3773}#
#{s\ 4377}#
(#{strip\ 3844}#
(#{source-wrap\ 3824}#
#{e\ 4374}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
'(())))
(if (memv #{type\ 4372}# (quote (global)))
(#{build-global-reference\ 3765}#
#{s\ 4377}#
#{value\ 4373}#
#{mod\ 4378}#)
(if (memv #{type\ 4372}# (quote (call)))
(#{chi-application\ 3833}#
(#{chi\ 3831}#
(car #{e\ 4374}#)
#{r\ 4375}#
#{w\ 4376}#
#{mod\ 4378}#)
#{e\ 4374}#
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
(if (memv #{type\ 4372}# (quote (begin-form)))
((lambda (#{tmp\ 4381}#)
((lambda (#{tmp\ 4382}#)
(if #{tmp\ 4382}#
(apply (lambda (#{_\ 4383}#
#{e1\ 4384}#
#{e2\ 4385}#)
(#{chi-sequence\ 3825}#
(cons #{e1\ 4384}#
#{e2\ 4385}#)
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#))
#{tmp\ 4382}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4381}#)))
($sc-dispatch
#{tmp\ 4381}#
'(any any . each-any))))
#{e\ 4374}#)
(if (memv #{type\ 4372}#
'(local-syntax-form))
(#{chi-local-syntax\ 3836}#
#{value\ 4373}#
#{e\ 4374}#
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#
#{chi-sequence\ 3825}#)
(if (memv #{type\ 4372}#
'(eval-when-form))
((lambda (#{tmp\ 4387}#)
((lambda (#{tmp\ 4388}#)
(if #{tmp\ 4388}#
(apply (lambda (#{_\ 4389}#
#{x\ 4390}#
#{e1\ 4391}#
#{e2\ 4392}#)
(let ((#{when-list\ 4393}#
(#{chi-when-list\ 3828}#
#{e\ 4374}#
#{x\ 4390}#
#{w\ 4376}#)))
(if (memq 'eval
#{when-list\ 4393}#)
(#{chi-sequence\ 3825}#
(cons #{e1\ 4391}#
#{e2\ 4392}#)
#{r\ 4375}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#)
(#{chi-void\ 3838}#))))
#{tmp\ 4388}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4387}#)))
($sc-dispatch
#{tmp\ 4387}#
'(any each-any any . each-any))))
#{e\ 4374}#)
(if (memv #{type\ 4372}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
#{e\ 4374}#
(#{wrap\ 3823}#
#{value\ 4373}#
#{w\ 4376}#
#{mod\ 4378}#))
(if (memv #{type\ 4372}#
'(syntax))
(syntax-violation
#f
"reference to pattern variable outside syntax form"
(#{source-wrap\ 3824}#
#{e\ 4374}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#))
(if (memv #{type\ 4372}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside its scope"
(#{source-wrap\ 3824}#
#{e\ 4374}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#))
(syntax-violation
#f
"unexpected syntax"
(#{source-wrap\ 3824}#
#{e\ 4374}#
#{w\ 4376}#
#{s\ 4377}#
#{mod\ 4378}#))))))))))))))))))
(#{chi\ 3831}#
(lambda (#{e\ 4396}#
#{r\ 4397}#
#{w\ 4398}#
#{mod\ 4399}#)
(call-with-values
(lambda ()
(#{syntax-type\ 3829}#
#{e\ 4396}#
#{r\ 4397}#
#{w\ 4398}#
(#{source-annotation\ 3786}# #{e\ 4396}#)
#f
#{mod\ 4399}#
#f))
(lambda (#{type\ 4400}#
#{value\ 4401}#
#{e\ 4402}#
#{w\ 4403}#
#{s\ 4404}#
#{mod\ 4405}#)
(#{chi-expr\ 3832}#
#{type\ 4400}#
#{value\ 4401}#
#{e\ 4402}#
#{r\ 4397}#
#{w\ 4403}#
#{s\ 4404}#
#{mod\ 4405}#)))))
(#{chi-top\ 3830}#
(lambda (#{e\ 4406}#
#{r\ 4407}#
#{w\ 4408}#
#{m\ 4409}#
#{esew\ 4410}#
#{mod\ 4411}#)
(call-with-values
(lambda ()
(#{syntax-type\ 3829}#
#{e\ 4406}#
#{r\ 4407}#
#{w\ 4408}#
(#{source-annotation\ 3786}# #{e\ 4406}#)
#f
#{mod\ 4411}#
#f))
(lambda (#{type\ 4419}#
#{value\ 4420}#
#{e\ 4421}#
#{w\ 4422}#
#{s\ 4423}#
#{mod\ 4424}#)
(if (memv #{type\ 4419}# (quote (begin-form)))
((lambda (#{tmp\ 4425}#)
((lambda (#{tmp\ 4426}#)
(if #{tmp\ 4426}#
(apply (lambda (#{_\ 4427}#) (#{chi-void\ 3838}#))
#{tmp\ 4426}#)
((lambda (#{tmp\ 4428}#)
(if #{tmp\ 4428}#
(apply (lambda (#{_\ 4429}#
#{e1\ 4430}#
#{e2\ 4431}#)
(#{chi-top-sequence\ 3826}#
(cons #{e1\ 4430}# #{e2\ 4431}#)
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
#{m\ 4409}#
#{esew\ 4410}#
#{mod\ 4424}#))
#{tmp\ 4428}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4425}#)))
($sc-dispatch
#{tmp\ 4425}#
'(any any . each-any)))))
($sc-dispatch #{tmp\ 4425}# (quote (any)))))
#{e\ 4421}#)
(if (memv #{type\ 4419}# (quote (local-syntax-form)))
(#{chi-local-syntax\ 3836}#
#{value\ 4420}#
#{e\ 4421}#
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
#{mod\ 4424}#
(lambda (#{body\ 4433}#
#{r\ 4434}#
#{w\ 4435}#
#{s\ 4436}#
#{mod\ 4437}#)
(#{chi-top-sequence\ 3826}#
#{body\ 4433}#
#{r\ 4434}#
#{w\ 4435}#
#{s\ 4436}#
#{m\ 4409}#
#{esew\ 4410}#
#{mod\ 4437}#)))
(if (memv #{type\ 4419}# (quote (eval-when-form)))
((lambda (#{tmp\ 4438}#)
((lambda (#{tmp\ 4439}#)
(if #{tmp\ 4439}#
(apply (lambda (#{_\ 4440}#
#{x\ 4441}#
#{e1\ 4442}#
#{e2\ 4443}#)
(let ((#{when-list\ 4444}#
(#{chi-when-list\ 3828}#
#{e\ 4421}#
#{x\ 4441}#
#{w\ 4422}#))
(#{body\ 4445}#
(cons #{e1\ 4442}#
#{e2\ 4443}#)))
(if (eq? #{m\ 4409}# (quote e))
(if (memq 'eval
#{when-list\ 4444}#)
(#{chi-top-sequence\ 3826}#
#{body\ 4445}#
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
'e
'(eval)
#{mod\ 4424}#)
(#{chi-void\ 3838}#))
(if (memq 'load
#{when-list\ 4444}#)
(if (let ((#{t\ 4448}#
(memq 'compile
#{when-list\ 4444}#)))
(if #{t\ 4448}#
#{t\ 4448}#
(if (eq? #{m\ 4409}#
'c&e)
(memq 'eval
#{when-list\ 4444}#)
#f)))
(#{chi-top-sequence\ 3826}#
#{body\ 4445}#
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
'c&e
'(compile load)
#{mod\ 4424}#)
(if (memq #{m\ 4409}#
'(c c&e))
(#{chi-top-sequence\ 3826}#
#{body\ 4445}#
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
'c
'(load)
#{mod\ 4424}#)
(#{chi-void\ 3838}#)))
(if (let ((#{t\ 4449}#
(memq 'compile
#{when-list\ 4444}#)))
(if #{t\ 4449}#
#{t\ 4449}#
(if (eq? #{m\ 4409}#
'c&e)
(memq 'eval
#{when-list\ 4444}#)
#f)))
(begin
(#{top-level-eval-hook\ 3754}#
(#{chi-top-sequence\ 3826}#
#{body\ 4445}#
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
'e
'(eval)
#{mod\ 4424}#)
#{mod\ 4424}#)
(#{chi-void\ 3838}#))
(#{chi-void\ 3838}#))))))
#{tmp\ 4439}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4438}#)))
($sc-dispatch
#{tmp\ 4438}#
'(any each-any any . each-any))))
#{e\ 4421}#)
(if (memv #{type\ 4419}#
'(define-syntax-form))
(let ((#{n\ 4450}#
(#{id-var-name\ 3817}#
#{value\ 4420}#
#{w\ 4422}#))
(#{r\ 4451}#
(#{macros-only-env\ 3791}# #{r\ 4407}#)))
(if (memv #{m\ 4409}# (quote (c)))
(if (memq (quote compile) #{esew\ 4410}#)
(let ((#{e\ 4452}#
(#{chi-install-global\ 3827}#
#{n\ 4450}#
(#{chi\ 3831}#
#{e\ 4421}#
#{r\ 4451}#
#{w\ 4422}#
#{mod\ 4424}#))))
(begin
(#{top-level-eval-hook\ 3754}#
#{e\ 4452}#
#{mod\ 4424}#)
(if (memq (quote load) #{esew\ 4410}#)
#{e\ 4452}#
(#{chi-void\ 3838}#))))
(if (memq (quote load) #{esew\ 4410}#)
(#{chi-install-global\ 3827}#
#{n\ 4450}#
(#{chi\ 3831}#
#{e\ 4421}#
#{r\ 4451}#
#{w\ 4422}#
#{mod\ 4424}#))
(#{chi-void\ 3838}#)))
(if (memv #{m\ 4409}# (quote (c&e)))
(let ((#{e\ 4453}#
(#{chi-install-global\ 3827}#
#{n\ 4450}#
(#{chi\ 3831}#
#{e\ 4421}#
#{r\ 4451}#
#{w\ 4422}#
#{mod\ 4424}#))))
(begin
(#{top-level-eval-hook\ 3754}#
#{e\ 4453}#
#{mod\ 4424}#)
#{e\ 4453}#))
(begin
(if (memq (quote eval) #{esew\ 4410}#)
(#{top-level-eval-hook\ 3754}#
(#{chi-install-global\ 3827}#
#{n\ 4450}#
(#{chi\ 3831}#
#{e\ 4421}#
#{r\ 4451}#
#{w\ 4422}#
#{mod\ 4424}#))
#{mod\ 4424}#))
(#{chi-void\ 3838}#)))))
(if (memv #{type\ 4419}# (quote (define-form)))
(let ((#{n\ 4454}#
(#{id-var-name\ 3817}#
#{value\ 4420}#
#{w\ 4422}#)))
(let ((#{type\ 4455}#
(#{binding-type\ 3787}#
(#{lookup\ 3792}#
#{n\ 4454}#
#{r\ 4407}#
#{mod\ 4424}#))))
(if (memv #{type\ 4455}#
'(global core macro module-ref))
(begin
(if (if (not (module-local-variable
(current-module)
#{n\ 4454}#))
(current-module)
#f)
(let ((#{old\ 4456}#
(module-variable
(current-module)
#{n\ 4454}#)))
(module-define!
(current-module)
#{n\ 4454}#
(if (variable? #{old\ 4456}#)
(variable-ref #{old\ 4456}#)
#f))))
(let ((#{x\ 4457}#
(#{build-global-definition\ 3768}#
#{s\ 4423}#
#{n\ 4454}#
(#{chi\ 3831}#
#{e\ 4421}#
#{r\ 4407}#
#{w\ 4422}#
#{mod\ 4424}#))))
(begin
(if (eq? #{m\ 4409}# (quote c&e))
(#{top-level-eval-hook\ 3754}#
#{x\ 4457}#
#{mod\ 4424}#))
#{x\ 4457}#)))
(if (memv #{type\ 4455}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
#{e\ 4421}#
(#{wrap\ 3823}#
#{value\ 4420}#
#{w\ 4422}#
#{mod\ 4424}#))
(syntax-violation
#f
"cannot define keyword at top level"
#{e\ 4421}#
(#{wrap\ 3823}#
#{value\ 4420}#
#{w\ 4422}#
#{mod\ 4424}#))))))
(let ((#{x\ 4458}#
(#{chi-expr\ 3832}#
#{type\ 4419}#
#{value\ 4420}#
#{e\ 4421}#
#{r\ 4407}#
#{w\ 4422}#
#{s\ 4423}#
#{mod\ 4424}#)))
(begin
(if (eq? #{m\ 4409}# (quote c&e))
(#{top-level-eval-hook\ 3754}#
#{x\ 4458}#
#{mod\ 4424}#))
#{x\ 4458}#)))))))))))
(#{syntax-type\ 3829}#
(lambda (#{e\ 4459}#
#{r\ 4460}#
#{w\ 4461}#
#{s\ 4462}#
#{rib\ 4463}#
#{mod\ 4464}#
#{for-car?\ 4465}#)
(if (symbol? #{e\ 4459}#)
(let ((#{n\ 4466}#
(#{id-var-name\ 3817}# #{e\ 4459}# #{w\ 4461}#)))
(let ((#{b\ 4467}#
(#{lookup\ 3792}#
#{n\ 4466}#
#{r\ 4460}#
#{mod\ 4464}#)))
(let ((#{type\ 4468}#
(#{binding-type\ 3787}# #{b\ 4467}#)))
(if (memv #{type\ 4468}# (quote (lexical)))
(values
#{type\ 4468}#
(#{binding-value\ 3788}# #{b\ 4467}#)
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{type\ 4468}# (quote (global)))
(values
#{type\ 4468}#
#{n\ 4466}#
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{type\ 4468}# (quote (macro)))
(if #{for-car?\ 4465}#
(values
#{type\ 4468}#
(#{binding-value\ 3788}# #{b\ 4467}#)
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(#{syntax-type\ 3829}#
(#{chi-macro\ 3834}#
(#{binding-value\ 3788}# #{b\ 4467}#)
#{e\ 4459}#
#{r\ 4460}#
#{w\ 4461}#
#{rib\ 4463}#
#{mod\ 4464}#)
#{r\ 4460}#
'(())
#{s\ 4462}#
#{rib\ 4463}#
#{mod\ 4464}#
#f))
(values
#{type\ 4468}#
(#{binding-value\ 3788}# #{b\ 4467}#)
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)))))))
(if (pair? #{e\ 4459}#)
(let ((#{first\ 4469}# (car #{e\ 4459}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 3829}#
#{first\ 4469}#
#{r\ 4460}#
#{w\ 4461}#
#{s\ 4462}#
#{rib\ 4463}#
#{mod\ 4464}#
#t))
(lambda (#{ftype\ 4470}#
#{fval\ 4471}#
#{fe\ 4472}#
#{fw\ 4473}#
#{fs\ 4474}#
#{fmod\ 4475}#)
(if (memv #{ftype\ 4470}# (quote (lexical)))
(values
'lexical-call
#{fval\ 4471}#
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{ftype\ 4470}# (quote (global)))
(values
'global-call
(#{make-syntax-object\ 3778}#
#{fval\ 4471}#
#{w\ 4461}#
#{fmod\ 4475}#)
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{ftype\ 4470}# (quote (macro)))
(#{syntax-type\ 3829}#
(#{chi-macro\ 3834}#
#{fval\ 4471}#
#{e\ 4459}#
#{r\ 4460}#
#{w\ 4461}#
#{rib\ 4463}#
#{mod\ 4464}#)
#{r\ 4460}#
'(())
#{s\ 4462}#
#{rib\ 4463}#
#{mod\ 4464}#
#{for-car?\ 4465}#)
(if (memv #{ftype\ 4470}# (quote (module-ref)))
(call-with-values
(lambda () (#{fval\ 4471}# #{e\ 4459}#))
(lambda (#{sym\ 4476}# #{mod\ 4477}#)
(#{syntax-type\ 3829}#
#{sym\ 4476}#
#{r\ 4460}#
#{w\ 4461}#
#{s\ 4462}#
#{rib\ 4463}#
#{mod\ 4477}#
#{for-car?\ 4465}#)))
(if (memv #{ftype\ 4470}# (quote (core)))
(values
'core-form
#{fval\ 4471}#
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{ftype\ 4470}#
'(local-syntax))
(values
'local-syntax-form
#{fval\ 4471}#
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{ftype\ 4470}# (quote (begin)))
(values
'begin-form
#f
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{ftype\ 4470}#
'(eval-when))
(values
'eval-when-form
#f
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(if (memv #{ftype\ 4470}#
'(define))
((lambda (#{tmp\ 4478}#)
((lambda (#{tmp\ 4479}#)
(if (if #{tmp\ 4479}#
(apply (lambda (#{_\ 4480}#
#{name\ 4481}#
#{val\ 4482}#)
(#{id?\ 3795}#
#{name\ 4481}#))
#{tmp\ 4479}#)
#f)
(apply (lambda (#{_\ 4483}#
#{name\ 4484}#
#{val\ 4485}#)
(values
'define-form
#{name\ 4484}#
#{val\ 4485}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#))
#{tmp\ 4479}#)
((lambda (#{tmp\ 4486}#)
(if (if #{tmp\ 4486}#
(apply (lambda (#{_\ 4487}#
#{name\ 4488}#
#{args\ 4489}#
#{e1\ 4490}#
#{e2\ 4491}#)
(if (#{id?\ 3795}#
#{name\ 4488}#)
(#{valid-bound-ids?\ 3820}#
(#{lambda-var-list\ 3846}#
#{args\ 4489}#))
#f))
#{tmp\ 4486}#)
#f)
(apply (lambda (#{_\ 4492}#
#{name\ 4493}#
#{args\ 4494}#
#{e1\ 4495}#
#{e2\ 4496}#)
(values
'define-form
(#{wrap\ 3823}#
#{name\ 4493}#
#{w\ 4461}#
#{mod\ 4464}#)
(#{decorate-source\ 3758}#
(cons '#(syntax-object
lambda
((top)
#(ribcage
#(_
name
args
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
(#{wrap\ 3823}#
(cons #{args\ 4494}#
(cons #{e1\ 4495}#
#{e2\ 4496}#))
#{w\ 4461}#
#{mod\ 4464}#))
#{s\ 4462}#)
'(())
#{s\ 4462}#
#{mod\ 4464}#))
#{tmp\ 4486}#)
((lambda (#{tmp\ 4498}#)
(if (if #{tmp\ 4498}#
(apply (lambda (#{_\ 4499}#
#{name\ 4500}#)
(#{id?\ 3795}#
#{name\ 4500}#))
#{tmp\ 4498}#)
#f)
(apply (lambda (#{_\ 4501}#
#{name\ 4502}#)
(values
'define-form
(#{wrap\ 3823}#
#{name\ 4502}#
#{w\ 4461}#
#{mod\ 4464}#)
'(#(syntax-object
if
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
#(syntax-object
#f
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
#(syntax-object
#f
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))
'(())
#{s\ 4462}#
#{mod\ 4464}#))
#{tmp\ 4498}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4478}#)))
($sc-dispatch
#{tmp\ 4478}#
'(any any)))))
($sc-dispatch
#{tmp\ 4478}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
#{tmp\ 4478}#
'(any any any))))
#{e\ 4459}#)
(if (memv #{ftype\ 4470}#
'(define-syntax))
((lambda (#{tmp\ 4503}#)
((lambda (#{tmp\ 4504}#)
(if (if #{tmp\ 4504}#
(apply (lambda (#{_\ 4505}#
#{name\ 4506}#
#{val\ 4507}#)
(#{id?\ 3795}#
#{name\ 4506}#))
#{tmp\ 4504}#)
#f)
(apply (lambda (#{_\ 4508}#
#{name\ 4509}#
#{val\ 4510}#)
(values
'define-syntax-form
#{name\ 4509}#
#{val\ 4510}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#))
#{tmp\ 4504}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4503}#)))
($sc-dispatch
#{tmp\ 4503}#
'(any any any))))
#{e\ 4459}#)
(values
'call
#f
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#))))))))))))))
(if (#{syntax-object?\ 3779}# #{e\ 4459}#)
(#{syntax-type\ 3829}#
(#{syntax-object-expression\ 3780}# #{e\ 4459}#)
#{r\ 4460}#
(#{join-wraps\ 3814}#
#{w\ 4461}#
(#{syntax-object-wrap\ 3781}# #{e\ 4459}#))
#{s\ 4462}#
#{rib\ 4463}#
(let ((#{t\ 4511}#
(#{syntax-object-module\ 3782}# #{e\ 4459}#)))
(if #{t\ 4511}# #{t\ 4511}# #{mod\ 4464}#))
#{for-car?\ 4465}#)
(if (self-evaluating? #{e\ 4459}#)
(values
'constant
#f
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)
(values
'other
#f
#{e\ 4459}#
#{w\ 4461}#
#{s\ 4462}#
#{mod\ 4464}#)))))))
(#{chi-when-list\ 3828}#
(lambda (#{e\ 4512}# #{when-list\ 4513}# #{w\ 4514}#)
(letrec ((#{f\ 4515}#
(lambda (#{when-list\ 4516}# #{situations\ 4517}#)
(if (null? #{when-list\ 4516}#)
#{situations\ 4517}#
(#{f\ 4515}#
(cdr #{when-list\ 4516}#)
(cons (let ((#{x\ 4518}#
(car #{when-list\ 4516}#)))
(if (#{free-id=?\ 3818}#
#{x\ 4518}#
'#(syntax-object
compile
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
'compile
(if (#{free-id=?\ 3818}#
#{x\ 4518}#
'#(syntax-object
load
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
'load
(if (#{free-id=?\ 3818}#
#{x\ 4518}#
'#(syntax-object
eval
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(f
when-list
situations)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
'eval
(syntax-violation
'eval-when
"invalid situation"
#{e\ 4512}#
(#{wrap\ 3823}#
#{x\ 4518}#
#{w\ 4514}#
#f))))))
#{situations\ 4517}#))))))
(#{f\ 4515}# #{when-list\ 4513}# (quote ())))))
(#{chi-install-global\ 3827}#
(lambda (#{name\ 4519}# #{e\ 4520}#)
(#{build-global-definition\ 3768}#
#f
#{name\ 4519}#
(if (let ((#{v\ 4521}#
(module-variable
(current-module)
#{name\ 4519}#)))
(if #{v\ 4521}#
(if (variable-bound? #{v\ 4521}#)
(if (macro? (variable-ref #{v\ 4521}#))
(not (eq? (macro-type (variable-ref #{v\ 4521}#))
'syncase-macro))
#f)
#f)
#f))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'make-extended-syncase-macro)
(list (#{build-application\ 3760}#
#f
(#{build-primref\ 3772}# #f (quote module-ref))
(list (#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'current-module)
'())
(#{build-data\ 3773}# #f #{name\ 4519}#)))
(#{build-data\ 3773}# #f (quote macro))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}# #f (quote cons))
(list #{e\ 4520}#
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'module-name)
(list (#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'current-module)
'())))))))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'make-syncase-macro)
(list (#{build-data\ 3773}# #f (quote macro))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}# #f (quote cons))
(list #{e\ 4520}#
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'module-name)
(list (#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'current-module)
'())))))))))))
(#{chi-top-sequence\ 3826}#
(lambda (#{body\ 4522}#
#{r\ 4523}#
#{w\ 4524}#
#{s\ 4525}#
#{m\ 4526}#
#{esew\ 4527}#
#{mod\ 4528}#)
(#{build-sequence\ 3774}#
#{s\ 4525}#
(letrec ((#{dobody\ 4529}#
(lambda (#{body\ 4530}#
#{r\ 4531}#
#{w\ 4532}#
#{m\ 4533}#
#{esew\ 4534}#
#{mod\ 4535}#)
(if (null? #{body\ 4530}#)
'()
(let ((#{first\ 4536}#
(#{chi-top\ 3830}#
(car #{body\ 4530}#)
#{r\ 4531}#
#{w\ 4532}#
#{m\ 4533}#
#{esew\ 4534}#
#{mod\ 4535}#)))
(cons #{first\ 4536}#
(#{dobody\ 4529}#
(cdr #{body\ 4530}#)
#{r\ 4531}#
#{w\ 4532}#
#{m\ 4533}#
#{esew\ 4534}#
#{mod\ 4535}#)))))))
(#{dobody\ 4529}#
#{body\ 4522}#
#{r\ 4523}#
#{w\ 4524}#
#{m\ 4526}#
#{esew\ 4527}#
#{mod\ 4528}#)))))
(#{chi-sequence\ 3825}#
(lambda (#{body\ 4537}#
#{r\ 4538}#
#{w\ 4539}#
#{s\ 4540}#
#{mod\ 4541}#)
(#{build-sequence\ 3774}#
#{s\ 4540}#
(letrec ((#{dobody\ 4542}#
(lambda (#{body\ 4543}#
#{r\ 4544}#
#{w\ 4545}#
#{mod\ 4546}#)
(if (null? #{body\ 4543}#)
'()
(let ((#{first\ 4547}#
(#{chi\ 3831}#
(car #{body\ 4543}#)
#{r\ 4544}#
#{w\ 4545}#
#{mod\ 4546}#)))
(cons #{first\ 4547}#
(#{dobody\ 4542}#
(cdr #{body\ 4543}#)
#{r\ 4544}#
#{w\ 4545}#
#{mod\ 4546}#)))))))
(#{dobody\ 4542}#
#{body\ 4537}#
#{r\ 4538}#
#{w\ 4539}#
#{mod\ 4541}#)))))
(#{source-wrap\ 3824}#
(lambda (#{x\ 4548}#
#{w\ 4549}#
#{s\ 4550}#
#{defmod\ 4551}#)
(#{wrap\ 3823}#
(#{decorate-source\ 3758}#
#{x\ 4548}#
#{s\ 4550}#)
#{w\ 4549}#
#{defmod\ 4551}#)))
(#{wrap\ 3823}#
(lambda (#{x\ 4552}# #{w\ 4553}# #{defmod\ 4554}#)
(if (if (null? (#{wrap-marks\ 3798}# #{w\ 4553}#))
(null? (#{wrap-subst\ 3799}# #{w\ 4553}#))
#f)
#{x\ 4552}#
(if (#{syntax-object?\ 3779}# #{x\ 4552}#)
(#{make-syntax-object\ 3778}#
(#{syntax-object-expression\ 3780}# #{x\ 4552}#)
(#{join-wraps\ 3814}#
#{w\ 4553}#
(#{syntax-object-wrap\ 3781}# #{x\ 4552}#))
(#{syntax-object-module\ 3782}# #{x\ 4552}#))
(if (null? #{x\ 4552}#)
#{x\ 4552}#
(#{make-syntax-object\ 3778}#
#{x\ 4552}#
#{w\ 4553}#
#{defmod\ 4554}#))))))
(#{bound-id-member?\ 3822}#
(lambda (#{x\ 4555}# #{list\ 4556}#)
(if (not (null? #{list\ 4556}#))
(let ((#{t\ 4557}#
(#{bound-id=?\ 3819}#
#{x\ 4555}#
(car #{list\ 4556}#))))
(if #{t\ 4557}#
#{t\ 4557}#
(#{bound-id-member?\ 3822}#
#{x\ 4555}#
(cdr #{list\ 4556}#))))
#f)))
(#{distinct-bound-ids?\ 3821}#
(lambda (#{ids\ 4558}#)
(letrec ((#{distinct?\ 4559}#
(lambda (#{ids\ 4560}#)
(let ((#{t\ 4561}# (null? #{ids\ 4560}#)))
(if #{t\ 4561}#
#{t\ 4561}#
(if (not (#{bound-id-member?\ 3822}#
(car #{ids\ 4560}#)
(cdr #{ids\ 4560}#)))
(#{distinct?\ 4559}# (cdr #{ids\ 4560}#))
#f))))))
(#{distinct?\ 4559}# #{ids\ 4558}#))))
(#{valid-bound-ids?\ 3820}#
(lambda (#{ids\ 4562}#)
(if (letrec ((#{all-ids?\ 4563}#
(lambda (#{ids\ 4564}#)
(let ((#{t\ 4565}# (null? #{ids\ 4564}#)))
(if #{t\ 4565}#
#{t\ 4565}#
(if (#{id?\ 3795}# (car #{ids\ 4564}#))
(#{all-ids?\ 4563}# (cdr #{ids\ 4564}#))
#f))))))
(#{all-ids?\ 4563}# #{ids\ 4562}#))
(#{distinct-bound-ids?\ 3821}# #{ids\ 4562}#)
#f)))
(#{bound-id=?\ 3819}#
(lambda (#{i\ 4566}# #{j\ 4567}#)
(if (if (#{syntax-object?\ 3779}# #{i\ 4566}#)
(#{syntax-object?\ 3779}# #{j\ 4567}#)
#f)
(if (eq? (#{syntax-object-expression\ 3780}# #{i\ 4566}#)
(#{syntax-object-expression\ 3780}# #{j\ 4567}#))
(#{same-marks?\ 3816}#
(#{wrap-marks\ 3798}#
(#{syntax-object-wrap\ 3781}# #{i\ 4566}#))
(#{wrap-marks\ 3798}#
(#{syntax-object-wrap\ 3781}# #{j\ 4567}#)))
#f)
(eq? #{i\ 4566}# #{j\ 4567}#))))
(#{free-id=?\ 3818}#
(lambda (#{i\ 4568}# #{j\ 4569}#)
(if (eq? (let ((#{x\ 4570}# #{i\ 4568}#))
(if (#{syntax-object?\ 3779}# #{x\ 4570}#)
(#{syntax-object-expression\ 3780}# #{x\ 4570}#)
#{x\ 4570}#))
(let ((#{x\ 4571}# #{j\ 4569}#))
(if (#{syntax-object?\ 3779}# #{x\ 4571}#)
(#{syntax-object-expression\ 3780}# #{x\ 4571}#)
#{x\ 4571}#)))
(eq? (#{id-var-name\ 3817}# #{i\ 4568}# (quote (())))
(#{id-var-name\ 3817}# #{j\ 4569}# (quote (()))))
#f)))
(#{id-var-name\ 3817}#
(lambda (#{id\ 4572}# #{w\ 4573}#)
(letrec ((#{search-vector-rib\ 4576}#
(lambda (#{sym\ 4582}#
#{subst\ 4583}#
#{marks\ 4584}#
#{symnames\ 4585}#
#{ribcage\ 4586}#)
(let ((#{n\ 4587}#
(vector-length #{symnames\ 4585}#)))
(letrec ((#{f\ 4588}#
(lambda (#{i\ 4589}#)
(if (#{fx=\ 3752}#
#{i\ 4589}#
#{n\ 4587}#)
(#{search\ 4574}#
#{sym\ 4582}#
(cdr #{subst\ 4583}#)
#{marks\ 4584}#)
(if (if (eq? (vector-ref
#{symnames\ 4585}#
#{i\ 4589}#)
#{sym\ 4582}#)
(#{same-marks?\ 3816}#
#{marks\ 4584}#
(vector-ref
(#{ribcage-marks\ 3805}#
#{ribcage\ 4586}#)
#{i\ 4589}#))
#f)
(values
(vector-ref
(#{ribcage-labels\ 3806}#
#{ribcage\ 4586}#)
#{i\ 4589}#)
#{marks\ 4584}#)
(#{f\ 4588}#
(#{fx+\ 3750}#
#{i\ 4589}#
1)))))))
(#{f\ 4588}# 0)))))
(#{search-list-rib\ 4575}#
(lambda (#{sym\ 4590}#
#{subst\ 4591}#
#{marks\ 4592}#
#{symnames\ 4593}#
#{ribcage\ 4594}#)
(letrec ((#{f\ 4595}#
(lambda (#{symnames\ 4596}# #{i\ 4597}#)
(if (null? #{symnames\ 4596}#)
(#{search\ 4574}#
#{sym\ 4590}#
(cdr #{subst\ 4591}#)
#{marks\ 4592}#)
(if (if (eq? (car #{symnames\ 4596}#)
#{sym\ 4590}#)
(#{same-marks?\ 3816}#
#{marks\ 4592}#
(list-ref
(#{ribcage-marks\ 3805}#
#{ribcage\ 4594}#)
#{i\ 4597}#))
#f)
(values
(list-ref
(#{ribcage-labels\ 3806}#
#{ribcage\ 4594}#)
#{i\ 4597}#)
#{marks\ 4592}#)
(#{f\ 4595}#
(cdr #{symnames\ 4596}#)
(#{fx+\ 3750}#
#{i\ 4597}#
1)))))))
(#{f\ 4595}# #{symnames\ 4593}# 0))))
(#{search\ 4574}#
(lambda (#{sym\ 4598}#
#{subst\ 4599}#
#{marks\ 4600}#)
(if (null? #{subst\ 4599}#)
(values #f #{marks\ 4600}#)
(let ((#{fst\ 4601}# (car #{subst\ 4599}#)))
(if (eq? #{fst\ 4601}# (quote shift))
(#{search\ 4574}#
#{sym\ 4598}#
(cdr #{subst\ 4599}#)
(cdr #{marks\ 4600}#))
(let ((#{symnames\ 4602}#
(#{ribcage-symnames\ 3804}#
#{fst\ 4601}#)))
(if (vector? #{symnames\ 4602}#)
(#{search-vector-rib\ 4576}#
#{sym\ 4598}#
#{subst\ 4599}#
#{marks\ 4600}#
#{symnames\ 4602}#
#{fst\ 4601}#)
(#{search-list-rib\ 4575}#
#{sym\ 4598}#
#{subst\ 4599}#
#{marks\ 4600}#
#{symnames\ 4602}#
#{fst\ 4601}#)))))))))
(if (symbol? #{id\ 4572}#)
(let ((#{t\ 4603}#
(call-with-values
(lambda ()
(#{search\ 4574}#
#{id\ 4572}#
(#{wrap-subst\ 3799}# #{w\ 4573}#)
(#{wrap-marks\ 3798}# #{w\ 4573}#)))
(lambda (#{x\ 4604}# . #{ignore\ 4605}#)
#{x\ 4604}#))))
(if #{t\ 4603}# #{t\ 4603}# #{id\ 4572}#))
(if (#{syntax-object?\ 3779}# #{id\ 4572}#)
(let ((#{id\ 4606}#
(#{syntax-object-expression\ 3780}# #{id\ 4572}#))
(#{w1\ 4607}#
(#{syntax-object-wrap\ 3781}# #{id\ 4572}#)))
(let ((#{marks\ 4608}#
(#{join-marks\ 3815}#
(#{wrap-marks\ 3798}# #{w\ 4573}#)
(#{wrap-marks\ 3798}# #{w1\ 4607}#))))
(call-with-values
(lambda ()
(#{search\ 4574}#
#{id\ 4606}#
(#{wrap-subst\ 3799}# #{w\ 4573}#)
#{marks\ 4608}#))
(lambda (#{new-id\ 4609}# #{marks\ 4610}#)
(let ((#{t\ 4611}# #{new-id\ 4609}#))
(if #{t\ 4611}#
#{t\ 4611}#
(let ((#{t\ 4612}#
(call-with-values
(lambda ()
(#{search\ 4574}#
#{id\ 4606}#
(#{wrap-subst\ 3799}#
#{w1\ 4607}#)
#{marks\ 4610}#))
(lambda (#{x\ 4613}#
.
#{ignore\ 4614}#)
#{x\ 4613}#))))
(if #{t\ 4612}#
#{t\ 4612}#
#{id\ 4606}#))))))))
(syntax-violation
'id-var-name
"invalid id"
#{id\ 4572}#))))))
(#{same-marks?\ 3816}#
(lambda (#{x\ 4615}# #{y\ 4616}#)
(let ((#{t\ 4617}# (eq? #{x\ 4615}# #{y\ 4616}#)))
(if #{t\ 4617}#
#{t\ 4617}#
(if (not (null? #{x\ 4615}#))
(if (not (null? #{y\ 4616}#))
(if (eq? (car #{x\ 4615}#) (car #{y\ 4616}#))
(#{same-marks?\ 3816}#
(cdr #{x\ 4615}#)
(cdr #{y\ 4616}#))
#f)
#f)
#f)))))
(#{join-marks\ 3815}#
(lambda (#{m1\ 4618}# #{m2\ 4619}#)
(#{smart-append\ 3813}#
#{m1\ 4618}#
#{m2\ 4619}#)))
(#{join-wraps\ 3814}#
(lambda (#{w1\ 4620}# #{w2\ 4621}#)
(let ((#{m1\ 4622}#
(#{wrap-marks\ 3798}# #{w1\ 4620}#))
(#{s1\ 4623}#
(#{wrap-subst\ 3799}# #{w1\ 4620}#)))
(if (null? #{m1\ 4622}#)
(if (null? #{s1\ 4623}#)
#{w2\ 4621}#
(#{make-wrap\ 3797}#
(#{wrap-marks\ 3798}# #{w2\ 4621}#)
(#{smart-append\ 3813}#
#{s1\ 4623}#
(#{wrap-subst\ 3799}# #{w2\ 4621}#))))
(#{make-wrap\ 3797}#
(#{smart-append\ 3813}#
#{m1\ 4622}#
(#{wrap-marks\ 3798}# #{w2\ 4621}#))
(#{smart-append\ 3813}#
#{s1\ 4623}#
(#{wrap-subst\ 3799}# #{w2\ 4621}#)))))))
(#{smart-append\ 3813}#
(lambda (#{m1\ 4624}# #{m2\ 4625}#)
(if (null? #{m2\ 4625}#)
#{m1\ 4624}#
(append #{m1\ 4624}# #{m2\ 4625}#))))
(#{make-binding-wrap\ 3812}#
(lambda (#{ids\ 4626}# #{labels\ 4627}# #{w\ 4628}#)
(if (null? #{ids\ 4626}#)
#{w\ 4628}#
(#{make-wrap\ 3797}#
(#{wrap-marks\ 3798}# #{w\ 4628}#)
(cons (let ((#{labelvec\ 4629}#
(list->vector #{labels\ 4627}#)))
(let ((#{n\ 4630}#
(vector-length #{labelvec\ 4629}#)))
(let ((#{symnamevec\ 4631}#
(make-vector #{n\ 4630}#))
(#{marksvec\ 4632}#
(make-vector #{n\ 4630}#)))
(begin
(letrec ((#{f\ 4633}#
(lambda (#{ids\ 4634}# #{i\ 4635}#)
(if (not (null? #{ids\ 4634}#))
(call-with-values
(lambda ()
(#{id-sym-name&marks\ 3796}#
(car #{ids\ 4634}#)
#{w\ 4628}#))
(lambda (#{symname\ 4636}#
#{marks\ 4637}#)
(begin
(vector-set!
#{symnamevec\ 4631}#
#{i\ 4635}#
#{symname\ 4636}#)
(vector-set!
#{marksvec\ 4632}#
#{i\ 4635}#
#{marks\ 4637}#)
(#{f\ 4633}#
(cdr #{ids\ 4634}#)
(#{fx+\ 3750}#
#{i\ 4635}#
1)))))))))
(#{f\ 4633}# #{ids\ 4626}# 0))
(#{make-ribcage\ 3802}#
#{symnamevec\ 4631}#
#{marksvec\ 4632}#
#{labelvec\ 4629}#)))))
(#{wrap-subst\ 3799}# #{w\ 4628}#))))))
(#{extend-ribcage!\ 3811}#
(lambda (#{ribcage\ 4638}# #{id\ 4639}# #{label\ 4640}#)
(begin
(#{set-ribcage-symnames!\ 3807}#
#{ribcage\ 4638}#
(cons (#{syntax-object-expression\ 3780}# #{id\ 4639}#)
(#{ribcage-symnames\ 3804}# #{ribcage\ 4638}#)))
(#{set-ribcage-marks!\ 3808}#
#{ribcage\ 4638}#
(cons (#{wrap-marks\ 3798}#
(#{syntax-object-wrap\ 3781}# #{id\ 4639}#))
(#{ribcage-marks\ 3805}# #{ribcage\ 4638}#)))
(#{set-ribcage-labels!\ 3809}#
#{ribcage\ 4638}#
(cons #{label\ 4640}#
(#{ribcage-labels\ 3806}# #{ribcage\ 4638}#))))))
(#{anti-mark\ 3810}#
(lambda (#{w\ 4641}#)
(#{make-wrap\ 3797}#
(cons #f (#{wrap-marks\ 3798}# #{w\ 4641}#))
(cons 'shift
(#{wrap-subst\ 3799}# #{w\ 4641}#)))))
(#{set-ribcage-labels!\ 3809}#
(lambda (#{x\ 4642}# #{update\ 4643}#)
(vector-set! #{x\ 4642}# 3 #{update\ 4643}#)))
(#{set-ribcage-marks!\ 3808}#
(lambda (#{x\ 4644}# #{update\ 4645}#)
(vector-set! #{x\ 4644}# 2 #{update\ 4645}#)))
(#{set-ribcage-symnames!\ 3807}#
(lambda (#{x\ 4646}# #{update\ 4647}#)
(vector-set! #{x\ 4646}# 1 #{update\ 4647}#)))
(#{ribcage-labels\ 3806}#
(lambda (#{x\ 4648}#) (vector-ref #{x\ 4648}# 3)))
(#{ribcage-marks\ 3805}#
(lambda (#{x\ 4649}#) (vector-ref #{x\ 4649}# 2)))
(#{ribcage-symnames\ 3804}#
(lambda (#{x\ 4650}#) (vector-ref #{x\ 4650}# 1)))
(#{ribcage?\ 3803}#
(lambda (#{x\ 4651}#)
(if (vector? #{x\ 4651}#)
(if (= (vector-length #{x\ 4651}#) 4)
(eq? (vector-ref #{x\ 4651}# 0) (quote ribcage))
#f)
#f)))
(#{make-ribcage\ 3802}#
(lambda (#{symnames\ 4652}#
#{marks\ 4653}#
#{labels\ 4654}#)
(vector
'ribcage
#{symnames\ 4652}#
#{marks\ 4653}#
#{labels\ 4654}#)))
(#{gen-labels\ 3801}#
(lambda (#{ls\ 4655}#)
(if (null? #{ls\ 4655}#)
'()
(cons (#{gen-label\ 3800}#)
(#{gen-labels\ 3801}# (cdr #{ls\ 4655}#))))))
(#{gen-label\ 3800}# (lambda () (string #\i)))
(#{wrap-subst\ 3799}# cdr)
(#{wrap-marks\ 3798}# car)
(#{make-wrap\ 3797}# cons)
(#{id-sym-name&marks\ 3796}#
(lambda (#{x\ 4656}# #{w\ 4657}#)
(if (#{syntax-object?\ 3779}# #{x\ 4656}#)
(values
(#{syntax-object-expression\ 3780}# #{x\ 4656}#)
(#{join-marks\ 3815}#
(#{wrap-marks\ 3798}# #{w\ 4657}#)
(#{wrap-marks\ 3798}#
(#{syntax-object-wrap\ 3781}# #{x\ 4656}#))))
(values
#{x\ 4656}#
(#{wrap-marks\ 3798}# #{w\ 4657}#)))))
(#{id?\ 3795}#
(lambda (#{x\ 4658}#)
(if (symbol? #{x\ 4658}#)
#t
(if (#{syntax-object?\ 3779}# #{x\ 4658}#)
(symbol?
(#{syntax-object-expression\ 3780}# #{x\ 4658}#))
#f))))
(#{nonsymbol-id?\ 3794}#
(lambda (#{x\ 4659}#)
(if (#{syntax-object?\ 3779}# #{x\ 4659}#)
(symbol?
(#{syntax-object-expression\ 3780}# #{x\ 4659}#))
#f)))
(#{global-extend\ 3793}#
(lambda (#{type\ 4660}# #{sym\ 4661}# #{val\ 4662}#)
(#{put-global-definition-hook\ 3756}#
#{sym\ 4661}#
#{type\ 4660}#
#{val\ 4662}#)))
(#{lookup\ 3792}#
(lambda (#{x\ 4663}# #{r\ 4664}# #{mod\ 4665}#)
(let ((#{t\ 4666}# (assq #{x\ 4663}# #{r\ 4664}#)))
(if #{t\ 4666}#
(cdr #{t\ 4666}#)
(if (symbol? #{x\ 4663}#)
(let ((#{t\ 4667}#
(#{get-global-definition-hook\ 3757}#
#{x\ 4663}#
#{mod\ 4665}#)))
(if #{t\ 4667}# #{t\ 4667}# (quote (global))))
'(displaced-lexical))))))
(#{macros-only-env\ 3791}#
(lambda (#{r\ 4668}#)
(if (null? #{r\ 4668}#)
'()
(let ((#{a\ 4669}# (car #{r\ 4668}#)))
(if (eq? (cadr #{a\ 4669}#) (quote macro))
(cons #{a\ 4669}#
(#{macros-only-env\ 3791}# (cdr #{r\ 4668}#)))
(#{macros-only-env\ 3791}# (cdr #{r\ 4668}#)))))))
(#{extend-var-env\ 3790}#
(lambda (#{labels\ 4670}# #{vars\ 4671}# #{r\ 4672}#)
(if (null? #{labels\ 4670}#)
#{r\ 4672}#
(#{extend-var-env\ 3790}#
(cdr #{labels\ 4670}#)
(cdr #{vars\ 4671}#)
(cons (cons (car #{labels\ 4670}#)
(cons (quote lexical) (car #{vars\ 4671}#)))
#{r\ 4672}#)))))
(#{extend-env\ 3789}#
(lambda (#{labels\ 4673}# #{bindings\ 4674}# #{r\ 4675}#)
(if (null? #{labels\ 4673}#)
#{r\ 4675}#
(#{extend-env\ 3789}#
(cdr #{labels\ 4673}#)
(cdr #{bindings\ 4674}#)
(cons (cons (car #{labels\ 4673}#)
(car #{bindings\ 4674}#))
#{r\ 4675}#)))))
(#{binding-value\ 3788}# cdr)
(#{binding-type\ 3787}# car)
(#{source-annotation\ 3786}#
(lambda (#{x\ 4676}#)
(if (#{syntax-object?\ 3779}# #{x\ 4676}#)
(#{source-annotation\ 3786}#
(#{syntax-object-expression\ 3780}# #{x\ 4676}#))
(if (pair? #{x\ 4676}#)
(let ((#{props\ 4677}# (source-properties #{x\ 4676}#)))
(if (pair? #{props\ 4677}#) #{props\ 4677}# #f))
#f))))
(#{set-syntax-object-module!\ 3785}#
(lambda (#{x\ 4678}# #{update\ 4679}#)
(vector-set! #{x\ 4678}# 3 #{update\ 4679}#)))
(#{set-syntax-object-wrap!\ 3784}#
(lambda (#{x\ 4680}# #{update\ 4681}#)
(vector-set! #{x\ 4680}# 2 #{update\ 4681}#)))
(#{set-syntax-object-expression!\ 3783}#
(lambda (#{x\ 4682}# #{update\ 4683}#)
(vector-set! #{x\ 4682}# 1 #{update\ 4683}#)))
(#{syntax-object-module\ 3782}#
(lambda (#{x\ 4684}#) (vector-ref #{x\ 4684}# 3)))
(#{syntax-object-wrap\ 3781}#
(lambda (#{x\ 4685}#) (vector-ref #{x\ 4685}# 2)))
(#{syntax-object-expression\ 3780}#
(lambda (#{x\ 4686}#) (vector-ref #{x\ 4686}# 1)))
(#{syntax-object?\ 3779}#
(lambda (#{x\ 4687}#)
(if (vector? #{x\ 4687}#)
(if (= (vector-length #{x\ 4687}#) 4)
(eq? (vector-ref #{x\ 4687}# 0)
'syntax-object)
#f)
#f)))
(#{make-syntax-object\ 3778}#
(lambda (#{expression\ 4688}#
#{wrap\ 4689}#
#{module\ 4690}#)
(vector
'syntax-object
#{expression\ 4688}#
#{wrap\ 4689}#
#{module\ 4690}#)))
(#{build-letrec\ 3777}#
(lambda (#{src\ 4691}#
#{ids\ 4692}#
#{vars\ 4693}#
#{val-exps\ 4694}#
#{body-exp\ 4695}#)
(if (null? #{vars\ 4693}#)
#{body-exp\ 4695}#
(let ((#{atom-key\ 4696}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4696}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 3767}#
#{ids\ 4692}#
#{val-exps\ 4694}#)
((@ (language tree-il) make-letrec)
#{src\ 4691}#
#{ids\ 4692}#
#{vars\ 4693}#
#{val-exps\ 4694}#
#{body-exp\ 4695}#))
(#{decorate-source\ 3758}#
(list 'letrec
(map list #{vars\ 4693}# #{val-exps\ 4694}#)
#{body-exp\ 4695}#)
#{src\ 4691}#))))))
(#{build-named-let\ 3776}#
(lambda (#{src\ 4697}#
#{ids\ 4698}#
#{vars\ 4699}#
#{val-exps\ 4700}#
#{body-exp\ 4701}#)
(let ((#{f\ 4702}# (car #{vars\ 4699}#))
(#{f-name\ 4703}# (car #{ids\ 4698}#))
(#{vars\ 4704}# (cdr #{vars\ 4699}#))
(#{ids\ 4705}# (cdr #{ids\ 4698}#)))
(let ((#{atom-key\ 4706}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4706}# (quote (c)))
(let ((#{proc\ 4707}#
(#{build-simple-lambda\ 3769}#
#{src\ 4697}#
#{ids\ 4705}#
#f
#{vars\ 4704}#
#f
#{body-exp\ 4701}#)))
(begin
(#{maybe-name-value!\ 3767}#
#{f-name\ 4703}#
#{proc\ 4707}#)
(for-each
#{maybe-name-value!\ 3767}#
#{ids\ 4705}#
#{val-exps\ 4700}#)
((@ (language tree-il) make-letrec)
#{src\ 4697}#
(list #{f-name\ 4703}#)
(list #{f\ 4702}#)
(list #{proc\ 4707}#)
(#{build-application\ 3760}#
#{src\ 4697}#
(#{build-lexical-reference\ 3762}#
'fun
#{src\ 4697}#
#{f-name\ 4703}#
#{f\ 4702}#)
#{val-exps\ 4700}#))))
(#{decorate-source\ 3758}#
(list 'letrec
(list (list #{f\ 4702}#
(list 'lambda
#{vars\ 4704}#
#{body-exp\ 4701}#)))
(cons #{f\ 4702}# #{val-exps\ 4700}#))
#{src\ 4697}#))))))
(#{build-let\ 3775}#
(lambda (#{src\ 4708}#
#{ids\ 4709}#
#{vars\ 4710}#
#{val-exps\ 4711}#
#{body-exp\ 4712}#)
(if (null? #{vars\ 4710}#)
#{body-exp\ 4712}#
(let ((#{atom-key\ 4713}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4713}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 3767}#
#{ids\ 4709}#
#{val-exps\ 4711}#)
((@ (language tree-il) make-let)
#{src\ 4708}#
#{ids\ 4709}#
#{vars\ 4710}#
#{val-exps\ 4711}#
#{body-exp\ 4712}#))
(#{decorate-source\ 3758}#
(list 'let
(map list #{vars\ 4710}# #{val-exps\ 4711}#)
#{body-exp\ 4712}#)
#{src\ 4708}#))))))
(#{build-sequence\ 3774}#
(lambda (#{src\ 4714}# #{exps\ 4715}#)
(if (null? (cdr #{exps\ 4715}#))
(car #{exps\ 4715}#)
(let ((#{atom-key\ 4716}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4716}# (quote (c)))
((@ (language tree-il) make-sequence)
#{src\ 4714}#
#{exps\ 4715}#)
(#{decorate-source\ 3758}#
(cons (quote begin) #{exps\ 4715}#)
#{src\ 4714}#))))))
(#{build-data\ 3773}#
(lambda (#{src\ 4717}# #{exp\ 4718}#)
(let ((#{atom-key\ 4719}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4719}# (quote (c)))
((@ (language tree-il) make-const)
#{src\ 4717}#
#{exp\ 4718}#)
(#{decorate-source\ 3758}#
(if (if (self-evaluating? #{exp\ 4718}#)
(not (vector? #{exp\ 4718}#))
#f)
#{exp\ 4718}#
(list (quote quote) #{exp\ 4718}#))
#{src\ 4717}#)))))
(#{build-primref\ 3772}#
(lambda (#{src\ 4720}# #{name\ 4721}#)
(if (equal?
(module-name (current-module))
'(guile))
(let ((#{atom-key\ 4722}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4722}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{src\ 4720}#
#{name\ 4721}#)
(#{decorate-source\ 3758}#
#{name\ 4721}#
#{src\ 4720}#)))
(let ((#{atom-key\ 4723}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4723}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{src\ 4720}#
'(guile)
#{name\ 4721}#
#f)
(#{decorate-source\ 3758}#
(list (quote @@) (quote (guile)) #{name\ 4721}#)
#{src\ 4720}#))))))
(#{build-lambda-case\ 3771}#
(lambda (#{src\ 4724}#
#{req\ 4725}#
#{opt\ 4726}#
#{rest\ 4727}#
#{kw\ 4728}#
#{inits\ 4729}#
#{vars\ 4730}#
#{body\ 4731}#
#{else-case\ 4732}#)
(let ((#{atom-key\ 4733}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4733}# (quote (c)))
((@ (language tree-il) make-lambda-case)
#{src\ 4724}#
#{req\ 4725}#
#{opt\ 4726}#
#{rest\ 4727}#
#{kw\ 4728}#
#{inits\ 4729}#
#{vars\ 4730}#
#{body\ 4731}#
#{else-case\ 4732}#)
(let ((#{nreq\ 4734}# (length #{req\ 4725}#)))
(let ((#{nopt\ 4735}#
(if #{opt\ 4726}# (length #{opt\ 4726}#) 0)))
(let ((#{rest-idx\ 4736}#
(if #{rest\ 4727}#
(+ #{nreq\ 4734}# #{nopt\ 4735}#)
#f)))
(let ((#{allow-other-keys?\ 4737}#
(if #{kw\ 4728}# (car #{kw\ 4728}#) #f)))
(let ((#{kw-indices\ 4738}#
(map (lambda (#{x\ 4739}#)
(cons (car #{x\ 4739}#)
(list-index
#{vars\ 4730}#
(caddr #{x\ 4739}#))))
(if #{kw\ 4728}#
(cdr #{kw\ 4728}#)
'()))))
(let ((#{nargs\ 4740}#
(apply max
(+ #{nreq\ 4734}#
#{nopt\ 4735}#
(if #{rest\ 4727}# 1 0))
(map 1+
(map cdr
#{kw-indices\ 4738}#)))))
(begin
(let ((#{t\ 4741}#
(= #{nargs\ 4740}#
(length #{vars\ 4730}#)
(+ #{nreq\ 4734}#
(length #{inits\ 4729}#)
(if #{rest\ 4727}# 1 0)))))
(if #{t\ 4741}#
#{t\ 4741}#
(error "something went wrong"
#{req\ 4725}#
#{opt\ 4726}#
#{rest\ 4727}#
#{kw\ 4728}#
#{inits\ 4729}#
#{vars\ 4730}#
#{nreq\ 4734}#
#{nopt\ 4735}#
#{kw-indices\ 4738}#
#{nargs\ 4740}#)))
(#{decorate-source\ 3758}#
(cons (list (cons '(@@ (ice-9 optargs)
parse-lambda-case)
(cons (list 'quote
(list #{nreq\ 4734}#
#{nopt\ 4735}#
#{rest-idx\ 4736}#
#{nargs\ 4740}#
#{allow-other-keys?\ 4737}#
#{kw-indices\ 4738}#))
(cons (cons 'list
(map (lambda (#{i\ 4742}#)
(list 'lambda
#{vars\ 4730}#
#{i\ 4742}#))
#{inits\ 4729}#))
'(%%args))))
'=>
(list 'lambda
'(%%%args . _)
(cons 'apply
(cons (list 'lambda
#{vars\ 4730}#
#{body\ 4731}#)
'(%%%args)))))
(let ((#{t\ 4743}#
#{else-case\ 4732}#))
(if #{t\ 4743}#
#{t\ 4743}#
'((%%args
(error "wrong number of arguments"
%%args))))))
#{src\ 4724}#))))))))))))
(#{build-case-lambda\ 3770}#
(lambda (#{src\ 4744}#
#{docstring\ 4745}#
#{body\ 4746}#)
(let ((#{atom-key\ 4747}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4747}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 4744}#
(if #{docstring\ 4745}#
(list (cons (quote documentation) #{docstring\ 4745}#))
'())
#{body\ 4746}#)
(#{decorate-source\ 3758}#
(cons 'lambda
(cons '%%args
(append
(if #{docstring\ 4745}#
(list #{docstring\ 4745}#)
'())
(list (cons (quote cond) #{body\ 4746}#)))))
#{src\ 4744}#)))))
(#{build-simple-lambda\ 3769}#
(lambda (#{src\ 4748}#
#{req\ 4749}#
#{rest\ 4750}#
#{vars\ 4751}#
#{docstring\ 4752}#
#{exp\ 4753}#)
(let ((#{atom-key\ 4754}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4754}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 4748}#
(if #{docstring\ 4752}#
(list (cons (quote documentation) #{docstring\ 4752}#))
'())
((@ (language tree-il) make-lambda-case)
#{src\ 4748}#
#{req\ 4749}#
#f
#{rest\ 4750}#
#f
'()
#{vars\ 4751}#
#{exp\ 4753}#
#f))
(#{decorate-source\ 3758}#
(cons 'lambda
(cons (if #{rest\ 4750}#
(apply cons* #{vars\ 4751}#)
#{vars\ 4751}#)
(append
(if #{docstring\ 4752}#
(list #{docstring\ 4752}#)
'())
(list #{exp\ 4753}#))))
#{src\ 4748}#)))))
(#{build-global-definition\ 3768}#
(lambda (#{source\ 4755}# #{var\ 4756}# #{exp\ 4757}#)
(let ((#{atom-key\ 4758}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4758}# (quote (c)))
(begin
(#{maybe-name-value!\ 3767}#
#{var\ 4756}#
#{exp\ 4757}#)
((@ (language tree-il) make-toplevel-define)
#{source\ 4755}#
#{var\ 4756}#
#{exp\ 4757}#))
(#{decorate-source\ 3758}#
(list (quote define) #{var\ 4756}# #{exp\ 4757}#)
#{source\ 4755}#)))))
(#{maybe-name-value!\ 3767}#
(lambda (#{name\ 4759}# #{val\ 4760}#)
(if ((@ (language tree-il) lambda?) #{val\ 4760}#)
(let ((#{meta\ 4761}#
((@ (language tree-il) lambda-meta)
#{val\ 4760}#)))
(if (not (assq (quote name) #{meta\ 4761}#))
((setter (@ (language tree-il) lambda-meta))
#{val\ 4760}#
(acons 'name
#{name\ 4759}#
#{meta\ 4761}#)))))))
(#{build-global-assignment\ 3766}#
(lambda (#{source\ 4762}#
#{var\ 4763}#
#{exp\ 4764}#
#{mod\ 4765}#)
(#{analyze-variable\ 3764}#
#{mod\ 4765}#
#{var\ 4763}#
(lambda (#{mod\ 4766}# #{var\ 4767}# #{public?\ 4768}#)
(let ((#{atom-key\ 4769}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4769}# (quote (c)))
((@ (language tree-il) make-module-set)
#{source\ 4762}#
#{mod\ 4766}#
#{var\ 4767}#
#{public?\ 4768}#
#{exp\ 4764}#)
(#{decorate-source\ 3758}#
(list 'set!
(list (if #{public?\ 4768}#
'@
'@@)
#{mod\ 4766}#
#{var\ 4767}#)
#{exp\ 4764}#)
#{source\ 4762}#))))
(lambda (#{var\ 4770}#)
(let ((#{atom-key\ 4771}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4771}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
#{source\ 4762}#
#{var\ 4770}#
#{exp\ 4764}#)
(#{decorate-source\ 3758}#
(list (quote set!) #{var\ 4770}# #{exp\ 4764}#)
#{source\ 4762}#)))))))
(#{build-global-reference\ 3765}#
(lambda (#{source\ 4772}# #{var\ 4773}# #{mod\ 4774}#)
(#{analyze-variable\ 3764}#
#{mod\ 4774}#
#{var\ 4773}#
(lambda (#{mod\ 4775}# #{var\ 4776}# #{public?\ 4777}#)
(let ((#{atom-key\ 4778}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4778}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{source\ 4772}#
#{mod\ 4775}#
#{var\ 4776}#
#{public?\ 4777}#)
(#{decorate-source\ 3758}#
(list (if #{public?\ 4777}# (quote @) (quote @@))
#{mod\ 4775}#
#{var\ 4776}#)
#{source\ 4772}#))))
(lambda (#{var\ 4779}#)
(let ((#{atom-key\ 4780}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4780}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{source\ 4772}#
#{var\ 4779}#)
(#{decorate-source\ 3758}#
#{var\ 4779}#
#{source\ 4772}#)))))))
(#{analyze-variable\ 3764}#
(lambda (#{mod\ 4781}#
#{var\ 4782}#
#{modref-cont\ 4783}#
#{bare-cont\ 4784}#)
(if (not #{mod\ 4781}#)
(#{bare-cont\ 4784}# #{var\ 4782}#)
(let ((#{kind\ 4785}# (car #{mod\ 4781}#))
(#{mod\ 4786}# (cdr #{mod\ 4781}#)))
(if (memv #{kind\ 4785}# (quote (public)))
(#{modref-cont\ 4783}#
#{mod\ 4786}#
#{var\ 4782}#
#t)
(if (memv #{kind\ 4785}# (quote (private)))
(if (not (equal?
#{mod\ 4786}#
(module-name (current-module))))
(#{modref-cont\ 4783}#
#{mod\ 4786}#
#{var\ 4782}#
#f)
(#{bare-cont\ 4784}# #{var\ 4782}#))
(if (memv #{kind\ 4785}# (quote (bare)))
(#{bare-cont\ 4784}# #{var\ 4782}#)
(if (memv #{kind\ 4785}# (quote (hygiene)))
(if (if (not (equal?
#{mod\ 4786}#
(module-name (current-module))))
(module-variable
(resolve-module #{mod\ 4786}#)
#{var\ 4782}#)
#f)
(#{modref-cont\ 4783}#
#{mod\ 4786}#
#{var\ 4782}#
#f)
(#{bare-cont\ 4784}# #{var\ 4782}#))
(syntax-violation
#f
"bad module kind"
#{var\ 4782}#
#{mod\ 4786}#)))))))))
(#{build-lexical-assignment\ 3763}#
(lambda (#{source\ 4787}#
#{name\ 4788}#
#{var\ 4789}#
#{exp\ 4790}#)
(let ((#{atom-key\ 4791}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4791}# (quote (c)))
((@ (language tree-il) make-lexical-set)
#{source\ 4787}#
#{name\ 4788}#
#{var\ 4789}#
#{exp\ 4790}#)
(#{decorate-source\ 3758}#
(list (quote set!) #{var\ 4789}# #{exp\ 4790}#)
#{source\ 4787}#)))))
(#{build-lexical-reference\ 3762}#
(lambda (#{type\ 4792}#
#{source\ 4793}#
#{name\ 4794}#
#{var\ 4795}#)
(let ((#{atom-key\ 4796}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4796}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
#{source\ 4793}#
#{name\ 4794}#
#{var\ 4795}#)
(#{decorate-source\ 3758}#
#{var\ 4795}#
#{source\ 4793}#)))))
(#{build-conditional\ 3761}#
(lambda (#{source\ 4797}#
#{test-exp\ 4798}#
#{then-exp\ 4799}#
#{else-exp\ 4800}#)
(let ((#{atom-key\ 4801}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4801}# (quote (c)))
((@ (language tree-il) make-conditional)
#{source\ 4797}#
#{test-exp\ 4798}#
#{then-exp\ 4799}#
#{else-exp\ 4800}#)
(#{decorate-source\ 3758}#
(if (equal? #{else-exp\ 4800}# (quote (if #f #f)))
(list 'if
#{test-exp\ 4798}#
#{then-exp\ 4799}#)
(list 'if
#{test-exp\ 4798}#
#{then-exp\ 4799}#
#{else-exp\ 4800}#))
#{source\ 4797}#)))))
(#{build-application\ 3760}#
(lambda (#{source\ 4802}#
#{fun-exp\ 4803}#
#{arg-exps\ 4804}#)
(let ((#{atom-key\ 4805}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4805}# (quote (c)))
((@ (language tree-il) make-application)
#{source\ 4802}#
#{fun-exp\ 4803}#
#{arg-exps\ 4804}#)
(#{decorate-source\ 3758}#
(cons #{fun-exp\ 4803}# #{arg-exps\ 4804}#)
#{source\ 4802}#)))))
(#{build-void\ 3759}#
(lambda (#{source\ 4806}#)
(let ((#{atom-key\ 4807}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4807}# (quote (c)))
((@ (language tree-il) make-void)
#{source\ 4806}#)
(#{decorate-source\ 3758}#
'(if #f #f)
#{source\ 4806}#)))))
(#{decorate-source\ 3758}#
(lambda (#{e\ 4808}# #{s\ 4809}#)
(begin
(if (if (pair? #{e\ 4808}#) #{s\ 4809}# #f)
(set-source-properties! #{e\ 4808}# #{s\ 4809}#))
#{e\ 4808}#)))
(#{get-global-definition-hook\ 3757}#
(lambda (#{symbol\ 4810}# #{module\ 4811}#)
(begin
(if (if (not #{module\ 4811}#) (current-module) #f)
(warn "module system is booted, we should have a module"
#{symbol\ 4810}#))
(let ((#{v\ 4812}#
(module-variable
(if #{module\ 4811}#
(resolve-module (cdr #{module\ 4811}#))
(current-module))
#{symbol\ 4810}#)))
(if #{v\ 4812}#
(if (variable-bound? #{v\ 4812}#)
(let ((#{val\ 4813}# (variable-ref #{v\ 4812}#)))
(if (macro? #{val\ 4813}#)
(if (syncase-macro-type #{val\ 4813}#)
(cons (syncase-macro-type #{val\ 4813}#)
(syncase-macro-binding #{val\ 4813}#))
#f)
#f))
#f)
#f)))))
(#{put-global-definition-hook\ 3756}#
(lambda (#{symbol\ 4814}# #{type\ 4815}# #{val\ 4816}#)
(let ((#{existing\ 4817}#
(let ((#{v\ 4818}#
(module-variable
(current-module)
#{symbol\ 4814}#)))
(if #{v\ 4818}#
(if (variable-bound? #{v\ 4818}#)
(let ((#{val\ 4819}# (variable-ref #{v\ 4818}#)))
(if (macro? #{val\ 4819}#)
(if (not (syncase-macro-type #{val\ 4819}#))
#{val\ 4819}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
#{symbol\ 4814}#
(if #{existing\ 4817}#
(make-extended-syncase-macro
#{existing\ 4817}#
#{type\ 4815}#
#{val\ 4816}#)
(make-syncase-macro #{type\ 4815}# #{val\ 4816}#))))))
(#{local-eval-hook\ 3755}#
(lambda (#{x\ 4820}# #{mod\ 4821}#)
(primitive-eval
(list #{noexpand\ 3748}#
(let ((#{atom-key\ 4822}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4822}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 4820}#)
#{x\ 4820}#))))))
(#{top-level-eval-hook\ 3754}#
(lambda (#{x\ 4823}# #{mod\ 4824}#)
(primitive-eval
(list #{noexpand\ 3748}#
(let ((#{atom-key\ 4825}# (fluid-ref #{*mode*\ 3749}#)))
(if (memv #{atom-key\ 4825}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 4823}#)
#{x\ 4823}#))))))
(#{fx<\ 3753}# <)
(#{fx=\ 3752}# =)
(#{fx-\ 3751}# -)
(#{fx+\ 3750}# +)
(#{*mode*\ 3749}# (make-fluid))
(#{noexpand\ 3748}# "noexpand"))
(begin
(#{global-extend\ 3793}#
'local-syntax
'letrec-syntax
#t)
(#{global-extend\ 3793}#
'local-syntax
'let-syntax
#f)
(#{global-extend\ 3793}#
'core
'fluid-let-syntax
(lambda (#{e\ 4826}#
#{r\ 4827}#
#{w\ 4828}#
#{s\ 4829}#
#{mod\ 4830}#)
((lambda (#{tmp\ 4831}#)
((lambda (#{tmp\ 4832}#)
(if (if #{tmp\ 4832}#
(apply (lambda (#{_\ 4833}#
#{var\ 4834}#
#{val\ 4835}#
#{e1\ 4836}#
#{e2\ 4837}#)
(#{valid-bound-ids?\ 3820}# #{var\ 4834}#))
#{tmp\ 4832}#)
#f)
(apply (lambda (#{_\ 4839}#
#{var\ 4840}#
#{val\ 4841}#
#{e1\ 4842}#
#{e2\ 4843}#)
(let ((#{names\ 4844}#
(map (lambda (#{x\ 4845}#)
(#{id-var-name\ 3817}#
#{x\ 4845}#
#{w\ 4828}#))
#{var\ 4840}#)))
(begin
(for-each
(lambda (#{id\ 4847}# #{n\ 4848}#)
(let ((#{atom-key\ 4849}#
(#{binding-type\ 3787}#
(#{lookup\ 3792}#
#{n\ 4848}#
#{r\ 4827}#
#{mod\ 4830}#))))
(if (memv #{atom-key\ 4849}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
#{e\ 4826}#
(#{source-wrap\ 3824}#
#{id\ 4847}#
#{w\ 4828}#
#{s\ 4829}#
#{mod\ 4830}#)))))
#{var\ 4840}#
#{names\ 4844}#)
(#{chi-body\ 3835}#
(cons #{e1\ 4842}# #{e2\ 4843}#)
(#{source-wrap\ 3824}#
#{e\ 4826}#
#{w\ 4828}#
#{s\ 4829}#
#{mod\ 4830}#)
(#{extend-env\ 3789}#
#{names\ 4844}#
(let ((#{trans-r\ 4852}#
(#{macros-only-env\ 3791}#
#{r\ 4827}#)))
(map (lambda (#{x\ 4853}#)
(cons 'macro
(#{eval-local-transformer\ 3837}#
(#{chi\ 3831}#
#{x\ 4853}#
#{trans-r\ 4852}#
#{w\ 4828}#
#{mod\ 4830}#)
#{mod\ 4830}#)))
#{val\ 4841}#))
#{r\ 4827}#)
#{w\ 4828}#
#{mod\ 4830}#))))
#{tmp\ 4832}#)
((lambda (#{_\ 4855}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 3824}#
#{e\ 4826}#
#{w\ 4828}#
#{s\ 4829}#
#{mod\ 4830}#)))
#{tmp\ 4831}#)))
($sc-dispatch
#{tmp\ 4831}#
'(any #(each (any any)) any . each-any))))
#{e\ 4826}#)))
(#{global-extend\ 3793}#
'core
'quote
(lambda (#{e\ 4856}#
#{r\ 4857}#
#{w\ 4858}#
#{s\ 4859}#
#{mod\ 4860}#)
((lambda (#{tmp\ 4861}#)
((lambda (#{tmp\ 4862}#)
(if #{tmp\ 4862}#
(apply (lambda (#{_\ 4863}# #{e\ 4864}#)
(#{build-data\ 3773}#
#{s\ 4859}#
(#{strip\ 3844}# #{e\ 4864}# #{w\ 4858}#)))
#{tmp\ 4862}#)
((lambda (#{_\ 4865}#)
(syntax-violation
'quote
"bad syntax"
(#{source-wrap\ 3824}#
#{e\ 4856}#
#{w\ 4858}#
#{s\ 4859}#
#{mod\ 4860}#)))
#{tmp\ 4861}#)))
($sc-dispatch #{tmp\ 4861}# (quote (any any)))))
#{e\ 4856}#)))
(#{global-extend\ 3793}#
'core
'syntax
(letrec ((#{regen\ 4873}#
(lambda (#{x\ 4874}#)
(let ((#{atom-key\ 4875}# (car #{x\ 4874}#)))
(if (memv #{atom-key\ 4875}# (quote (ref)))
(#{build-lexical-reference\ 3762}#
'value
#f
(cadr #{x\ 4874}#)
(cadr #{x\ 4874}#))
(if (memv #{atom-key\ 4875}# (quote (primitive)))
(#{build-primref\ 3772}# #f (cadr #{x\ 4874}#))
(if (memv #{atom-key\ 4875}# (quote (quote)))
(#{build-data\ 3773}# #f (cadr #{x\ 4874}#))
(if (memv #{atom-key\ 4875}# (quote (lambda)))
(if (list? (cadr #{x\ 4874}#))
(#{build-simple-lambda\ 3769}#
#f
(cadr #{x\ 4874}#)
#f
(cadr #{x\ 4874}#)
#f
(#{regen\ 4873}# (caddr #{x\ 4874}#)))
(error "how did we get here" #{x\ 4874}#))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}# #f (car #{x\ 4874}#))
(map #{regen\ 4873}#
(cdr #{x\ 4874}#))))))))))
(#{gen-vector\ 4872}#
(lambda (#{x\ 4876}#)
(if (eq? (car #{x\ 4876}#) (quote list))
(cons (quote vector) (cdr #{x\ 4876}#))
(if (eq? (car #{x\ 4876}#) (quote quote))
(list 'quote
(list->vector (cadr #{x\ 4876}#)))
(list (quote list->vector) #{x\ 4876}#)))))
(#{gen-append\ 4871}#
(lambda (#{x\ 4877}# #{y\ 4878}#)
(if (equal? #{y\ 4878}# (quote (quote ())))
#{x\ 4877}#
(list (quote append) #{x\ 4877}# #{y\ 4878}#))))
(#{gen-cons\ 4870}#
(lambda (#{x\ 4879}# #{y\ 4880}#)
(let ((#{atom-key\ 4881}# (car #{y\ 4880}#)))
(if (memv #{atom-key\ 4881}# (quote (quote)))
(if (eq? (car #{x\ 4879}#) (quote quote))
(list 'quote
(cons (cadr #{x\ 4879}#) (cadr #{y\ 4880}#)))
(if (eq? (cadr #{y\ 4880}#) (quote ()))
(list (quote list) #{x\ 4879}#)
(list (quote cons) #{x\ 4879}# #{y\ 4880}#)))
(if (memv #{atom-key\ 4881}# (quote (list)))
(cons 'list
(cons #{x\ 4879}# (cdr #{y\ 4880}#)))
(list (quote cons) #{x\ 4879}# #{y\ 4880}#))))))
(#{gen-map\ 4869}#
(lambda (#{e\ 4882}# #{map-env\ 4883}#)
(let ((#{formals\ 4884}# (map cdr #{map-env\ 4883}#))
(#{actuals\ 4885}#
(map (lambda (#{x\ 4886}#)
(list (quote ref) (car #{x\ 4886}#)))
#{map-env\ 4883}#)))
(if (eq? (car #{e\ 4882}#) (quote ref))
(car #{actuals\ 4885}#)
(if (and-map
(lambda (#{x\ 4887}#)
(if (eq? (car #{x\ 4887}#) (quote ref))
(memq (cadr #{x\ 4887}#) #{formals\ 4884}#)
#f))
(cdr #{e\ 4882}#))
(cons 'map
(cons (list 'primitive
(car #{e\ 4882}#))
(map (let ((#{r\ 4888}#
(map cons
#{formals\ 4884}#
#{actuals\ 4885}#)))
(lambda (#{x\ 4889}#)
(cdr (assq (cadr #{x\ 4889}#)
#{r\ 4888}#))))
(cdr #{e\ 4882}#))))
(cons 'map
(cons (list 'lambda
#{formals\ 4884}#
#{e\ 4882}#)
#{actuals\ 4885}#)))))))
(#{gen-mappend\ 4868}#
(lambda (#{e\ 4890}# #{map-env\ 4891}#)
(list 'apply
'(primitive append)
(#{gen-map\ 4869}# #{e\ 4890}# #{map-env\ 4891}#))))
(#{gen-ref\ 4867}#
(lambda (#{src\ 4892}#
#{var\ 4893}#
#{level\ 4894}#
#{maps\ 4895}#)
(if (#{fx=\ 3752}# #{level\ 4894}# 0)
(values #{var\ 4893}# #{maps\ 4895}#)
(if (null? #{maps\ 4895}#)
(syntax-violation
'syntax
"missing ellipsis"
#{src\ 4892}#)
(call-with-values
(lambda ()
(#{gen-ref\ 4867}#
#{src\ 4892}#
#{var\ 4893}#
(#{fx-\ 3751}# #{level\ 4894}# 1)
(cdr #{maps\ 4895}#)))
(lambda (#{outer-var\ 4896}# #{outer-maps\ 4897}#)
(let ((#{b\ 4898}#
(assq #{outer-var\ 4896}#
(car #{maps\ 4895}#))))
(if #{b\ 4898}#
(values (cdr #{b\ 4898}#) #{maps\ 4895}#)
(let ((#{inner-var\ 4899}#
(#{gen-var\ 3845}# (quote tmp))))
(values
#{inner-var\ 4899}#
(cons (cons (cons #{outer-var\ 4896}#
#{inner-var\ 4899}#)
(car #{maps\ 4895}#))
#{outer-maps\ 4897}#)))))))))))
(#{gen-syntax\ 4866}#
(lambda (#{src\ 4900}#
#{e\ 4901}#
#{r\ 4902}#
#{maps\ 4903}#
#{ellipsis?\ 4904}#
#{mod\ 4905}#)
(if (#{id?\ 3795}# #{e\ 4901}#)
(let ((#{label\ 4906}#
(#{id-var-name\ 3817}#
#{e\ 4901}#
'(()))))
(let ((#{b\ 4907}#
(#{lookup\ 3792}#
#{label\ 4906}#
#{r\ 4902}#
#{mod\ 4905}#)))
(if (eq? (#{binding-type\ 3787}# #{b\ 4907}#)
'syntax)
(call-with-values
(lambda ()
(let ((#{var.lev\ 4908}#
(#{binding-value\ 3788}#
#{b\ 4907}#)))
(#{gen-ref\ 4867}#
#{src\ 4900}#
(car #{var.lev\ 4908}#)
(cdr #{var.lev\ 4908}#)
#{maps\ 4903}#)))
(lambda (#{var\ 4909}# #{maps\ 4910}#)
(values
(list (quote ref) #{var\ 4909}#)
#{maps\ 4910}#)))
(if (#{ellipsis?\ 4904}# #{e\ 4901}#)
(syntax-violation
'syntax
"misplaced ellipsis"
#{src\ 4900}#)
(values
(list (quote quote) #{e\ 4901}#)
#{maps\ 4903}#)))))
((lambda (#{tmp\ 4911}#)
((lambda (#{tmp\ 4912}#)
(if (if #{tmp\ 4912}#
(apply (lambda (#{dots\ 4913}# #{e\ 4914}#)
(#{ellipsis?\ 4904}#
#{dots\ 4913}#))
#{tmp\ 4912}#)
#f)
(apply (lambda (#{dots\ 4915}# #{e\ 4916}#)
(#{gen-syntax\ 4866}#
#{src\ 4900}#
#{e\ 4916}#
#{r\ 4902}#
#{maps\ 4903}#
(lambda (#{x\ 4917}#) #f)
#{mod\ 4905}#))
#{tmp\ 4912}#)
((lambda (#{tmp\ 4918}#)
(if (if #{tmp\ 4918}#
(apply (lambda (#{x\ 4919}#
#{dots\ 4920}#
#{y\ 4921}#)
(#{ellipsis?\ 4904}#
#{dots\ 4920}#))
#{tmp\ 4918}#)
#f)
(apply (lambda (#{x\ 4922}#
#{dots\ 4923}#
#{y\ 4924}#)
(letrec ((#{f\ 4925}#
(lambda (#{y\ 4926}#
#{k\ 4927}#)
((lambda (#{tmp\ 4931}#)
((lambda (#{tmp\ 4932}#)
(if (if #{tmp\ 4932}#
(apply (lambda (#{dots\ 4933}#
#{y\ 4934}#)
(#{ellipsis?\ 4904}#
#{dots\ 4933}#))
#{tmp\ 4932}#)
#f)
(apply (lambda (#{dots\ 4935}#
#{y\ 4936}#)
(#{f\ 4925}#
#{y\ 4936}#
(lambda (#{maps\ 4937}#)
(call-with-values
(lambda ()
(#{k\ 4927}#
(cons '()
#{maps\ 4937}#)))
(lambda (#{x\ 4938}#
#{maps\ 4939}#)
(if (null? (car #{maps\ 4939}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 4900}#)
(values
(#{gen-mappend\ 4868}#
#{x\ 4938}#
(car #{maps\ 4939}#))
(cdr #{maps\ 4939}#))))))))
#{tmp\ 4932}#)
((lambda (#{_\ 4940}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 4866}#
#{src\ 4900}#
#{y\ 4926}#
#{r\ 4902}#
#{maps\ 4903}#
#{ellipsis?\ 4904}#
#{mod\ 4905}#))
(lambda (#{y\ 4941}#
#{maps\ 4942}#)
(call-with-values
(lambda ()
(#{k\ 4927}#
#{maps\ 4942}#))
(lambda (#{x\ 4943}#
#{maps\ 4944}#)
(values
(#{gen-append\ 4871}#
#{x\ 4943}#
#{y\ 4941}#)
#{maps\ 4944}#))))))
#{tmp\ 4931}#)))
($sc-dispatch
#{tmp\ 4931}#
'(any . any))))
#{y\ 4926}#))))
(#{f\ 4925}#
#{y\ 4924}#
(lambda (#{maps\ 4928}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 4866}#
#{src\ 4900}#
#{x\ 4922}#
#{r\ 4902}#
(cons '()
#{maps\ 4928}#)
#{ellipsis?\ 4904}#
#{mod\ 4905}#))
(lambda (#{x\ 4929}#
#{maps\ 4930}#)
(if (null? (car #{maps\ 4930}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 4900}#)
(values
(#{gen-map\ 4869}#
#{x\ 4929}#
(car #{maps\ 4930}#))
(cdr #{maps\ 4930}#)))))))))
#{tmp\ 4918}#)
((lambda (#{tmp\ 4945}#)
(if #{tmp\ 4945}#
(apply (lambda (#{x\ 4946}#
#{y\ 4947}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 4866}#
#{src\ 4900}#
#{x\ 4946}#
#{r\ 4902}#
#{maps\ 4903}#
#{ellipsis?\ 4904}#
#{mod\ 4905}#))
(lambda (#{x\ 4948}#
#{maps\ 4949}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 4866}#
#{src\ 4900}#
#{y\ 4947}#
#{r\ 4902}#
#{maps\ 4949}#
#{ellipsis?\ 4904}#
#{mod\ 4905}#))
(lambda (#{y\ 4950}#
#{maps\ 4951}#)
(values
(#{gen-cons\ 4870}#
#{x\ 4948}#
#{y\ 4950}#)
#{maps\ 4951}#))))))
#{tmp\ 4945}#)
((lambda (#{tmp\ 4952}#)
(if #{tmp\ 4952}#
(apply (lambda (#{e1\ 4953}#
#{e2\ 4954}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 4866}#
#{src\ 4900}#
(cons #{e1\ 4953}#
#{e2\ 4954}#)
#{r\ 4902}#
#{maps\ 4903}#
#{ellipsis?\ 4904}#
#{mod\ 4905}#))
(lambda (#{e\ 4956}#
#{maps\ 4957}#)
(values
(#{gen-vector\ 4872}#
#{e\ 4956}#)
#{maps\ 4957}#))))
#{tmp\ 4952}#)
((lambda (#{_\ 4958}#)
(values
(list 'quote
#{e\ 4901}#)
#{maps\ 4903}#))
#{tmp\ 4911}#)))
($sc-dispatch
#{tmp\ 4911}#
'#(vector (any . each-any))))))
($sc-dispatch
#{tmp\ 4911}#
'(any . any)))))
($sc-dispatch
#{tmp\ 4911}#
'(any any . any)))))
($sc-dispatch #{tmp\ 4911}# (quote (any any)))))
#{e\ 4901}#)))))
(lambda (#{e\ 4959}#
#{r\ 4960}#
#{w\ 4961}#
#{s\ 4962}#
#{mod\ 4963}#)
(let ((#{e\ 4964}#
(#{source-wrap\ 3824}#
#{e\ 4959}#
#{w\ 4961}#
#{s\ 4962}#
#{mod\ 4963}#)))
((lambda (#{tmp\ 4965}#)
((lambda (#{tmp\ 4966}#)
(if #{tmp\ 4966}#
(apply (lambda (#{_\ 4967}# #{x\ 4968}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 4866}#
#{e\ 4964}#
#{x\ 4968}#
#{r\ 4960}#
'()
#{ellipsis?\ 3839}#
#{mod\ 4963}#))
(lambda (#{e\ 4969}# #{maps\ 4970}#)
(#{regen\ 4873}# #{e\ 4969}#))))
#{tmp\ 4966}#)
((lambda (#{_\ 4971}#)
(syntax-violation
'syntax
"bad `syntax' form"
#{e\ 4964}#))
#{tmp\ 4965}#)))
($sc-dispatch #{tmp\ 4965}# (quote (any any)))))
#{e\ 4964}#)))))
(#{global-extend\ 3793}#
'core
'lambda
(lambda (#{e\ 4972}#
#{r\ 4973}#
#{w\ 4974}#
#{s\ 4975}#
#{mod\ 4976}#)
((lambda (#{tmp\ 4977}#)
((lambda (#{tmp\ 4978}#)
(if (if #{tmp\ 4978}#
(apply (lambda (#{_\ 4979}#
#{args\ 4980}#
#{docstring\ 4981}#
#{e1\ 4982}#
#{e2\ 4983}#)
(string? (syntax->datum #{docstring\ 4981}#)))
#{tmp\ 4978}#)
#f)
(apply (lambda (#{_\ 4984}#
#{args\ 4985}#
#{docstring\ 4986}#
#{e1\ 4987}#
#{e2\ 4988}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 3840}# #{args\ 4985}#))
(lambda (#{req\ 4989}#
#{opt\ 4990}#
#{rest\ 4991}#
#{kw\ 4992}#)
(#{chi-simple-lambda\ 3841}#
#{e\ 4972}#
#{r\ 4973}#
#{w\ 4974}#
#{s\ 4975}#
#{mod\ 4976}#
#{req\ 4989}#
#{rest\ 4991}#
(syntax->datum #{docstring\ 4986}#)
(cons #{e1\ 4987}# #{e2\ 4988}#)))))
#{tmp\ 4978}#)
((lambda (#{tmp\ 4994}#)
(if #{tmp\ 4994}#
(apply (lambda (#{_\ 4995}#
#{args\ 4996}#
#{e1\ 4997}#
#{e2\ 4998}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 3840}# #{args\ 4996}#))
(lambda (#{req\ 4999}#
#{opt\ 5000}#
#{rest\ 5001}#
#{kw\ 5002}#)
(#{chi-simple-lambda\ 3841}#
#{e\ 4972}#
#{r\ 4973}#
#{w\ 4974}#
#{s\ 4975}#
#{mod\ 4976}#
#{req\ 4999}#
#{rest\ 5001}#
#f
(cons #{e1\ 4997}# #{e2\ 4998}#)))))
#{tmp\ 4994}#)
((lambda (#{_\ 5004}#)
(syntax-violation
'lambda
"bad lambda"
#{e\ 4972}#))
#{tmp\ 4977}#)))
($sc-dispatch
#{tmp\ 4977}#
'(any any any . each-any)))))
($sc-dispatch
#{tmp\ 4977}#
'(any any any any . each-any))))
#{e\ 4972}#)))
(#{global-extend\ 3793}#
'core
'lambda*
(lambda (#{e\ 5005}#
#{r\ 5006}#
#{w\ 5007}#
#{s\ 5008}#
#{mod\ 5009}#)
((lambda (#{tmp\ 5010}#)
((lambda (#{tmp\ 5011}#)
(if #{tmp\ 5011}#
(apply (lambda (#{_\ 5012}#
#{args\ 5013}#
#{e1\ 5014}#
#{e2\ 5015}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 3843}#
#{e\ 5005}#
#{r\ 5006}#
#{w\ 5007}#
#{s\ 5008}#
#{mod\ 5009}#
#{lambda*-formals\ 3842}#
(list (cons #{args\ 5013}#
(cons #{e1\ 5014}#
#{e2\ 5015}#)))))
(lambda (#{docstring\ 5017}# #{lcase\ 5018}#)
(#{build-case-lambda\ 3770}#
#{s\ 5008}#
#{docstring\ 5017}#
#{lcase\ 5018}#))))
#{tmp\ 5011}#)
((lambda (#{_\ 5019}#)
(syntax-violation
'lambda
"bad lambda*"
#{e\ 5005}#))
#{tmp\ 5010}#)))
($sc-dispatch
#{tmp\ 5010}#
'(any any any . each-any))))
#{e\ 5005}#)))
(#{global-extend\ 3793}#
'core
'case-lambda
(lambda (#{e\ 5020}#
#{r\ 5021}#
#{w\ 5022}#
#{s\ 5023}#
#{mod\ 5024}#)
((lambda (#{tmp\ 5025}#)
((lambda (#{tmp\ 5026}#)
(if #{tmp\ 5026}#
(apply (lambda (#{_\ 5027}#
#{args\ 5028}#
#{e1\ 5029}#
#{e2\ 5030}#
#{args*\ 5031}#
#{e1*\ 5032}#
#{e2*\ 5033}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 3843}#
#{e\ 5020}#
#{r\ 5021}#
#{w\ 5022}#
#{s\ 5023}#
#{mod\ 5024}#
#{lambda-formals\ 3840}#
(cons (cons #{args\ 5028}#
(cons #{e1\ 5029}# #{e2\ 5030}#))
(map (lambda (#{tmp\ 5037}#
#{tmp\ 5036}#
#{tmp\ 5035}#)
(cons #{tmp\ 5035}#
(cons #{tmp\ 5036}#
#{tmp\ 5037}#)))
#{e2*\ 5033}#
#{e1*\ 5032}#
#{args*\ 5031}#))))
(lambda (#{docstring\ 5039}# #{lcase\ 5040}#)
(#{build-case-lambda\ 3770}#
#{s\ 5023}#
#{docstring\ 5039}#
#{lcase\ 5040}#))))
#{tmp\ 5026}#)
((lambda (#{_\ 5041}#)
(syntax-violation
'case-lambda
"bad case-lambda"
#{e\ 5020}#))
#{tmp\ 5025}#)))
($sc-dispatch
#{tmp\ 5025}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
#{e\ 5020}#)))
(#{global-extend\ 3793}#
'core
'case-lambda*
(lambda (#{e\ 5042}#
#{r\ 5043}#
#{w\ 5044}#
#{s\ 5045}#
#{mod\ 5046}#)
((lambda (#{tmp\ 5047}#)
((lambda (#{tmp\ 5048}#)
(if #{tmp\ 5048}#
(apply (lambda (#{_\ 5049}#
#{args\ 5050}#
#{e1\ 5051}#
#{e2\ 5052}#
#{args*\ 5053}#
#{e1*\ 5054}#
#{e2*\ 5055}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 3843}#
#{e\ 5042}#
#{r\ 5043}#
#{w\ 5044}#
#{s\ 5045}#
#{mod\ 5046}#
#{lambda*-formals\ 3842}#
(cons (cons #{args\ 5050}#
(cons #{e1\ 5051}# #{e2\ 5052}#))
(map (lambda (#{tmp\ 5059}#
#{tmp\ 5058}#
#{tmp\ 5057}#)
(cons #{tmp\ 5057}#
(cons #{tmp\ 5058}#
#{tmp\ 5059}#)))
#{e2*\ 5055}#
#{e1*\ 5054}#
#{args*\ 5053}#))))
(lambda (#{docstring\ 5061}# #{lcase\ 5062}#)
(#{build-case-lambda\ 3770}#
#{s\ 5045}#
#{docstring\ 5061}#
#{lcase\ 5062}#))))
#{tmp\ 5048}#)
((lambda (#{_\ 5063}#)
(syntax-violation
'case-lambda
"bad case-lambda*"
#{e\ 5042}#))
#{tmp\ 5047}#)))
($sc-dispatch
#{tmp\ 5047}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
#{e\ 5042}#)))
(#{global-extend\ 3793}#
'core
'let
(letrec ((#{chi-let\ 5064}#
(lambda (#{e\ 5065}#
#{r\ 5066}#
#{w\ 5067}#
#{s\ 5068}#
#{mod\ 5069}#
#{constructor\ 5070}#
#{ids\ 5071}#
#{vals\ 5072}#
#{exps\ 5073}#)
(if (not (#{valid-bound-ids?\ 3820}# #{ids\ 5071}#))
(syntax-violation
'let
"duplicate bound variable"
#{e\ 5065}#)
(let ((#{labels\ 5074}#
(#{gen-labels\ 3801}# #{ids\ 5071}#))
(#{new-vars\ 5075}#
(map #{gen-var\ 3845}# #{ids\ 5071}#)))
(let ((#{nw\ 5076}#
(#{make-binding-wrap\ 3812}#
#{ids\ 5071}#
#{labels\ 5074}#
#{w\ 5067}#))
(#{nr\ 5077}#
(#{extend-var-env\ 3790}#
#{labels\ 5074}#
#{new-vars\ 5075}#
#{r\ 5066}#)))
(#{constructor\ 5070}#
#{s\ 5068}#
(map syntax->datum #{ids\ 5071}#)
#{new-vars\ 5075}#
(map (lambda (#{x\ 5078}#)
(#{chi\ 3831}#
#{x\ 5078}#
#{r\ 5066}#
#{w\ 5067}#
#{mod\ 5069}#))
#{vals\ 5072}#)
(#{chi-body\ 3835}#
#{exps\ 5073}#
(#{source-wrap\ 3824}#
#{e\ 5065}#
#{nw\ 5076}#
#{s\ 5068}#
#{mod\ 5069}#)
#{nr\ 5077}#
#{nw\ 5076}#
#{mod\ 5069}#))))))))
(lambda (#{e\ 5079}#
#{r\ 5080}#
#{w\ 5081}#
#{s\ 5082}#
#{mod\ 5083}#)
((lambda (#{tmp\ 5084}#)
((lambda (#{tmp\ 5085}#)
(if (if #{tmp\ 5085}#
(apply (lambda (#{_\ 5086}#
#{id\ 5087}#
#{val\ 5088}#
#{e1\ 5089}#
#{e2\ 5090}#)
(and-map #{id?\ 3795}# #{id\ 5087}#))
#{tmp\ 5085}#)
#f)
(apply (lambda (#{_\ 5092}#
#{id\ 5093}#
#{val\ 5094}#
#{e1\ 5095}#
#{e2\ 5096}#)
(#{chi-let\ 5064}#
#{e\ 5079}#
#{r\ 5080}#
#{w\ 5081}#
#{s\ 5082}#
#{mod\ 5083}#
#{build-let\ 3775}#
#{id\ 5093}#
#{val\ 5094}#
(cons #{e1\ 5095}# #{e2\ 5096}#)))
#{tmp\ 5085}#)
((lambda (#{tmp\ 5100}#)
(if (if #{tmp\ 5100}#
(apply (lambda (#{_\ 5101}#
#{f\ 5102}#
#{id\ 5103}#
#{val\ 5104}#
#{e1\ 5105}#
#{e2\ 5106}#)
(if (#{id?\ 3795}# #{f\ 5102}#)
(and-map #{id?\ 3795}# #{id\ 5103}#)
#f))
#{tmp\ 5100}#)
#f)
(apply (lambda (#{_\ 5108}#
#{f\ 5109}#
#{id\ 5110}#
#{val\ 5111}#
#{e1\ 5112}#
#{e2\ 5113}#)
(#{chi-let\ 5064}#
#{e\ 5079}#
#{r\ 5080}#
#{w\ 5081}#
#{s\ 5082}#
#{mod\ 5083}#
#{build-named-let\ 3776}#
(cons #{f\ 5109}# #{id\ 5110}#)
#{val\ 5111}#
(cons #{e1\ 5112}# #{e2\ 5113}#)))
#{tmp\ 5100}#)
((lambda (#{_\ 5117}#)
(syntax-violation
'let
"bad let"
(#{source-wrap\ 3824}#
#{e\ 5079}#
#{w\ 5081}#
#{s\ 5082}#
#{mod\ 5083}#)))
#{tmp\ 5084}#)))
($sc-dispatch
#{tmp\ 5084}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 5084}#
'(any #(each (any any)) any . each-any))))
#{e\ 5079}#))))
(#{global-extend\ 3793}#
'core
'letrec
(lambda (#{e\ 5118}#
#{r\ 5119}#
#{w\ 5120}#
#{s\ 5121}#
#{mod\ 5122}#)
((lambda (#{tmp\ 5123}#)
((lambda (#{tmp\ 5124}#)
(if (if #{tmp\ 5124}#
(apply (lambda (#{_\ 5125}#
#{id\ 5126}#
#{val\ 5127}#
#{e1\ 5128}#
#{e2\ 5129}#)
(and-map #{id?\ 3795}# #{id\ 5126}#))
#{tmp\ 5124}#)
#f)
(apply (lambda (#{_\ 5131}#
#{id\ 5132}#
#{val\ 5133}#
#{e1\ 5134}#
#{e2\ 5135}#)
(let ((#{ids\ 5136}# #{id\ 5132}#))
(if (not (#{valid-bound-ids?\ 3820}#
#{ids\ 5136}#))
(syntax-violation
'letrec
"duplicate bound variable"
#{e\ 5118}#)
(let ((#{labels\ 5138}#
(#{gen-labels\ 3801}# #{ids\ 5136}#))
(#{new-vars\ 5139}#
(map #{gen-var\ 3845}# #{ids\ 5136}#)))
(let ((#{w\ 5140}#
(#{make-binding-wrap\ 3812}#
#{ids\ 5136}#
#{labels\ 5138}#
#{w\ 5120}#))
(#{r\ 5141}#
(#{extend-var-env\ 3790}#
#{labels\ 5138}#
#{new-vars\ 5139}#
#{r\ 5119}#)))
(#{build-letrec\ 3777}#
#{s\ 5121}#
(map syntax->datum #{ids\ 5136}#)
#{new-vars\ 5139}#
(map (lambda (#{x\ 5142}#)
(#{chi\ 3831}#
#{x\ 5142}#
#{r\ 5141}#
#{w\ 5140}#
#{mod\ 5122}#))
#{val\ 5133}#)
(#{chi-body\ 3835}#
(cons #{e1\ 5134}# #{e2\ 5135}#)
(#{source-wrap\ 3824}#
#{e\ 5118}#
#{w\ 5140}#
#{s\ 5121}#
#{mod\ 5122}#)
#{r\ 5141}#
#{w\ 5140}#
#{mod\ 5122}#)))))))
#{tmp\ 5124}#)
((lambda (#{_\ 5145}#)
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 3824}#
#{e\ 5118}#
#{w\ 5120}#
#{s\ 5121}#
#{mod\ 5122}#)))
#{tmp\ 5123}#)))
($sc-dispatch
#{tmp\ 5123}#
'(any #(each (any any)) any . each-any))))
#{e\ 5118}#)))
(#{global-extend\ 3793}#
'core
'set!
(lambda (#{e\ 5146}#
#{r\ 5147}#
#{w\ 5148}#
#{s\ 5149}#
#{mod\ 5150}#)
((lambda (#{tmp\ 5151}#)
((lambda (#{tmp\ 5152}#)
(if (if #{tmp\ 5152}#
(apply (lambda (#{_\ 5153}# #{id\ 5154}# #{val\ 5155}#)
(#{id?\ 3795}# #{id\ 5154}#))
#{tmp\ 5152}#)
#f)
(apply (lambda (#{_\ 5156}# #{id\ 5157}# #{val\ 5158}#)
(let ((#{val\ 5159}#
(#{chi\ 3831}#
#{val\ 5158}#
#{r\ 5147}#
#{w\ 5148}#
#{mod\ 5150}#))
(#{n\ 5160}#
(#{id-var-name\ 3817}#
#{id\ 5157}#
#{w\ 5148}#)))
(let ((#{b\ 5161}#
(#{lookup\ 3792}#
#{n\ 5160}#
#{r\ 5147}#
#{mod\ 5150}#)))
(let ((#{atom-key\ 5162}#
(#{binding-type\ 3787}# #{b\ 5161}#)))
(if (memv #{atom-key\ 5162}#
'(lexical))
(#{build-lexical-assignment\ 3763}#
#{s\ 5149}#
(syntax->datum #{id\ 5157}#)
(#{binding-value\ 3788}# #{b\ 5161}#)
#{val\ 5159}#)
(if (memv #{atom-key\ 5162}#
'(global))
(#{build-global-assignment\ 3766}#
#{s\ 5149}#
#{n\ 5160}#
#{val\ 5159}#
#{mod\ 5150}#)
(if (memv #{atom-key\ 5162}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 3823}#
#{id\ 5157}#
#{w\ 5148}#
#{mod\ 5150}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 3824}#
#{e\ 5146}#
#{w\ 5148}#
#{s\ 5149}#
#{mod\ 5150}#)))))))))
#{tmp\ 5152}#)
((lambda (#{tmp\ 5163}#)
(if #{tmp\ 5163}#
(apply (lambda (#{_\ 5164}#
#{head\ 5165}#
#{tail\ 5166}#
#{val\ 5167}#)
(call-with-values
(lambda ()
(#{syntax-type\ 3829}#
#{head\ 5165}#
#{r\ 5147}#
'(())
#f
#f
#{mod\ 5150}#
#t))
(lambda (#{type\ 5168}#
#{value\ 5169}#
#{ee\ 5170}#
#{ww\ 5171}#
#{ss\ 5172}#
#{modmod\ 5173}#)
(if (memv #{type\ 5168}#
'(module-ref))
(let ((#{val\ 5174}#
(#{chi\ 3831}#
#{val\ 5167}#
#{r\ 5147}#
#{w\ 5148}#
#{mod\ 5150}#)))
(call-with-values
(lambda ()
(#{value\ 5169}#
(cons #{head\ 5165}#
#{tail\ 5166}#)))
(lambda (#{id\ 5176}# #{mod\ 5177}#)
(#{build-global-assignment\ 3766}#
#{s\ 5149}#
#{id\ 5176}#
#{val\ 5174}#
#{mod\ 5177}#))))
(#{build-application\ 3760}#
#{s\ 5149}#
(#{chi\ 3831}#
(list '#(syntax-object
setter
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(type
value
ee
ww
ss
modmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
#(_ head tail val)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e r w s mod)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{head\ 5165}#)
#{r\ 5147}#
#{w\ 5148}#
#{mod\ 5150}#)
(map (lambda (#{e\ 5178}#)
(#{chi\ 3831}#
#{e\ 5178}#
#{r\ 5147}#
#{w\ 5148}#
#{mod\ 5150}#))
(append
#{tail\ 5166}#
(list #{val\ 5167}#))))))))
#{tmp\ 5163}#)
((lambda (#{_\ 5180}#)
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 3824}#
#{e\ 5146}#
#{w\ 5148}#
#{s\ 5149}#
#{mod\ 5150}#)))
#{tmp\ 5151}#)))
($sc-dispatch
#{tmp\ 5151}#
'(any (any . each-any) any)))))
($sc-dispatch
#{tmp\ 5151}#
'(any any any))))
#{e\ 5146}#)))
(#{global-extend\ 3793}#
'module-ref
'@
(lambda (#{e\ 5181}#)
((lambda (#{tmp\ 5182}#)
((lambda (#{tmp\ 5183}#)
(if (if #{tmp\ 5183}#
(apply (lambda (#{_\ 5184}# #{mod\ 5185}# #{id\ 5186}#)
(if (and-map #{id?\ 3795}# #{mod\ 5185}#)
(#{id?\ 3795}# #{id\ 5186}#)
#f))
#{tmp\ 5183}#)
#f)
(apply (lambda (#{_\ 5188}# #{mod\ 5189}# #{id\ 5190}#)
(values
(syntax->datum #{id\ 5190}#)
(syntax->datum
(cons '#(syntax-object
public
((top)
#(ribcage
#(_ mod id)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(e) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{mod\ 5189}#))))
#{tmp\ 5183}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5182}#)))
($sc-dispatch
#{tmp\ 5182}#
'(any each-any any))))
#{e\ 5181}#)))
(#{global-extend\ 3793}#
'module-ref
'@@
(lambda (#{e\ 5192}#)
((lambda (#{tmp\ 5193}#)
((lambda (#{tmp\ 5194}#)
(if (if #{tmp\ 5194}#
(apply (lambda (#{_\ 5195}# #{mod\ 5196}# #{id\ 5197}#)
(if (and-map #{id?\ 3795}# #{mod\ 5196}#)
(#{id?\ 3795}# #{id\ 5197}#)
#f))
#{tmp\ 5194}#)
#f)
(apply (lambda (#{_\ 5199}# #{mod\ 5200}# #{id\ 5201}#)
(values
(syntax->datum #{id\ 5201}#)
(syntax->datum
(cons '#(syntax-object
private
((top)
#(ribcage
#(_ mod id)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(e) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{mod\ 5200}#))))
#{tmp\ 5194}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5193}#)))
($sc-dispatch
#{tmp\ 5193}#
'(any each-any any))))
#{e\ 5192}#)))
(#{global-extend\ 3793}#
'core
'if
(lambda (#{e\ 5203}#
#{r\ 5204}#
#{w\ 5205}#
#{s\ 5206}#
#{mod\ 5207}#)
((lambda (#{tmp\ 5208}#)
((lambda (#{tmp\ 5209}#)
(if #{tmp\ 5209}#
(apply (lambda (#{_\ 5210}# #{test\ 5211}# #{then\ 5212}#)
(#{build-conditional\ 3761}#
#{s\ 5206}#
(#{chi\ 3831}#
#{test\ 5211}#
#{r\ 5204}#
#{w\ 5205}#
#{mod\ 5207}#)
(#{chi\ 3831}#
#{then\ 5212}#
#{r\ 5204}#
#{w\ 5205}#
#{mod\ 5207}#)
(#{build-void\ 3759}# #f)))
#{tmp\ 5209}#)
((lambda (#{tmp\ 5213}#)
(if #{tmp\ 5213}#
(apply (lambda (#{_\ 5214}#
#{test\ 5215}#
#{then\ 5216}#
#{else\ 5217}#)
(#{build-conditional\ 3761}#
#{s\ 5206}#
(#{chi\ 3831}#
#{test\ 5215}#
#{r\ 5204}#
#{w\ 5205}#
#{mod\ 5207}#)
(#{chi\ 3831}#
#{then\ 5216}#
#{r\ 5204}#
#{w\ 5205}#
#{mod\ 5207}#)
(#{chi\ 3831}#
#{else\ 5217}#
#{r\ 5204}#
#{w\ 5205}#
#{mod\ 5207}#)))
#{tmp\ 5213}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5208}#)))
($sc-dispatch
#{tmp\ 5208}#
'(any any any any)))))
($sc-dispatch
#{tmp\ 5208}#
'(any any any))))
#{e\ 5203}#)))
(#{global-extend\ 3793}#
'begin
'begin
'())
(#{global-extend\ 3793}#
'define
'define
'())
(#{global-extend\ 3793}#
'define-syntax
'define-syntax
'())
(#{global-extend\ 3793}#
'eval-when
'eval-when
'())
(#{global-extend\ 3793}#
'core
'syntax-case
(letrec ((#{gen-syntax-case\ 5221}#
(lambda (#{x\ 5222}#
#{keys\ 5223}#
#{clauses\ 5224}#
#{r\ 5225}#
#{mod\ 5226}#)
(if (null? #{clauses\ 5224}#)
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'syntax-violation)
(list (#{build-data\ 3773}# #f #f)
(#{build-data\ 3773}#
#f
"source expression failed to match any pattern")
#{x\ 5222}#))
((lambda (#{tmp\ 5227}#)
((lambda (#{tmp\ 5228}#)
(if #{tmp\ 5228}#
(apply (lambda (#{pat\ 5229}# #{exp\ 5230}#)
(if (if (#{id?\ 3795}# #{pat\ 5229}#)
(and-map
(lambda (#{x\ 5231}#)
(not (#{free-id=?\ 3818}#
#{pat\ 5229}#
#{x\ 5231}#)))
(cons '#(syntax-object
...
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x
keys
clauses
r
mod)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top)
(top)
(top)
(top))
("i" "i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{keys\ 5223}#))
#f)
(let ((#{labels\ 5232}#
(list (#{gen-label\ 3800}#)))
(#{var\ 5233}#
(#{gen-var\ 3845}#
#{pat\ 5229}#)))
(#{build-application\ 3760}#
#f
(#{build-simple-lambda\ 3769}#
#f
(list (syntax->datum
#{pat\ 5229}#))
#f
(list #{var\ 5233}#)
#f
(#{chi\ 3831}#
#{exp\ 5230}#
(#{extend-env\ 3789}#
#{labels\ 5232}#
(list (cons 'syntax
(cons #{var\ 5233}#
0)))
#{r\ 5225}#)
(#{make-binding-wrap\ 3812}#
(list #{pat\ 5229}#)
#{labels\ 5232}#
'(()))
#{mod\ 5226}#))
(list #{x\ 5222}#)))
(#{gen-clause\ 5220}#
#{x\ 5222}#
#{keys\ 5223}#
(cdr #{clauses\ 5224}#)
#{r\ 5225}#
#{pat\ 5229}#
#t
#{exp\ 5230}#
#{mod\ 5226}#)))
#{tmp\ 5228}#)
((lambda (#{tmp\ 5234}#)
(if #{tmp\ 5234}#
(apply (lambda (#{pat\ 5235}#
#{fender\ 5236}#
#{exp\ 5237}#)
(#{gen-clause\ 5220}#
#{x\ 5222}#
#{keys\ 5223}#
(cdr #{clauses\ 5224}#)
#{r\ 5225}#
#{pat\ 5235}#
#{fender\ 5236}#
#{exp\ 5237}#
#{mod\ 5226}#))
#{tmp\ 5234}#)
((lambda (#{_\ 5238}#)
(syntax-violation
'syntax-case
"invalid clause"
(car #{clauses\ 5224}#)))
#{tmp\ 5227}#)))
($sc-dispatch
#{tmp\ 5227}#
'(any any any)))))
($sc-dispatch #{tmp\ 5227}# (quote (any any)))))
(car #{clauses\ 5224}#)))))
(#{gen-clause\ 5220}#
(lambda (#{x\ 5239}#
#{keys\ 5240}#
#{clauses\ 5241}#
#{r\ 5242}#
#{pat\ 5243}#
#{fender\ 5244}#
#{exp\ 5245}#
#{mod\ 5246}#)
(call-with-values
(lambda ()
(#{convert-pattern\ 5218}#
#{pat\ 5243}#
#{keys\ 5240}#))
(lambda (#{p\ 5247}# #{pvars\ 5248}#)
(if (not (#{distinct-bound-ids?\ 3821}#
(map car #{pvars\ 5248}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
#{pat\ 5243}#)
(if (not (and-map
(lambda (#{x\ 5249}#)
(not (#{ellipsis?\ 3839}#
(car #{x\ 5249}#))))
#{pvars\ 5248}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
#{pat\ 5243}#)
(let ((#{y\ 5250}#
(#{gen-var\ 3845}# (quote tmp))))
(#{build-application\ 3760}#
#f
(#{build-simple-lambda\ 3769}#
#f
(list (quote tmp))
#f
(list #{y\ 5250}#)
#f
(let ((#{y\ 5251}#
(#{build-lexical-reference\ 3762}#
'value
#f
'tmp
#{y\ 5250}#)))
(#{build-conditional\ 3761}#
#f
((lambda (#{tmp\ 5252}#)
((lambda (#{tmp\ 5253}#)
(if #{tmp\ 5253}#
(apply (lambda () #{y\ 5251}#)
#{tmp\ 5253}#)
((lambda (#{_\ 5254}#)
(#{build-conditional\ 3761}#
#f
#{y\ 5251}#
(#{build-dispatch-call\ 5219}#
#{pvars\ 5248}#
#{fender\ 5244}#
#{y\ 5251}#
#{r\ 5242}#
#{mod\ 5246}#)
(#{build-data\ 3773}#
#f
#f)))
#{tmp\ 5252}#)))
($sc-dispatch
#{tmp\ 5252}#
'#(atom #t))))
#{fender\ 5244}#)
(#{build-dispatch-call\ 5219}#
#{pvars\ 5248}#
#{exp\ 5245}#
#{y\ 5251}#
#{r\ 5242}#
#{mod\ 5246}#)
(#{gen-syntax-case\ 5221}#
#{x\ 5239}#
#{keys\ 5240}#
#{clauses\ 5241}#
#{r\ 5242}#
#{mod\ 5246}#))))
(list (if (eq? #{p\ 5247}# (quote any))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'list)
(list #{x\ 5239}#))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}#
#f
'$sc-dispatch)
(list #{x\ 5239}#
(#{build-data\ 3773}#
#f
#{p\ 5247}#)))))))))))))
(#{build-dispatch-call\ 5219}#
(lambda (#{pvars\ 5255}#
#{exp\ 5256}#
#{y\ 5257}#
#{r\ 5258}#
#{mod\ 5259}#)
(let ((#{ids\ 5260}# (map car #{pvars\ 5255}#))
(#{levels\ 5261}# (map cdr #{pvars\ 5255}#)))
(let ((#{labels\ 5262}#
(#{gen-labels\ 3801}# #{ids\ 5260}#))
(#{new-vars\ 5263}#
(map #{gen-var\ 3845}# #{ids\ 5260}#)))
(#{build-application\ 3760}#
#f
(#{build-primref\ 3772}# #f (quote apply))
(list (#{build-simple-lambda\ 3769}#
#f
(map syntax->datum #{ids\ 5260}#)
#f
#{new-vars\ 5263}#
#f
(#{chi\ 3831}#
#{exp\ 5256}#
(#{extend-env\ 3789}#
#{labels\ 5262}#
(map (lambda (#{var\ 5264}#
#{level\ 5265}#)
(cons 'syntax
(cons #{var\ 5264}#
#{level\ 5265}#)))
#{new-vars\ 5263}#
(map cdr #{pvars\ 5255}#))
#{r\ 5258}#)
(#{make-binding-wrap\ 3812}#
#{ids\ 5260}#
#{labels\ 5262}#
'(()))
#{mod\ 5259}#))
#{y\ 5257}#))))))
(#{convert-pattern\ 5218}#
(lambda (#{pattern\ 5266}# #{keys\ 5267}#)
(letrec ((#{cvt\ 5268}#
(lambda (#{p\ 5269}# #{n\ 5270}# #{ids\ 5271}#)
(if (#{id?\ 3795}# #{p\ 5269}#)
(if (#{bound-id-member?\ 3822}#
#{p\ 5269}#
#{keys\ 5267}#)
(values
(vector (quote free-id) #{p\ 5269}#)
#{ids\ 5271}#)
(values
'any
(cons (cons #{p\ 5269}# #{n\ 5270}#)
#{ids\ 5271}#)))
((lambda (#{tmp\ 5272}#)
((lambda (#{tmp\ 5273}#)
(if (if #{tmp\ 5273}#
(apply (lambda (#{x\ 5274}#
#{dots\ 5275}#)
(#{ellipsis?\ 3839}#
#{dots\ 5275}#))
#{tmp\ 5273}#)
#f)
(apply (lambda (#{x\ 5276}#
#{dots\ 5277}#)
(call-with-values
(lambda ()
(#{cvt\ 5268}#
#{x\ 5276}#
(#{fx+\ 3750}#
#{n\ 5270}#
1)
#{ids\ 5271}#))
(lambda (#{p\ 5278}#
#{ids\ 5279}#)
(values
(if (eq? #{p\ 5278}#
'any)
'each-any
(vector
'each
#{p\ 5278}#))
#{ids\ 5279}#))))
#{tmp\ 5273}#)
((lambda (#{tmp\ 5280}#)
(if #{tmp\ 5280}#
(apply (lambda (#{x\ 5281}#
#{y\ 5282}#)
(call-with-values
(lambda ()
(#{cvt\ 5268}#
#{y\ 5282}#
#{n\ 5270}#
#{ids\ 5271}#))
(lambda (#{y\ 5283}#
#{ids\ 5284}#)
(call-with-values
(lambda ()
(#{cvt\ 5268}#
#{x\ 5281}#
#{n\ 5270}#
#{ids\ 5284}#))
(lambda (#{x\ 5285}#
#{ids\ 5286}#)
(values
(cons #{x\ 5285}#
#{y\ 5283}#)
#{ids\ 5286}#))))))
#{tmp\ 5280}#)
((lambda (#{tmp\ 5287}#)
(if #{tmp\ 5287}#
(apply (lambda ()
(values
'()
#{ids\ 5271}#))
#{tmp\ 5287}#)
((lambda (#{tmp\ 5288}#)
(if #{tmp\ 5288}#
(apply (lambda (#{x\ 5289}#)
(call-with-values
(lambda ()
(#{cvt\ 5268}#
#{x\ 5289}#
#{n\ 5270}#
#{ids\ 5271}#))
(lambda (#{p\ 5291}#
#{ids\ 5292}#)
(values
(vector
'vector
#{p\ 5291}#)
#{ids\ 5292}#))))
#{tmp\ 5288}#)
((lambda (#{x\ 5293}#)
(values
(vector
'atom
(#{strip\ 3844}#
#{p\ 5269}#
'(())))
#{ids\ 5271}#))
#{tmp\ 5272}#)))
($sc-dispatch
#{tmp\ 5272}#
'#(vector
each-any)))))
($sc-dispatch
#{tmp\ 5272}#
'()))))
($sc-dispatch
#{tmp\ 5272}#
'(any . any)))))
($sc-dispatch
#{tmp\ 5272}#
'(any any))))
#{p\ 5269}#)))))
(#{cvt\ 5268}# #{pattern\ 5266}# 0 (quote ()))))))
(lambda (#{e\ 5294}#
#{r\ 5295}#
#{w\ 5296}#
#{s\ 5297}#
#{mod\ 5298}#)
(let ((#{e\ 5299}#
(#{source-wrap\ 3824}#
#{e\ 5294}#
#{w\ 5296}#
#{s\ 5297}#
#{mod\ 5298}#)))
((lambda (#{tmp\ 5300}#)
((lambda (#{tmp\ 5301}#)
(if #{tmp\ 5301}#
(apply (lambda (#{_\ 5302}#
#{val\ 5303}#
#{key\ 5304}#
#{m\ 5305}#)
(if (and-map
(lambda (#{x\ 5306}#)
(if (#{id?\ 3795}# #{x\ 5306}#)
(not (#{ellipsis?\ 3839}#
#{x\ 5306}#))
#f))
#{key\ 5304}#)
(let ((#{x\ 5308}#
(#{gen-var\ 3845}# (quote tmp))))
(#{build-application\ 3760}#
#{s\ 5297}#
(#{build-simple-lambda\ 3769}#
#f
(list (quote tmp))
#f
(list #{x\ 5308}#)
#f
(#{gen-syntax-case\ 5221}#
(#{build-lexical-reference\ 3762}#
'value
#f
'tmp
#{x\ 5308}#)
#{key\ 5304}#
#{m\ 5305}#
#{r\ 5295}#
#{mod\ 5298}#))
(list (#{chi\ 3831}#
#{val\ 5303}#
#{r\ 5295}#
'(())
#{mod\ 5298}#))))
(syntax-violation
'syntax-case
"invalid literals list"
#{e\ 5299}#)))
#{tmp\ 5301}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5300}#)))
($sc-dispatch
#{tmp\ 5300}#
'(any any each-any . each-any))))
#{e\ 5299}#)))))
(set! sc-expand
(lambda (#{x\ 5311}# . #{rest\ 5312}#)
(if (if (pair? #{x\ 5311}#)
(equal? (car #{x\ 5311}#) #{noexpand\ 3748}#)
#f)
(cadr #{x\ 5311}#)
(let ((#{m\ 5313}#
(if (null? #{rest\ 5312}#)
'e
(car #{rest\ 5312}#)))
(#{esew\ 5314}#
(if (let ((#{t\ 5315}# (null? #{rest\ 5312}#)))
(if #{t\ 5315}#
#{t\ 5315}#
(null? (cdr #{rest\ 5312}#))))
'(eval)
(cadr #{rest\ 5312}#))))
(with-fluid*
#{*mode*\ 3749}#
#{m\ 5313}#
(lambda ()
(#{chi-top\ 3830}#
#{x\ 5311}#
'()
'((top))
#{m\ 5313}#
#{esew\ 5314}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
(lambda (#{x\ 5316}#)
(#{nonsymbol-id?\ 3794}# #{x\ 5316}#)))
(set! datum->syntax
(lambda (#{id\ 5317}# #{datum\ 5318}#)
(#{make-syntax-object\ 3778}#
#{datum\ 5318}#
(#{syntax-object-wrap\ 3781}# #{id\ 5317}#)
#f)))
(set! syntax->datum
(lambda (#{x\ 5319}#)
(#{strip\ 3844}# #{x\ 5319}# (quote (())))))
(set! generate-temporaries
(lambda (#{ls\ 5320}#)
(begin
(let ((#{x\ 5321}# #{ls\ 5320}#))
(if (not (list? #{x\ 5321}#))
(syntax-violation
'generate-temporaries
"invalid argument"
#{x\ 5321}#)))
(map (lambda (#{x\ 5322}#)
(#{wrap\ 3823}# (gensym) (quote ((top))) #f))
#{ls\ 5320}#))))
(set! free-identifier=?
(lambda (#{x\ 5323}# #{y\ 5324}#)
(begin
(let ((#{x\ 5325}# #{x\ 5323}#))
(if (not (#{nonsymbol-id?\ 3794}# #{x\ 5325}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 5325}#)))
(let ((#{x\ 5326}# #{y\ 5324}#))
(if (not (#{nonsymbol-id?\ 3794}# #{x\ 5326}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 5326}#)))
(#{free-id=?\ 3818}# #{x\ 5323}# #{y\ 5324}#))))
(set! bound-identifier=?
(lambda (#{x\ 5327}# #{y\ 5328}#)
(begin
(let ((#{x\ 5329}# #{x\ 5327}#))
(if (not (#{nonsymbol-id?\ 3794}# #{x\ 5329}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 5329}#)))
(let ((#{x\ 5330}# #{y\ 5328}#))
(if (not (#{nonsymbol-id?\ 3794}# #{x\ 5330}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 5330}#)))
(#{bound-id=?\ 3819}# #{x\ 5327}# #{y\ 5328}#))))
(set! syntax-violation
(lambda (#{who\ 5331}#
#{message\ 5332}#
#{form\ 5333}#
.
#{subform\ 5334}#)
(begin
(let ((#{x\ 5335}# #{who\ 5331}#))
(if (not ((lambda (#{x\ 5336}#)
(let ((#{t\ 5337}# (not #{x\ 5336}#)))
(if #{t\ 5337}#
#{t\ 5337}#
(let ((#{t\ 5338}# (string? #{x\ 5336}#)))
(if #{t\ 5338}#
#{t\ 5338}#
(symbol? #{x\ 5336}#))))))
#{x\ 5335}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 5335}#)))
(let ((#{x\ 5339}# #{message\ 5332}#))
(if (not (string? #{x\ 5339}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 5339}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
(if #{who\ 5331}# "~a: " "")
"~a "
(if (null? #{subform\ 5334}#)
"in ~a"
"in subform `~s' of `~s'"))
(let ((#{tail\ 5340}#
(cons #{message\ 5332}#
(map (lambda (#{x\ 5341}#)
(#{strip\ 3844}# #{x\ 5341}# (quote (()))))
(append
#{subform\ 5334}#
(list #{form\ 5333}#))))))
(if #{who\ 5331}#
(cons #{who\ 5331}# #{tail\ 5340}#)
#{tail\ 5340}#))
#f))))
(letrec ((#{match\ 5346}#
(lambda (#{e\ 5347}#
#{p\ 5348}#
#{w\ 5349}#
#{r\ 5350}#
#{mod\ 5351}#)
(if (not #{r\ 5350}#)
#f
(if (eq? #{p\ 5348}# (quote any))
(cons (#{wrap\ 3823}#
#{e\ 5347}#
#{w\ 5349}#
#{mod\ 5351}#)
#{r\ 5350}#)
(if (#{syntax-object?\ 3779}# #{e\ 5347}#)
(#{match*\ 5345}#
(#{syntax-object-expression\ 3780}# #{e\ 5347}#)
#{p\ 5348}#
(#{join-wraps\ 3814}#
#{w\ 5349}#
(#{syntax-object-wrap\ 3781}# #{e\ 5347}#))
#{r\ 5350}#
(#{syntax-object-module\ 3782}# #{e\ 5347}#))
(#{match*\ 5345}#
#{e\ 5347}#
#{p\ 5348}#
#{w\ 5349}#
#{r\ 5350}#
#{mod\ 5351}#))))))
(#{match*\ 5345}#
(lambda (#{e\ 5352}#
#{p\ 5353}#
#{w\ 5354}#
#{r\ 5355}#
#{mod\ 5356}#)
(if (null? #{p\ 5353}#)
(if (null? #{e\ 5352}#) #{r\ 5355}# #f)
(if (pair? #{p\ 5353}#)
(if (pair? #{e\ 5352}#)
(#{match\ 5346}#
(car #{e\ 5352}#)
(car #{p\ 5353}#)
#{w\ 5354}#
(#{match\ 5346}#
(cdr #{e\ 5352}#)
(cdr #{p\ 5353}#)
#{w\ 5354}#
#{r\ 5355}#
#{mod\ 5356}#)
#{mod\ 5356}#)
#f)
(if (eq? #{p\ 5353}# (quote each-any))
(let ((#{l\ 5357}#
(#{match-each-any\ 5343}#
#{e\ 5352}#
#{w\ 5354}#
#{mod\ 5356}#)))
(if #{l\ 5357}#
(cons #{l\ 5357}# #{r\ 5355}#)
#f))
(let ((#{atom-key\ 5358}# (vector-ref #{p\ 5353}# 0)))
(if (memv #{atom-key\ 5358}# (quote (each)))
(if (null? #{e\ 5352}#)
(#{match-empty\ 5344}#
(vector-ref #{p\ 5353}# 1)
#{r\ 5355}#)
(let ((#{l\ 5359}#
(#{match-each\ 5342}#
#{e\ 5352}#
(vector-ref #{p\ 5353}# 1)
#{w\ 5354}#
#{mod\ 5356}#)))
(if #{l\ 5359}#
(letrec ((#{collect\ 5360}#
(lambda (#{l\ 5361}#)
(if (null? (car #{l\ 5361}#))
#{r\ 5355}#
(cons (map car #{l\ 5361}#)
(#{collect\ 5360}#
(map cdr
#{l\ 5361}#)))))))
(#{collect\ 5360}# #{l\ 5359}#))
#f)))
(if (memv #{atom-key\ 5358}# (quote (free-id)))
(if (#{id?\ 3795}# #{e\ 5352}#)
(if (#{free-id=?\ 3818}#
(#{wrap\ 3823}#
#{e\ 5352}#
#{w\ 5354}#
#{mod\ 5356}#)
(vector-ref #{p\ 5353}# 1))
#{r\ 5355}#
#f)
#f)
(if (memv #{atom-key\ 5358}# (quote (atom)))
(if (equal?
(vector-ref #{p\ 5353}# 1)
(#{strip\ 3844}#
#{e\ 5352}#
#{w\ 5354}#))
#{r\ 5355}#
#f)
(if (memv #{atom-key\ 5358}# (quote (vector)))
(if (vector? #{e\ 5352}#)
(#{match\ 5346}#
(vector->list #{e\ 5352}#)
(vector-ref #{p\ 5353}# 1)
#{w\ 5354}#
#{r\ 5355}#
#{mod\ 5356}#)
#f)))))))))))
(#{match-empty\ 5344}#
(lambda (#{p\ 5362}# #{r\ 5363}#)
(if (null? #{p\ 5362}#)
#{r\ 5363}#
(if (eq? #{p\ 5362}# (quote any))
(cons (quote ()) #{r\ 5363}#)
(if (pair? #{p\ 5362}#)
(#{match-empty\ 5344}#
(car #{p\ 5362}#)
(#{match-empty\ 5344}#
(cdr #{p\ 5362}#)
#{r\ 5363}#))
(if (eq? #{p\ 5362}# (quote each-any))
(cons (quote ()) #{r\ 5363}#)
(let ((#{atom-key\ 5364}#
(vector-ref #{p\ 5362}# 0)))
(if (memv #{atom-key\ 5364}# (quote (each)))
(#{match-empty\ 5344}#
(vector-ref #{p\ 5362}# 1)
#{r\ 5363}#)
(if (memv #{atom-key\ 5364}#
'(free-id atom))
#{r\ 5363}#
(if (memv #{atom-key\ 5364}# (quote (vector)))
(#{match-empty\ 5344}#
(vector-ref #{p\ 5362}# 1)
#{r\ 5363}#)))))))))))
(#{match-each-any\ 5343}#
(lambda (#{e\ 5365}# #{w\ 5366}# #{mod\ 5367}#)
(if (pair? #{e\ 5365}#)
(let ((#{l\ 5368}#
(#{match-each-any\ 5343}#
(cdr #{e\ 5365}#)
#{w\ 5366}#
#{mod\ 5367}#)))
(if #{l\ 5368}#
(cons (#{wrap\ 3823}#
(car #{e\ 5365}#)
#{w\ 5366}#
#{mod\ 5367}#)
#{l\ 5368}#)
#f))
(if (null? #{e\ 5365}#)
'()
(if (#{syntax-object?\ 3779}# #{e\ 5365}#)
(#{match-each-any\ 5343}#
(#{syntax-object-expression\ 3780}# #{e\ 5365}#)
(#{join-wraps\ 3814}#
#{w\ 5366}#
(#{syntax-object-wrap\ 3781}# #{e\ 5365}#))
#{mod\ 5367}#)
#f)))))
(#{match-each\ 5342}#
(lambda (#{e\ 5369}#
#{p\ 5370}#
#{w\ 5371}#
#{mod\ 5372}#)
(if (pair? #{e\ 5369}#)
(let ((#{first\ 5373}#
(#{match\ 5346}#
(car #{e\ 5369}#)
#{p\ 5370}#
#{w\ 5371}#
'()
#{mod\ 5372}#)))
(if #{first\ 5373}#
(let ((#{rest\ 5374}#
(#{match-each\ 5342}#
(cdr #{e\ 5369}#)
#{p\ 5370}#
#{w\ 5371}#
#{mod\ 5372}#)))
(if #{rest\ 5374}#
(cons #{first\ 5373}# #{rest\ 5374}#)
#f))
#f))
(if (null? #{e\ 5369}#)
'()
(if (#{syntax-object?\ 3779}# #{e\ 5369}#)
(#{match-each\ 5342}#
(#{syntax-object-expression\ 3780}# #{e\ 5369}#)
#{p\ 5370}#
(#{join-wraps\ 3814}#
#{w\ 5371}#
(#{syntax-object-wrap\ 3781}# #{e\ 5369}#))
(#{syntax-object-module\ 3782}# #{e\ 5369}#))
#f))))))
(set! $sc-dispatch
(lambda (#{e\ 5375}# #{p\ 5376}#)
(if (eq? #{p\ 5376}# (quote any))
(list #{e\ 5375}#)
(if (#{syntax-object?\ 3779}# #{e\ 5375}#)
(#{match*\ 5345}#
(#{syntax-object-expression\ 3780}# #{e\ 5375}#)
#{p\ 5376}#
(#{syntax-object-wrap\ 3781}# #{e\ 5375}#)
'()
(#{syntax-object-module\ 3782}# #{e\ 5375}#))
(#{match*\ 5345}#
#{e\ 5375}#
#{p\ 5376}#
'(())
'()
#f)))))))))
(define with-syntax
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5377}#)
((lambda (#{tmp\ 5378}#)
((lambda (#{tmp\ 5379}#)
(if #{tmp\ 5379}#
(apply (lambda (#{_\ 5380}# #{e1\ 5381}# #{e2\ 5382}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ e1 e2)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons #{e1\ 5381}# #{e2\ 5382}#)))
#{tmp\ 5379}#)
((lambda (#{tmp\ 5384}#)
(if #{tmp\ 5384}#
(apply (lambda (#{_\ 5385}#
#{out\ 5386}#
#{in\ 5387}#
#{e1\ 5388}#
#{e2\ 5389}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
#{in\ 5387}#
'()
(list #{out\ 5386}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e1\ 5388}#
#{e2\ 5389}#)))))
#{tmp\ 5384}#)
((lambda (#{tmp\ 5391}#)
(if #{tmp\ 5391}#
(apply (lambda (#{_\ 5392}#
#{out\ 5393}#
#{in\ 5394}#
#{e1\ 5395}#
#{e2\ 5396}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons '#(syntax-object
list
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{in\ 5394}#)
'()
(list #{out\ 5393}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_
out
in
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e1\ 5395}#
#{e2\ 5396}#)))))
#{tmp\ 5391}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5378}#)))
($sc-dispatch
#{tmp\ 5378}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 5378}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 5378}#
'(any () any . each-any))))
#{x\ 5377}#))
(module-name (current-module)))))
(define syntax-rules
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5400}#)
((lambda (#{tmp\ 5401}#)
((lambda (#{tmp\ 5402}#)
(if #{tmp\ 5402}#
(apply (lambda (#{_\ 5403}#
#{k\ 5404}#
#{keyword\ 5405}#
#{pattern\ 5406}#
#{template\ 5407}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile)))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons '#(syntax-object
x
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{k\ 5404}#
(map (lambda (#{tmp\ 5410}#
#{tmp\ 5409}#)
(list (cons '#(syntax-object
dummy
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{tmp\ 5409}#)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{tmp\ 5410}#)))
#{template\ 5407}#
#{pattern\ 5406}#))))))
#{tmp\ 5402}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5401}#)))
($sc-dispatch
#{tmp\ 5401}#
'(any each-any . #(each ((any . any) any))))))
#{x\ 5400}#))
(module-name (current-module)))))
(define let*
(make-extended-syncase-macro
(module-ref (current-module) (quote let*))
'macro
(cons (lambda (#{x\ 5411}#)
((lambda (#{tmp\ 5412}#)
((lambda (#{tmp\ 5413}#)
(if (if #{tmp\ 5413}#
(apply (lambda (#{let*\ 5414}#
#{x\ 5415}#
#{v\ 5416}#
#{e1\ 5417}#
#{e2\ 5418}#)
(and-map identifier? #{x\ 5415}#))
#{tmp\ 5413}#)
#f)
(apply (lambda (#{let*\ 5420}#
#{x\ 5421}#
#{v\ 5422}#
#{e1\ 5423}#
#{e2\ 5424}#)
(letrec ((#{f\ 5425}#
(lambda (#{bindings\ 5426}#)
(if (null? #{bindings\ 5426}#)
(cons '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("i" "i"))
#(ribcage
#(let* x v e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons '()
(cons #{e1\ 5423}#
#{e2\ 5424}#)))
((lambda (#{tmp\ 5430}#)
((lambda (#{tmp\ 5431}#)
(if #{tmp\ 5431}#
(apply (lambda (#{body\ 5432}#
#{binding\ 5433}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(body
binding)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
bindings)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(let*
x
v
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list #{binding\ 5433}#)
#{body\ 5432}#))
#{tmp\ 5431}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5430}#)))
($sc-dispatch
#{tmp\ 5430}#
'(any any))))
(list (#{f\ 5425}#
(cdr #{bindings\ 5426}#))
(car #{bindings\ 5426}#)))))))
(#{f\ 5425}#
(map list #{x\ 5421}# #{v\ 5422}#))))
#{tmp\ 5413}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5412}#)))
($sc-dispatch
#{tmp\ 5412}#
'(any #(each (any any)) any . each-any))))
#{x\ 5411}#))
(module-name (current-module)))))
(define do
(make-syncase-macro
'macro
(cons (lambda (#{orig-x\ 5434}#)
((lambda (#{tmp\ 5435}#)
((lambda (#{tmp\ 5436}#)
(if #{tmp\ 5436}#
(apply (lambda (#{_\ 5437}#
#{var\ 5438}#
#{init\ 5439}#
#{step\ 5440}#
#{e0\ 5441}#
#{e1\ 5442}#
#{c\ 5443}#)
((lambda (#{tmp\ 5444}#)
((lambda (#{tmp\ 5445}#)
(if #{tmp\ 5445}#
(apply (lambda (#{step\ 5446}#)
((lambda (#{tmp\ 5447}#)
((lambda (#{tmp\ 5448}#)
(if #{tmp\ 5448}#
(apply (lambda ()
(list '#(syntax-object
let
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(map list
#{var\ 5438}#
#{init\ 5439}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
not
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{e0\ 5441}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(append
#{c\ 5443}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{step\ 5446}#)))))))
#{tmp\ 5448}#)
((lambda (#{tmp\ 5453}#)
(if #{tmp\ 5453}#
(apply (lambda (#{e1\ 5454}#
#{e2\ 5455}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(map list
#{var\ 5438}#
#{init\ 5439}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{e0\ 5441}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 5454}#
#{e2\ 5455}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(append
#{c\ 5443}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{step\ 5446}#)))))))
#{tmp\ 5453}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5447}#)))
($sc-dispatch
#{tmp\ 5447}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 5447}#
'())))
#{e1\ 5442}#))
#{tmp\ 5445}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5444}#)))
($sc-dispatch
#{tmp\ 5444}#
'each-any)))
(map (lambda (#{v\ 5462}# #{s\ 5463}#)
((lambda (#{tmp\ 5464}#)
((lambda (#{tmp\ 5465}#)
(if #{tmp\ 5465}#
(apply (lambda () #{v\ 5462}#)
#{tmp\ 5465}#)
((lambda (#{tmp\ 5466}#)
(if #{tmp\ 5466}#
(apply (lambda (#{e\ 5467}#)
#{e\ 5467}#)
#{tmp\ 5466}#)
((lambda (#{_\ 5468}#)
(syntax-violation
'do
"bad step expression"
#{orig-x\ 5434}#
#{s\ 5463}#))
#{tmp\ 5464}#)))
($sc-dispatch
#{tmp\ 5464}#
'(any)))))
($sc-dispatch
#{tmp\ 5464}#
'())))
#{s\ 5463}#))
#{var\ 5438}#
#{step\ 5440}#)))
#{tmp\ 5436}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5435}#)))
($sc-dispatch
#{tmp\ 5435}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
#{orig-x\ 5434}#))
(module-name (current-module)))))
(define quasiquote
(make-syncase-macro
'macro
(cons (letrec ((#{quasicons\ 5471}#
(lambda (#{x\ 5475}# #{y\ 5476}#)
((lambda (#{tmp\ 5477}#)
((lambda (#{tmp\ 5478}#)
(if #{tmp\ 5478}#
(apply (lambda (#{x\ 5479}# #{y\ 5480}#)
((lambda (#{tmp\ 5481}#)
((lambda (#{tmp\ 5482}#)
(if #{tmp\ 5482}#
(apply (lambda (#{dy\ 5483}#)
((lambda (#{tmp\ 5484}#)
((lambda (#{tmp\ 5485}#)
(if #{tmp\ 5485}#
(apply (lambda (#{dx\ 5486}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(dx)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
(cons #{dx\ 5486}#
#{dy\ 5483}#)))
#{tmp\ 5485}#)
((lambda (#{_\ 5487}#)
(if (null? #{dy\ 5483}#)
(list '#(syntax-object
list
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 5479}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 5479}#
#{y\ 5480}#)))
#{tmp\ 5484}#)))
($sc-dispatch
#{tmp\ 5484}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile)))
any))))
#{x\ 5479}#))
#{tmp\ 5482}#)
((lambda (#{tmp\ 5488}#)
(if #{tmp\ 5488}#
(apply (lambda (#{stuff\ 5489}#)
(cons '#(syntax-object
list
((top)
#(ribcage
#(stuff)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
(cons #{x\ 5479}#
#{stuff\ 5489}#)))
#{tmp\ 5488}#)
((lambda (#{else\ 5490}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(else)
#((top))
#("i"))
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 5479}#
#{y\ 5480}#))
#{tmp\ 5481}#)))
($sc-dispatch
#{tmp\ 5481}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile)))
.
any)))))
($sc-dispatch
#{tmp\ 5481}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
#{y\ 5480}#))
#{tmp\ 5478}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5477}#)))
($sc-dispatch #{tmp\ 5477}# (quote (any any)))))
(list #{x\ 5475}# #{y\ 5476}#))))
(#{quasiappend\ 5472}#
(lambda (#{x\ 5491}# #{y\ 5492}#)
((lambda (#{tmp\ 5493}#)
((lambda (#{tmp\ 5494}#)
(if #{tmp\ 5494}#
(apply (lambda (#{x\ 5495}# #{y\ 5496}#)
((lambda (#{tmp\ 5497}#)
((lambda (#{tmp\ 5498}#)
(if #{tmp\ 5498}#
(apply (lambda () #{x\ 5495}#)
#{tmp\ 5498}#)
((lambda (#{_\ 5499}#)
(list '#(syntax-object
append
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#{x\ 5495}#
#{y\ 5496}#))
#{tmp\ 5497}#)))
($sc-dispatch
#{tmp\ 5497}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
()))))
#{y\ 5496}#))
#{tmp\ 5494}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5493}#)))
($sc-dispatch #{tmp\ 5493}# (quote (any any)))))
(list #{x\ 5491}# #{y\ 5492}#))))
(#{quasivector\ 5473}#
(lambda (#{x\ 5500}#)
((lambda (#{tmp\ 5501}#)
((lambda (#{x\ 5502}#)
((lambda (#{tmp\ 5503}#)
((lambda (#{tmp\ 5504}#)
(if #{tmp\ 5504}#
(apply (lambda (#{x\ 5505}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
(list->vector
#{x\ 5505}#)))
#{tmp\ 5504}#)
((lambda (#{tmp\ 5507}#)
(if #{tmp\ 5507}#
(apply (lambda (#{x\ 5508}#)
(cons '#(syntax-object
vector
((top)
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#{x\ 5508}#))
#{tmp\ 5507}#)
((lambda (#{_\ 5510}#)
(list '#(syntax-object
list->vector
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#{x\ 5502}#))
#{tmp\ 5503}#)))
($sc-dispatch
#{tmp\ 5503}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage #(x) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
each-any)))))
($sc-dispatch
#{tmp\ 5503}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage #(x) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
each-any))))
#{x\ 5502}#))
#{tmp\ 5501}#))
#{x\ 5500}#)))
(#{quasi\ 5474}#
(lambda (#{p\ 5511}# #{lev\ 5512}#)
((lambda (#{tmp\ 5513}#)
((lambda (#{tmp\ 5514}#)
(if #{tmp\ 5514}#
(apply (lambda (#{p\ 5515}#)
(if (= #{lev\ 5512}# 0)
#{p\ 5515}#
(#{quasicons\ 5471}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
(#{quasi\ 5474}#
(list #{p\ 5515}#)
(- #{lev\ 5512}# 1)))))
#{tmp\ 5514}#)
((lambda (#{tmp\ 5516}#)
(if (if #{tmp\ 5516}#
(apply (lambda (#{args\ 5517}#)
(= #{lev\ 5512}# 0))
#{tmp\ 5516}#)
#f)
(apply (lambda (#{args\ 5518}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
#{p\ 5511}#
(cons '#(syntax-object
unquote
((top)
#(ribcage
#(args)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#{args\ 5518}#)))
#{tmp\ 5516}#)
((lambda (#{tmp\ 5519}#)
(if #{tmp\ 5519}#
(apply (lambda (#{p\ 5520}#
#{q\ 5521}#)
(if (= #{lev\ 5512}# 0)
(#{quasiappend\ 5472}#
#{p\ 5520}#
(#{quasi\ 5474}#
#{q\ 5521}#
#{lev\ 5512}#))
(#{quasicons\ 5471}#
(#{quasicons\ 5471}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p q)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p q)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile)))
(#{quasi\ 5474}#
(list #{p\ 5520}#)
(- #{lev\ 5512}# 1)))
(#{quasi\ 5474}#
#{q\ 5521}#
#{lev\ 5512}#))))
#{tmp\ 5519}#)
((lambda (#{tmp\ 5522}#)
(if (if #{tmp\ 5522}#
(apply (lambda (#{args\ 5523}#
#{q\ 5524}#)
(= #{lev\ 5512}# 0))
#{tmp\ 5522}#)
#f)
(apply (lambda (#{args\ 5525}#
#{q\ 5526}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes exactly one argument"
#{p\ 5511}#
(cons '#(syntax-object
unquote-splicing
((top)
#(ribcage
#(args q)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{args\ 5525}#)))
#{tmp\ 5522}#)
((lambda (#{tmp\ 5527}#)
(if #{tmp\ 5527}#
(apply (lambda (#{p\ 5528}#)
(#{quasicons\ 5471}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#(syntax-object
quasiquote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile)))
(#{quasi\ 5474}#
(list #{p\ 5528}#)
(+ #{lev\ 5512}#
1))))
#{tmp\ 5527}#)
((lambda (#{tmp\ 5529}#)
(if #{tmp\ 5529}#
(apply (lambda (#{p\ 5530}#
#{q\ 5531}#)
(#{quasicons\ 5471}#
(#{quasi\ 5474}#
#{p\ 5530}#
#{lev\ 5512}#)
(#{quasi\ 5474}#
#{q\ 5531}#
#{lev\ 5512}#)))
#{tmp\ 5529}#)
((lambda (#{tmp\ 5532}#)
(if #{tmp\ 5532}#
(apply (lambda (#{x\ 5533}#)
(#{quasivector\ 5473}#
(#{quasi\ 5474}#
#{x\ 5533}#
#{lev\ 5512}#)))
#{tmp\ 5532}#)
((lambda (#{p\ 5535}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p
lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{p\ 5535}#))
#{tmp\ 5513}#)))
($sc-dispatch
#{tmp\ 5513}#
'#(vector
each-any)))))
($sc-dispatch
#{tmp\ 5513}#
'(any . any)))))
($sc-dispatch
#{tmp\ 5513}#
'(#(free-id
#(syntax-object
quasiquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
any)))))
($sc-dispatch
#{tmp\ 5513}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)
.
any)))))
($sc-dispatch
#{tmp\ 5513}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any)
.
any)))))
($sc-dispatch
#{tmp\ 5513}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)))))
($sc-dispatch
#{tmp\ 5513}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
#{p\ 5511}#))))
(lambda (#{x\ 5536}#)
((lambda (#{tmp\ 5537}#)
((lambda (#{tmp\ 5538}#)
(if #{tmp\ 5538}#
(apply (lambda (#{_\ 5539}# #{e\ 5540}#)
(#{quasi\ 5474}# #{e\ 5540}# 0))
#{tmp\ 5538}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5537}#)))
($sc-dispatch #{tmp\ 5537}# (quote (any any)))))
#{x\ 5536}#)))
(module-name (current-module)))))
(define include
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5541}#)
(letrec ((#{read-file\ 5542}#
(lambda (#{fn\ 5543}# #{k\ 5544}#)
(let ((#{p\ 5545}# (open-input-file #{fn\ 5543}#)))
(letrec ((#{f\ 5546}#
(lambda (#{x\ 5547}#)
(if (eof-object? #{x\ 5547}#)
(begin
(close-input-port #{p\ 5545}#)
'())
(cons (datum->syntax
#{k\ 5544}#
#{x\ 5547}#)
(#{f\ 5546}#
(read #{p\ 5545}#)))))))
(#{f\ 5546}# (read #{p\ 5545}#)))))))
((lambda (#{tmp\ 5548}#)
((lambda (#{tmp\ 5549}#)
(if #{tmp\ 5549}#
(apply (lambda (#{k\ 5550}# #{filename\ 5551}#)
(let ((#{fn\ 5552}#
(syntax->datum #{filename\ 5551}#)))
((lambda (#{tmp\ 5553}#)
((lambda (#{tmp\ 5554}#)
(if #{tmp\ 5554}#
(apply (lambda (#{exp\ 5555}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(exp)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(fn)
#((top))
#("i"))
#(ribcage
#(k filename)
#((top) (top))
#("i" "i"))
#(ribcage
(read-file)
((top))
("i"))
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{exp\ 5555}#))
#{tmp\ 5554}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5553}#)))
($sc-dispatch
#{tmp\ 5553}#
'each-any)))
(#{read-file\ 5542}#
#{fn\ 5552}#
#{k\ 5550}#))))
#{tmp\ 5549}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5548}#)))
($sc-dispatch #{tmp\ 5548}# (quote (any any)))))
#{x\ 5541}#)))
(module-name (current-module)))))
(define include-from-path
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5557}#)
((lambda (#{tmp\ 5558}#)
((lambda (#{tmp\ 5559}#)
(if #{tmp\ 5559}#
(apply (lambda (#{k\ 5560}# #{filename\ 5561}#)
(let ((#{fn\ 5562}#
(syntax->datum #{filename\ 5561}#)))
((lambda (#{tmp\ 5563}#)
((lambda (#{fn\ 5564}#)
(list '#(syntax-object
include
((top)
#(ribcage #(fn) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(fn) #((top)) #("i"))
#(ribcage
#(k filename)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
#{fn\ 5564}#))
#{tmp\ 5563}#))
(let ((#{t\ 5565}#
(%search-load-path #{fn\ 5562}#)))
(if #{t\ 5565}#
#{t\ 5565}#
(syntax-violation
'include-from-path
"file not found in path"
#{x\ 5557}#
#{filename\ 5561}#))))))
#{tmp\ 5559}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5558}#)))
($sc-dispatch #{tmp\ 5558}# (quote (any any)))))
#{x\ 5557}#))
(module-name (current-module)))))
(define unquote
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5566}#)
((lambda (#{tmp\ 5567}#)
((lambda (#{tmp\ 5568}#)
(if #{tmp\ 5568}#
(apply (lambda (#{_\ 5569}# #{e\ 5570}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
#{x\ 5566}#))
#{tmp\ 5568}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5567}#)))
($sc-dispatch #{tmp\ 5567}# (quote (any any)))))
#{x\ 5566}#))
(module-name (current-module)))))
(define unquote-splicing
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5571}#)
((lambda (#{tmp\ 5572}#)
((lambda (#{tmp\ 5573}#)
(if #{tmp\ 5573}#
(apply (lambda (#{_\ 5574}# #{e\ 5575}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
#{x\ 5571}#))
#{tmp\ 5573}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5572}#)))
($sc-dispatch #{tmp\ 5572}# (quote (any any)))))
#{x\ 5571}#))
(module-name (current-module)))))
(define case
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5576}#)
((lambda (#{tmp\ 5577}#)
((lambda (#{tmp\ 5578}#)
(if #{tmp\ 5578}#
(apply (lambda (#{_\ 5579}#
#{e\ 5580}#
#{m1\ 5581}#
#{m2\ 5582}#)
((lambda (#{tmp\ 5583}#)
((lambda (#{body\ 5584}#)
(list '#(syntax-object
let
((top)
#(ribcage #(body) #((top)) #("i"))
#(ribcage
#(_ e m1 m2)
#((top) (top) (top) (top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(list (list '#(syntax-object
t
((top)
#(ribcage
#(body)
#((top))
#("i"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{e\ 5580}#))
#{body\ 5584}#))
#{tmp\ 5583}#))
(letrec ((#{f\ 5585}#
(lambda (#{clause\ 5586}#
#{clauses\ 5587}#)
(if (null? #{clauses\ 5587}#)
((lambda (#{tmp\ 5589}#)
((lambda (#{tmp\ 5590}#)
(if #{tmp\ 5590}#
(apply (lambda (#{e1\ 5591}#
#{e2\ 5592}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 5591}#
#{e2\ 5592}#)))
#{tmp\ 5590}#)
((lambda (#{tmp\ 5594}#)
(if #{tmp\ 5594}#
(apply (lambda (#{k\ 5595}#
#{e1\ 5596}#
#{e2\ 5597}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
t
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{k\ 5595}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 5596}#
#{e2\ 5597}#))))
#{tmp\ 5594}#)
((lambda (#{_\ 5600}#)
(syntax-violation
'case
"bad clause"
#{x\ 5576}#
#{clause\ 5586}#))
#{tmp\ 5589}#)))
($sc-dispatch
#{tmp\ 5589}#
'(each-any
any
.
each-any)))))
($sc-dispatch
#{tmp\ 5589}#
'(#(free-id
#(syntax-object
else
((top)
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top)
(top)
(top))
#("i" "i" "i"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile)))
any
.
each-any))))
#{clause\ 5586}#)
((lambda (#{tmp\ 5601}#)
((lambda (#{rest\ 5602}#)
((lambda (#{tmp\ 5603}#)
((lambda (#{tmp\ 5604}#)
(if #{tmp\ 5604}#
(apply (lambda (#{k\ 5605}#
#{e1\ 5606}#
#{e2\ 5607}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
t
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{k\ 5605}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 5606}#
#{e2\ 5607}#))
#{rest\ 5602}#))
#{tmp\ 5604}#)
((lambda (#{_\ 5610}#)
(syntax-violation
'case
"bad clause"
#{x\ 5576}#
#{clause\ 5586}#))
#{tmp\ 5603}#)))
($sc-dispatch
#{tmp\ 5603}#
'(each-any
any
.
each-any))))
#{clause\ 5586}#))
#{tmp\ 5601}#))
(#{f\ 5585}#
(car #{clauses\ 5587}#)
(cdr #{clauses\ 5587}#)))))))
(#{f\ 5585}# #{m1\ 5581}# #{m2\ 5582}#))))
#{tmp\ 5578}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5577}#)))
($sc-dispatch
#{tmp\ 5577}#
'(any any any . each-any))))
#{x\ 5576}#))
(module-name (current-module)))))
(define identifier-syntax
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5611}#)
((lambda (#{tmp\ 5612}#)
((lambda (#{tmp\ 5613}#)
(if #{tmp\ 5613}#
(apply (lambda (#{_\ 5614}# #{e\ 5615}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile)))
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'()
(list '#(syntax-object
id
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
'(#(syntax-object
identifier?
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
id
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{e\ 5615}#))
(list (cons #{_\ 5614}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e\ 5615}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(_ e)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile)))))))))
#{tmp\ 5613}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5612}#)))
($sc-dispatch #{tmp\ 5612}# (quote (any any)))))
#{x\ 5611}#))
(module-name (current-module)))))
(define define*
(make-syncase-macro
'macro
(cons (lambda (#{x\ 5616}#)
((lambda (#{tmp\ 5617}#)
((lambda (#{tmp\ 5618}#)
(if #{tmp\ 5618}#
(apply (lambda (#{dummy\ 5619}#
#{id\ 5620}#
#{args\ 5621}#
#{b0\ 5622}#
#{b1\ 5623}#)
(list '#(syntax-object
define
((top)
#(ribcage
#(dummy id args b0 b1)
#(("m" top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #(("m" top)) #("i")))
(hygiene guile))
#{id\ 5620}#
(cons '#(syntax-object
lambda*
((top)
#(ribcage
#(dummy id args b0 b1)
#(("m" top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#(("m" top))
#("i")))
(hygiene guile))
(cons #{args\ 5621}#
(cons #{b0\ 5622}#
#{b1\ 5623}#)))))
#{tmp\ 5618}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 5617}#)))
($sc-dispatch
#{tmp\ 5617}#
'(any (any . any) any . each-any))))
#{x\ 5616}#))
(module-name (current-module)))))