1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 11:40:20 +02:00
guile/module/ice-9/psyntax-pp.scm
Andy Wingo 81b30a35f7 expand out named let to letrec in the eval case
* module/ice-9/psyntax.scm: In the eval case, expand out named let to
  letrec.
* module/ice-9/psyntax-pp.scm: Regenerated.
2009-12-01 21:00:23 +01:00

14438 lines
925 KiB
Scheme

(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
(letrec ((#{and-map*\ 2581}#
(lambda (#{f\ 2619}# #{first\ 2620}# . #{rest\ 2621}#)
(let ((#{t\ 2622}# (null? #{first\ 2620}#)))
(if #{t\ 2622}#
#{t\ 2622}#
(if (null? #{rest\ 2621}#)
(letrec ((#{andmap\ 2623}#
(lambda (#{first\ 2624}#)
(let ((#{x\ 2625}# (car #{first\ 2624}#))
(#{first\ 2626}# (cdr #{first\ 2624}#)))
(if (null? #{first\ 2626}#)
(#{f\ 2619}# #{x\ 2625}#)
(if (#{f\ 2619}# #{x\ 2625}#)
(#{andmap\ 2623}# #{first\ 2626}#)
#f))))))
(#{andmap\ 2623}# #{first\ 2620}#))
(letrec ((#{andmap\ 2627}#
(lambda (#{first\ 2628}# #{rest\ 2629}#)
(let ((#{x\ 2630}# (car #{first\ 2628}#))
(#{xr\ 2631}# (map car #{rest\ 2629}#))
(#{first\ 2632}# (cdr #{first\ 2628}#))
(#{rest\ 2633}#
(map cdr #{rest\ 2629}#)))
(if (null? #{first\ 2632}#)
(apply #{f\ 2619}#
(cons #{x\ 2630}# #{xr\ 2631}#))
(if (apply #{f\ 2619}#
(cons #{x\ 2630}# #{xr\ 2631}#))
(#{andmap\ 2627}#
#{first\ 2632}#
#{rest\ 2633}#)
#f))))))
(#{andmap\ 2627}# #{first\ 2620}# #{rest\ 2621}#))))))))
(letrec ((#{lambda-var-list\ 2732}#
(lambda (#{vars\ 2856}#)
(letrec ((#{lvl\ 2857}#
(lambda (#{vars\ 2858}# #{ls\ 2859}# #{w\ 2860}#)
(if (pair? #{vars\ 2858}#)
(#{lvl\ 2857}#
(cdr #{vars\ 2858}#)
(cons (#{wrap\ 2709}#
(car #{vars\ 2858}#)
#{w\ 2860}#
#f)
#{ls\ 2859}#)
#{w\ 2860}#)
(if (#{id?\ 2681}# #{vars\ 2858}#)
(cons (#{wrap\ 2709}#
#{vars\ 2858}#
#{w\ 2860}#
#f)
#{ls\ 2859}#)
(if (null? #{vars\ 2858}#)
#{ls\ 2859}#
(if (#{syntax-object?\ 2665}# #{vars\ 2858}#)
(#{lvl\ 2857}#
(#{syntax-object-expression\ 2666}#
#{vars\ 2858}#)
#{ls\ 2859}#
(#{join-wraps\ 2700}#
#{w\ 2860}#
(#{syntax-object-wrap\ 2667}#
#{vars\ 2858}#)))
(cons #{vars\ 2858}# #{ls\ 2859}#))))))))
(#{lvl\ 2857}#
#{vars\ 2856}#
'()
'(())))))
(#{gen-var\ 2731}#
(lambda (#{id\ 2861}#)
(let ((#{id\ 2862}#
(if (#{syntax-object?\ 2665}# #{id\ 2861}#)
(#{syntax-object-expression\ 2666}# #{id\ 2861}#)
#{id\ 2861}#)))
(gensym
(string-append (symbol->string #{id\ 2862}#) " ")))))
(#{strip\ 2730}#
(lambda (#{x\ 2863}# #{w\ 2864}#)
(if (memq 'top
(#{wrap-marks\ 2684}# #{w\ 2864}#))
#{x\ 2863}#
(letrec ((#{f\ 2865}#
(lambda (#{x\ 2866}#)
(if (#{syntax-object?\ 2665}# #{x\ 2866}#)
(#{strip\ 2730}#
(#{syntax-object-expression\ 2666}#
#{x\ 2866}#)
(#{syntax-object-wrap\ 2667}# #{x\ 2866}#))
(if (pair? #{x\ 2866}#)
(let ((#{a\ 2867}#
(#{f\ 2865}# (car #{x\ 2866}#)))
(#{d\ 2868}#
(#{f\ 2865}# (cdr #{x\ 2866}#))))
(if (if (eq? #{a\ 2867}# (car #{x\ 2866}#))
(eq? #{d\ 2868}# (cdr #{x\ 2866}#))
#f)
#{x\ 2866}#
(cons #{a\ 2867}# #{d\ 2868}#)))
(if (vector? #{x\ 2866}#)
(let ((#{old\ 2869}#
(vector->list #{x\ 2866}#)))
(let ((#{new\ 2870}#
(map #{f\ 2865}# #{old\ 2869}#)))
(if (#{and-map*\ 2581}#
eq?
#{old\ 2869}#
#{new\ 2870}#)
#{x\ 2866}#
(list->vector #{new\ 2870}#))))
#{x\ 2866}#))))))
(#{f\ 2865}# #{x\ 2863}#)))))
(#{chi-lambda-case\ 2729}#
(lambda (#{e\ 2871}#
#{r\ 2872}#
#{w\ 2873}#
#{s\ 2874}#
#{mod\ 2875}#
#{get-formals\ 2876}#
#{clauses\ 2877}#)
(letrec ((#{expand-body\ 2881}#
(lambda (#{req\ 2882}#
#{opt\ 2883}#
#{rest\ 2884}#
#{kw\ 2885}#
#{body\ 2886}#
#{vars\ 2887}#
#{r*\ 2888}#
#{w*\ 2889}#
#{inits\ 2890}#)
((lambda (#{tmp\ 2891}#)
((lambda (#{tmp\ 2892}#)
(if (if #{tmp\ 2892}#
(apply (lambda (#{docstring\ 2893}#
#{e1\ 2894}#
#{e2\ 2895}#)
(string?
(syntax->datum
#{docstring\ 2893}#)))
#{tmp\ 2892}#)
#f)
(apply (lambda (#{docstring\ 2896}#
#{e1\ 2897}#
#{e2\ 2898}#)
(values
(syntax->datum
#{docstring\ 2896}#)
#{req\ 2882}#
#{opt\ 2883}#
#{rest\ 2884}#
#{kw\ 2885}#
#{inits\ 2890}#
#{vars\ 2887}#
(#{chi-body\ 2721}#
(cons #{e1\ 2897}#
#{e2\ 2898}#)
(#{source-wrap\ 2710}#
#{e\ 2871}#
#{w\ 2873}#
#{s\ 2874}#
#{mod\ 2875}#)
#{r*\ 2888}#
#{w*\ 2889}#
#{mod\ 2875}#)))
#{tmp\ 2892}#)
((lambda (#{tmp\ 2900}#)
(if #{tmp\ 2900}#
(apply (lambda (#{e1\ 2901}#
#{e2\ 2902}#)
(values
#f
#{req\ 2882}#
#{opt\ 2883}#
#{rest\ 2884}#
#{kw\ 2885}#
#{inits\ 2890}#
#{vars\ 2887}#
(#{chi-body\ 2721}#
(cons #{e1\ 2901}#
#{e2\ 2902}#)
(#{source-wrap\ 2710}#
#{e\ 2871}#
#{w\ 2873}#
#{s\ 2874}#
#{mod\ 2875}#)
#{r*\ 2888}#
#{w*\ 2889}#
#{mod\ 2875}#)))
#{tmp\ 2900}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2891}#)))
($sc-dispatch
#{tmp\ 2891}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 2891}#
'(any any . each-any))))
#{body\ 2886}#)))
(#{expand-kw\ 2880}#
(lambda (#{req\ 2904}#
#{opt\ 2905}#
#{rest\ 2906}#
#{kw\ 2907}#
#{body\ 2908}#
#{vars\ 2909}#
#{r*\ 2910}#
#{w*\ 2911}#
#{aok\ 2912}#
#{out\ 2913}#
#{inits\ 2914}#)
(if (pair? #{kw\ 2907}#)
((lambda (#{tmp\ 2915}#)
((lambda (#{tmp\ 2916}#)
(if #{tmp\ 2916}#
(apply (lambda (#{k\ 2917}#
#{id\ 2918}#
#{i\ 2919}#)
(let ((#{v\ 2920}#
(#{gen-var\ 2731}#
#{id\ 2918}#)))
(let ((#{l\ 2921}#
(#{gen-labels\ 2687}#
(list #{v\ 2920}#))))
(let ((#{r**\ 2922}#
(#{extend-var-env\ 2676}#
#{l\ 2921}#
(list #{v\ 2920}#)
#{r*\ 2910}#)))
(let ((#{w**\ 2923}#
(#{make-binding-wrap\ 2698}#
(list #{id\ 2918}#)
#{l\ 2921}#
#{w*\ 2911}#)))
(#{expand-kw\ 2880}#
#{req\ 2904}#
#{opt\ 2905}#
#{rest\ 2906}#
(cdr #{kw\ 2907}#)
#{body\ 2908}#
(cons #{v\ 2920}#
#{vars\ 2909}#)
#{r**\ 2922}#
#{w**\ 2923}#
#{aok\ 2912}#
(cons (list (syntax->datum
#{k\ 2917}#)
(syntax->datum
#{id\ 2918}#)
#{v\ 2920}#)
#{out\ 2913}#)
(cons (#{chi\ 2717}#
#{i\ 2919}#
#{r*\ 2910}#
#{w*\ 2911}#
#{mod\ 2875}#)
#{inits\ 2914}#)))))))
#{tmp\ 2916}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2915}#)))
($sc-dispatch
#{tmp\ 2915}#
'(any any any))))
(car #{kw\ 2907}#))
(#{expand-body\ 2881}#
#{req\ 2904}#
#{opt\ 2905}#
#{rest\ 2906}#
(if (let ((#{t\ 2924}# #{aok\ 2912}#))
(if #{t\ 2924}#
#{t\ 2924}#
(pair? #{out\ 2913}#)))
(cons #{aok\ 2912}# (reverse #{out\ 2913}#))
#f)
#{body\ 2908}#
(reverse #{vars\ 2909}#)
#{r*\ 2910}#
#{w*\ 2911}#
(reverse #{inits\ 2914}#)))))
(#{expand-opt\ 2879}#
(lambda (#{req\ 2925}#
#{opt\ 2926}#
#{rest\ 2927}#
#{kw\ 2928}#
#{body\ 2929}#
#{vars\ 2930}#
#{r*\ 2931}#
#{w*\ 2932}#
#{out\ 2933}#
#{inits\ 2934}#)
(if (pair? #{opt\ 2926}#)
((lambda (#{tmp\ 2935}#)
((lambda (#{tmp\ 2936}#)
(if #{tmp\ 2936}#
(apply (lambda (#{id\ 2937}# #{i\ 2938}#)
(let ((#{v\ 2939}#
(#{gen-var\ 2731}#
#{id\ 2937}#)))
(let ((#{l\ 2940}#
(#{gen-labels\ 2687}#
(list #{v\ 2939}#))))
(let ((#{r**\ 2941}#
(#{extend-var-env\ 2676}#
#{l\ 2940}#
(list #{v\ 2939}#)
#{r*\ 2931}#)))
(let ((#{w**\ 2942}#
(#{make-binding-wrap\ 2698}#
(list #{id\ 2937}#)
#{l\ 2940}#
#{w*\ 2932}#)))
(#{expand-opt\ 2879}#
#{req\ 2925}#
(cdr #{opt\ 2926}#)
#{rest\ 2927}#
#{kw\ 2928}#
#{body\ 2929}#
(cons #{v\ 2939}#
#{vars\ 2930}#)
#{r**\ 2941}#
#{w**\ 2942}#
(cons (syntax->datum
#{id\ 2937}#)
#{out\ 2933}#)
(cons (#{chi\ 2717}#
#{i\ 2938}#
#{r*\ 2931}#
#{w*\ 2932}#
#{mod\ 2875}#)
#{inits\ 2934}#)))))))
#{tmp\ 2936}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2935}#)))
($sc-dispatch
#{tmp\ 2935}#
'(any any))))
(car #{opt\ 2926}#))
(if #{rest\ 2927}#
(let ((#{v\ 2943}#
(#{gen-var\ 2731}# #{rest\ 2927}#)))
(let ((#{l\ 2944}#
(#{gen-labels\ 2687}#
(list #{v\ 2943}#))))
(let ((#{r*\ 2945}#
(#{extend-var-env\ 2676}#
#{l\ 2944}#
(list #{v\ 2943}#)
#{r*\ 2931}#)))
(let ((#{w*\ 2946}#
(#{make-binding-wrap\ 2698}#
(list #{rest\ 2927}#)
#{l\ 2944}#
#{w*\ 2932}#)))
(#{expand-kw\ 2880}#
#{req\ 2925}#
(if (pair? #{out\ 2933}#)
(reverse #{out\ 2933}#)
#f)
(syntax->datum #{rest\ 2927}#)
(if (pair? #{kw\ 2928}#)
(cdr #{kw\ 2928}#)
#{kw\ 2928}#)
#{body\ 2929}#
(cons #{v\ 2943}# #{vars\ 2930}#)
#{r*\ 2945}#
#{w*\ 2946}#
(if (pair? #{kw\ 2928}#)
(car #{kw\ 2928}#)
#f)
'()
#{inits\ 2934}#)))))
(#{expand-kw\ 2880}#
#{req\ 2925}#
(if (pair? #{out\ 2933}#)
(reverse #{out\ 2933}#)
#f)
#f
(if (pair? #{kw\ 2928}#)
(cdr #{kw\ 2928}#)
#{kw\ 2928}#)
#{body\ 2929}#
#{vars\ 2930}#
#{r*\ 2931}#
#{w*\ 2932}#
(if (pair? #{kw\ 2928}#)
(car #{kw\ 2928}#)
#f)
'()
#{inits\ 2934}#)))))
(#{expand-req\ 2878}#
(lambda (#{req\ 2947}#
#{opt\ 2948}#
#{rest\ 2949}#
#{kw\ 2950}#
#{body\ 2951}#)
(let ((#{vars\ 2952}#
(map #{gen-var\ 2731}# #{req\ 2947}#))
(#{labels\ 2953}#
(#{gen-labels\ 2687}# #{req\ 2947}#)))
(let ((#{r*\ 2954}#
(#{extend-var-env\ 2676}#
#{labels\ 2953}#
#{vars\ 2952}#
#{r\ 2872}#))
(#{w*\ 2955}#
(#{make-binding-wrap\ 2698}#
#{req\ 2947}#
#{labels\ 2953}#
#{w\ 2873}#)))
(#{expand-opt\ 2879}#
(map syntax->datum #{req\ 2947}#)
#{opt\ 2948}#
#{rest\ 2949}#
#{kw\ 2950}#
#{body\ 2951}#
(reverse #{vars\ 2952}#)
#{r*\ 2954}#
#{w*\ 2955}#
'()
'()))))))
((lambda (#{tmp\ 2956}#)
((lambda (#{tmp\ 2957}#)
(if #{tmp\ 2957}#
(apply (lambda () (values #f #f)) #{tmp\ 2957}#)
((lambda (#{tmp\ 2958}#)
(if #{tmp\ 2958}#
(apply (lambda (#{args\ 2959}#
#{e1\ 2960}#
#{e2\ 2961}#
#{args*\ 2962}#
#{e1*\ 2963}#
#{e2*\ 2964}#)
(call-with-values
(lambda ()
(#{get-formals\ 2876}#
#{args\ 2959}#))
(lambda (#{req\ 2965}#
#{opt\ 2966}#
#{rest\ 2967}#
#{kw\ 2968}#)
(call-with-values
(lambda ()
(#{expand-req\ 2878}#
#{req\ 2965}#
#{opt\ 2966}#
#{rest\ 2967}#
#{kw\ 2968}#
(cons #{e1\ 2960}#
#{e2\ 2961}#)))
(lambda (#{docstring\ 2970}#
#{req\ 2971}#
#{opt\ 2972}#
#{rest\ 2973}#
#{kw\ 2974}#
#{inits\ 2975}#
#{vars\ 2976}#
#{body\ 2977}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 2729}#
#{e\ 2871}#
#{r\ 2872}#
#{w\ 2873}#
#{s\ 2874}#
#{mod\ 2875}#
#{get-formals\ 2876}#
(map (lambda (#{tmp\ 2980}#
#{tmp\ 2979}#
#{tmp\ 2978}#)
(cons #{tmp\ 2978}#
(cons #{tmp\ 2979}#
#{tmp\ 2980}#)))
#{e2*\ 2964}#
#{e1*\ 2963}#
#{args*\ 2962}#)))
(lambda (#{docstring*\ 2982}#
#{else*\ 2983}#)
(values
(let ((#{t\ 2984}#
#{docstring\ 2970}#))
(if #{t\ 2984}#
#{t\ 2984}#
#{docstring*\ 2982}#))
(#{build-lambda-case\ 2657}#
#{s\ 2874}#
#{req\ 2971}#
#{opt\ 2972}#
#{rest\ 2973}#
#{kw\ 2974}#
#{inits\ 2975}#
#{vars\ 2976}#
#{body\ 2977}#
#{else*\ 2983}#)))))))))
#{tmp\ 2958}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2956}#)))
($sc-dispatch
#{tmp\ 2956}#
'((any any . each-any)
.
#(each (any any . each-any)))))))
($sc-dispatch #{tmp\ 2956}# (quote ()))))
#{clauses\ 2877}#))))
(#{lambda*-formals\ 2728}#
(lambda (#{orig-args\ 2985}#)
(letrec ((#{check\ 2990}#
(lambda (#{req\ 2991}#
#{opt\ 2992}#
#{rest\ 2993}#
#{kw\ 2994}#)
(if (#{distinct-bound-ids?\ 2707}#
(append
#{req\ 2991}#
(map car #{opt\ 2992}#)
(if #{rest\ 2993}#
(list #{rest\ 2993}#)
'())
(if (pair? #{kw\ 2994}#)
(map cadr (cdr #{kw\ 2994}#))
'())))
(values
#{req\ 2991}#
#{opt\ 2992}#
#{rest\ 2993}#
#{kw\ 2994}#)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
#{orig-args\ 2985}#))))
(#{rest\ 2989}#
(lambda (#{args\ 2995}#
#{req\ 2996}#
#{opt\ 2997}#
#{kw\ 2998}#)
((lambda (#{tmp\ 2999}#)
((lambda (#{tmp\ 3000}#)
(if (if #{tmp\ 3000}#
(apply (lambda (#{r\ 3001}#)
(#{id?\ 2681}# #{r\ 3001}#))
#{tmp\ 3000}#)
#f)
(apply (lambda (#{r\ 3002}#)
(#{check\ 2990}#
#{req\ 2996}#
#{opt\ 2997}#
#{r\ 3002}#
#{kw\ 2998}#))
#{tmp\ 3000}#)
((lambda (#{else\ 3003}#)
(syntax-violation
'lambda*
"invalid rest argument"
#{orig-args\ 2985}#
#{args\ 2995}#))
#{tmp\ 2999}#)))
(list #{tmp\ 2999}#)))
#{args\ 2995}#)))
(#{key\ 2988}#
(lambda (#{args\ 3004}#
#{req\ 3005}#
#{opt\ 3006}#
#{rkey\ 3007}#)
((lambda (#{tmp\ 3008}#)
((lambda (#{tmp\ 3009}#)
(if #{tmp\ 3009}#
(apply (lambda ()
(#{check\ 2990}#
#{req\ 3005}#
#{opt\ 3006}#
#f
(cons #f
(reverse
#{rkey\ 3007}#))))
#{tmp\ 3009}#)
((lambda (#{tmp\ 3010}#)
(if (if #{tmp\ 3010}#
(apply (lambda (#{a\ 3011}#
#{b\ 3012}#)
(#{id?\ 2681}#
#{a\ 3011}#))
#{tmp\ 3010}#)
#f)
(apply (lambda (#{a\ 3013}#
#{b\ 3014}#)
((lambda (#{tmp\ 3015}#)
((lambda (#{k\ 3016}#)
(#{key\ 2988}#
#{b\ 3014}#
#{req\ 3005}#
#{opt\ 3006}#
(cons (cons #{k\ 3016}#
(cons #{a\ 3013}#
'(#(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\ 3007}#)))
#{tmp\ 3015}#))
(symbol->keyword
(syntax->datum
#{a\ 3013}#))))
#{tmp\ 3010}#)
((lambda (#{tmp\ 3017}#)
(if (if #{tmp\ 3017}#
(apply (lambda (#{a\ 3018}#
#{init\ 3019}#
#{b\ 3020}#)
(#{id?\ 2681}#
#{a\ 3018}#))
#{tmp\ 3017}#)
#f)
(apply (lambda (#{a\ 3021}#
#{init\ 3022}#
#{b\ 3023}#)
((lambda (#{tmp\ 3024}#)
((lambda (#{k\ 3025}#)
(#{key\ 2988}#
#{b\ 3023}#
#{req\ 3005}#
#{opt\ 3006}#
(cons (list #{k\ 3025}#
#{a\ 3021}#
#{init\ 3022}#)
#{rkey\ 3007}#)))
#{tmp\ 3024}#))
(symbol->keyword
(syntax->datum
#{a\ 3021}#))))
#{tmp\ 3017}#)
((lambda (#{tmp\ 3026}#)
(if (if #{tmp\ 3026}#
(apply (lambda (#{a\ 3027}#
#{init\ 3028}#
#{k\ 3029}#
#{b\ 3030}#)
(if (#{id?\ 2681}#
#{a\ 3027}#)
(keyword?
(syntax->datum
#{k\ 3029}#))
#f))
#{tmp\ 3026}#)
#f)
(apply (lambda (#{a\ 3031}#
#{init\ 3032}#
#{k\ 3033}#
#{b\ 3034}#)
(#{key\ 2988}#
#{b\ 3034}#
#{req\ 3005}#
#{opt\ 3006}#
(cons (list #{k\ 3033}#
#{a\ 3031}#
#{init\ 3032}#)
#{rkey\ 3007}#)))
#{tmp\ 3026}#)
((lambda (#{tmp\ 3035}#)
(if (if #{tmp\ 3035}#
(apply (lambda (#{aok\ 3036}#)
(eq? (syntax->datum
#{aok\ 3036}#)
#:allow-other-keys))
#{tmp\ 3035}#)
#f)
(apply (lambda (#{aok\ 3037}#)
(#{check\ 2990}#
#{req\ 3005}#
#{opt\ 3006}#
#f
(cons #t
(reverse
#{rkey\ 3007}#))))
#{tmp\ 3035}#)
((lambda (#{tmp\ 3038}#)
(if (if #{tmp\ 3038}#
(apply (lambda (#{aok\ 3039}#
#{a\ 3040}#
#{b\ 3041}#)
(if (eq? (syntax->datum
#{aok\ 3039}#)
#:allow-other-keys)
(eq? (syntax->datum
#{a\ 3040}#)
#:rest)
#f))
#{tmp\ 3038}#)
#f)
(apply (lambda (#{aok\ 3042}#
#{a\ 3043}#
#{b\ 3044}#)
(#{rest\ 2989}#
#{b\ 3044}#
#{req\ 3005}#
#{opt\ 3006}#
(cons #t
(reverse
#{rkey\ 3007}#))))
#{tmp\ 3038}#)
((lambda (#{tmp\ 3045}#)
(if (if #{tmp\ 3045}#
(apply (lambda (#{aok\ 3046}#
#{r\ 3047}#)
(if (eq? (syntax->datum
#{aok\ 3046}#)
#:allow-other-keys)
(#{id?\ 2681}#
#{r\ 3047}#)
#f))
#{tmp\ 3045}#)
#f)
(apply (lambda (#{aok\ 3048}#
#{r\ 3049}#)
(#{rest\ 2989}#
#{r\ 3049}#
#{req\ 3005}#
#{opt\ 3006}#
(cons #t
(reverse
#{rkey\ 3007}#))))
#{tmp\ 3045}#)
((lambda (#{tmp\ 3050}#)
(if (if #{tmp\ 3050}#
(apply (lambda (#{a\ 3051}#
#{b\ 3052}#)
(eq? (syntax->datum
#{a\ 3051}#)
#:rest))
#{tmp\ 3050}#)
#f)
(apply (lambda (#{a\ 3053}#
#{b\ 3054}#)
(#{rest\ 2989}#
#{b\ 3054}#
#{req\ 3005}#
#{opt\ 3006}#
(cons #f
(reverse
#{rkey\ 3007}#))))
#{tmp\ 3050}#)
((lambda (#{tmp\ 3055}#)
(if (if #{tmp\ 3055}#
(apply (lambda (#{r\ 3056}#)
(#{id?\ 2681}#
#{r\ 3056}#))
#{tmp\ 3055}#)
#f)
(apply (lambda (#{r\ 3057}#)
(#{rest\ 2989}#
#{r\ 3057}#
#{req\ 3005}#
#{opt\ 3006}#
(cons #f
(reverse
#{rkey\ 3007}#))))
#{tmp\ 3055}#)
((lambda (#{else\ 3058}#)
(syntax-violation
'lambda*
"invalid keyword argument list"
#{orig-args\ 2985}#
#{args\ 3004}#))
#{tmp\ 3008}#)))
(list #{tmp\ 3008}#))))
($sc-dispatch
#{tmp\ 3008}#
'(any any)))))
($sc-dispatch
#{tmp\ 3008}#
'(any .
any)))))
($sc-dispatch
#{tmp\ 3008}#
'(any any any)))))
($sc-dispatch
#{tmp\ 3008}#
'(any)))))
($sc-dispatch
#{tmp\ 3008}#
'((any any any) . any)))))
($sc-dispatch
#{tmp\ 3008}#
'((any any) . any)))))
($sc-dispatch
#{tmp\ 3008}#
'(any . any)))))
($sc-dispatch #{tmp\ 3008}# (quote ()))))
#{args\ 3004}#)))
(#{opt\ 2987}#
(lambda (#{args\ 3059}# #{req\ 3060}# #{ropt\ 3061}#)
((lambda (#{tmp\ 3062}#)
((lambda (#{tmp\ 3063}#)
(if #{tmp\ 3063}#
(apply (lambda ()
(#{check\ 2990}#
#{req\ 3060}#
(reverse #{ropt\ 3061}#)
#f
'()))
#{tmp\ 3063}#)
((lambda (#{tmp\ 3064}#)
(if (if #{tmp\ 3064}#
(apply (lambda (#{a\ 3065}#
#{b\ 3066}#)
(#{id?\ 2681}#
#{a\ 3065}#))
#{tmp\ 3064}#)
#f)
(apply (lambda (#{a\ 3067}#
#{b\ 3068}#)
(#{opt\ 2987}#
#{b\ 3068}#
#{req\ 3060}#
(cons (cons #{a\ 3067}#
'(#(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\ 3061}#)))
#{tmp\ 3064}#)
((lambda (#{tmp\ 3069}#)
(if (if #{tmp\ 3069}#
(apply (lambda (#{a\ 3070}#
#{init\ 3071}#
#{b\ 3072}#)
(#{id?\ 2681}#
#{a\ 3070}#))
#{tmp\ 3069}#)
#f)
(apply (lambda (#{a\ 3073}#
#{init\ 3074}#
#{b\ 3075}#)
(#{opt\ 2987}#
#{b\ 3075}#
#{req\ 3060}#
(cons (list #{a\ 3073}#
#{init\ 3074}#)
#{ropt\ 3061}#)))
#{tmp\ 3069}#)
((lambda (#{tmp\ 3076}#)
(if (if #{tmp\ 3076}#
(apply (lambda (#{a\ 3077}#
#{b\ 3078}#)
(eq? (syntax->datum
#{a\ 3077}#)
#:key))
#{tmp\ 3076}#)
#f)
(apply (lambda (#{a\ 3079}#
#{b\ 3080}#)
(#{key\ 2988}#
#{b\ 3080}#
#{req\ 3060}#
(reverse
#{ropt\ 3061}#)
'()))
#{tmp\ 3076}#)
((lambda (#{tmp\ 3081}#)
(if (if #{tmp\ 3081}#
(apply (lambda (#{a\ 3082}#
#{b\ 3083}#)
(eq? (syntax->datum
#{a\ 3082}#)
#:rest))
#{tmp\ 3081}#)
#f)
(apply (lambda (#{a\ 3084}#
#{b\ 3085}#)
(#{rest\ 2989}#
#{b\ 3085}#
#{req\ 3060}#
(reverse
#{ropt\ 3061}#)
'()))
#{tmp\ 3081}#)
((lambda (#{tmp\ 3086}#)
(if (if #{tmp\ 3086}#
(apply (lambda (#{r\ 3087}#)
(#{id?\ 2681}#
#{r\ 3087}#))
#{tmp\ 3086}#)
#f)
(apply (lambda (#{r\ 3088}#)
(#{rest\ 2989}#
#{r\ 3088}#
#{req\ 3060}#
(reverse
#{ropt\ 3061}#)
'()))
#{tmp\ 3086}#)
((lambda (#{else\ 3089}#)
(syntax-violation
'lambda*
"invalid optional argument list"
#{orig-args\ 2985}#
#{args\ 3059}#))
#{tmp\ 3062}#)))
(list #{tmp\ 3062}#))))
($sc-dispatch
#{tmp\ 3062}#
'(any any)))))
($sc-dispatch
#{tmp\ 3062}#
'(any . any)))))
($sc-dispatch
#{tmp\ 3062}#
'((any any) . any)))))
($sc-dispatch
#{tmp\ 3062}#
'(any . any)))))
($sc-dispatch #{tmp\ 3062}# (quote ()))))
#{args\ 3059}#)))
(#{req\ 2986}#
(lambda (#{args\ 3090}# #{rreq\ 3091}#)
((lambda (#{tmp\ 3092}#)
((lambda (#{tmp\ 3093}#)
(if #{tmp\ 3093}#
(apply (lambda ()
(#{check\ 2990}#
(reverse #{rreq\ 3091}#)
'()
#f
'()))
#{tmp\ 3093}#)
((lambda (#{tmp\ 3094}#)
(if (if #{tmp\ 3094}#
(apply (lambda (#{a\ 3095}#
#{b\ 3096}#)
(#{id?\ 2681}#
#{a\ 3095}#))
#{tmp\ 3094}#)
#f)
(apply (lambda (#{a\ 3097}#
#{b\ 3098}#)
(#{req\ 2986}#
#{b\ 3098}#
(cons #{a\ 3097}#
#{rreq\ 3091}#)))
#{tmp\ 3094}#)
((lambda (#{tmp\ 3099}#)
(if (if #{tmp\ 3099}#
(apply (lambda (#{a\ 3100}#
#{b\ 3101}#)
(eq? (syntax->datum
#{a\ 3100}#)
#:optional))
#{tmp\ 3099}#)
#f)
(apply (lambda (#{a\ 3102}#
#{b\ 3103}#)
(#{opt\ 2987}#
#{b\ 3103}#
(reverse
#{rreq\ 3091}#)
'()))
#{tmp\ 3099}#)
((lambda (#{tmp\ 3104}#)
(if (if #{tmp\ 3104}#
(apply (lambda (#{a\ 3105}#
#{b\ 3106}#)
(eq? (syntax->datum
#{a\ 3105}#)
#:key))
#{tmp\ 3104}#)
#f)
(apply (lambda (#{a\ 3107}#
#{b\ 3108}#)
(#{key\ 2988}#
#{b\ 3108}#
(reverse
#{rreq\ 3091}#)
'()
'()))
#{tmp\ 3104}#)
((lambda (#{tmp\ 3109}#)
(if (if #{tmp\ 3109}#
(apply (lambda (#{a\ 3110}#
#{b\ 3111}#)
(eq? (syntax->datum
#{a\ 3110}#)
#:rest))
#{tmp\ 3109}#)
#f)
(apply (lambda (#{a\ 3112}#
#{b\ 3113}#)
(#{rest\ 2989}#
#{b\ 3113}#
(reverse
#{rreq\ 3091}#)
'()
'()))
#{tmp\ 3109}#)
((lambda (#{tmp\ 3114}#)
(if (if #{tmp\ 3114}#
(apply (lambda (#{r\ 3115}#)
(#{id?\ 2681}#
#{r\ 3115}#))
#{tmp\ 3114}#)
#f)
(apply (lambda (#{r\ 3116}#)
(#{rest\ 2989}#
#{r\ 3116}#
(reverse
#{rreq\ 3091}#)
'()
'()))
#{tmp\ 3114}#)
((lambda (#{else\ 3117}#)
(syntax-violation
'lambda*
"invalid argument list"
#{orig-args\ 2985}#
#{args\ 3090}#))
#{tmp\ 3092}#)))
(list #{tmp\ 3092}#))))
($sc-dispatch
#{tmp\ 3092}#
'(any any)))))
($sc-dispatch
#{tmp\ 3092}#
'(any . any)))))
($sc-dispatch
#{tmp\ 3092}#
'(any . any)))))
($sc-dispatch
#{tmp\ 3092}#
'(any . any)))))
($sc-dispatch #{tmp\ 3092}# (quote ()))))
#{args\ 3090}#))))
(#{req\ 2986}# #{orig-args\ 2985}# (quote ())))))
(#{chi-simple-lambda\ 2727}#
(lambda (#{e\ 3118}#
#{r\ 3119}#
#{w\ 3120}#
#{s\ 3121}#
#{mod\ 3122}#
#{req\ 3123}#
#{rest\ 3124}#
#{docstring\ 3125}#
#{body\ 3126}#)
(let ((#{ids\ 3127}#
(if #{rest\ 3124}#
(append #{req\ 3123}# (list #{rest\ 3124}#))
#{req\ 3123}#)))
(let ((#{vars\ 3128}#
(map #{gen-var\ 2731}# #{ids\ 3127}#)))
(let ((#{labels\ 3129}#
(#{gen-labels\ 2687}# #{ids\ 3127}#)))
(#{build-simple-lambda\ 2655}#
#{s\ 3121}#
(map syntax->datum #{req\ 3123}#)
(if #{rest\ 3124}#
(syntax->datum #{rest\ 3124}#)
#f)
#{vars\ 3128}#
#{docstring\ 3125}#
(#{chi-body\ 2721}#
#{body\ 3126}#
(#{source-wrap\ 2710}#
#{e\ 3118}#
#{w\ 3120}#
#{s\ 3121}#
#{mod\ 3122}#)
(#{extend-var-env\ 2676}#
#{labels\ 3129}#
#{vars\ 3128}#
#{r\ 3119}#)
(#{make-binding-wrap\ 2698}#
#{ids\ 3127}#
#{labels\ 3129}#
#{w\ 3120}#)
#{mod\ 3122}#)))))))
(#{lambda-formals\ 2726}#
(lambda (#{orig-args\ 3130}#)
(letrec ((#{check\ 3132}#
(lambda (#{req\ 3133}# #{rest\ 3134}#)
(if (#{distinct-bound-ids?\ 2707}#
(if #{rest\ 3134}#
(cons #{rest\ 3134}# #{req\ 3133}#)
#{req\ 3133}#))
(values #{req\ 3133}# #f #{rest\ 3134}# #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
#{orig-args\ 3130}#))))
(#{req\ 3131}#
(lambda (#{args\ 3135}# #{rreq\ 3136}#)
((lambda (#{tmp\ 3137}#)
((lambda (#{tmp\ 3138}#)
(if #{tmp\ 3138}#
(apply (lambda ()
(#{check\ 3132}#
(reverse #{rreq\ 3136}#)
#f))
#{tmp\ 3138}#)
((lambda (#{tmp\ 3139}#)
(if (if #{tmp\ 3139}#
(apply (lambda (#{a\ 3140}#
#{b\ 3141}#)
(#{id?\ 2681}#
#{a\ 3140}#))
#{tmp\ 3139}#)
#f)
(apply (lambda (#{a\ 3142}#
#{b\ 3143}#)
(#{req\ 3131}#
#{b\ 3143}#
(cons #{a\ 3142}#
#{rreq\ 3136}#)))
#{tmp\ 3139}#)
((lambda (#{tmp\ 3144}#)
(if (if #{tmp\ 3144}#
(apply (lambda (#{r\ 3145}#)
(#{id?\ 2681}#
#{r\ 3145}#))
#{tmp\ 3144}#)
#f)
(apply (lambda (#{r\ 3146}#)
(#{check\ 3132}#
(reverse
#{rreq\ 3136}#)
#{r\ 3146}#))
#{tmp\ 3144}#)
((lambda (#{else\ 3147}#)
(syntax-violation
'lambda
"invalid argument list"
#{orig-args\ 3130}#
#{args\ 3135}#))
#{tmp\ 3137}#)))
(list #{tmp\ 3137}#))))
($sc-dispatch
#{tmp\ 3137}#
'(any . any)))))
($sc-dispatch #{tmp\ 3137}# (quote ()))))
#{args\ 3135}#))))
(#{req\ 3131}# #{orig-args\ 3130}# (quote ())))))
(#{ellipsis?\ 2725}#
(lambda (#{x\ 3148}#)
(if (#{nonsymbol-id?\ 2680}# #{x\ 3148}#)
(#{free-id=?\ 2704}#
#{x\ 3148}#
'#(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\ 2724}#
(lambda () (#{build-void\ 2645}# #f)))
(#{eval-local-transformer\ 2723}#
(lambda (#{expanded\ 3149}# #{mod\ 3150}#)
(let ((#{p\ 3151}#
(#{local-eval-hook\ 2641}#
#{expanded\ 3149}#
#{mod\ 3150}#)))
(if (procedure? #{p\ 3151}#)
#{p\ 3151}#
(syntax-violation
#f
"nonprocedure transformer"
#{p\ 3151}#)))))
(#{chi-local-syntax\ 2722}#
(lambda (#{rec?\ 3152}#
#{e\ 3153}#
#{r\ 3154}#
#{w\ 3155}#
#{s\ 3156}#
#{mod\ 3157}#
#{k\ 3158}#)
((lambda (#{tmp\ 3159}#)
((lambda (#{tmp\ 3160}#)
(if #{tmp\ 3160}#
(apply (lambda (#{_\ 3161}#
#{id\ 3162}#
#{val\ 3163}#
#{e1\ 3164}#
#{e2\ 3165}#)
(let ((#{ids\ 3166}# #{id\ 3162}#))
(if (not (#{valid-bound-ids?\ 2706}#
#{ids\ 3166}#))
(syntax-violation
#f
"duplicate bound keyword"
#{e\ 3153}#)
(let ((#{labels\ 3168}#
(#{gen-labels\ 2687}#
#{ids\ 3166}#)))
(let ((#{new-w\ 3169}#
(#{make-binding-wrap\ 2698}#
#{ids\ 3166}#
#{labels\ 3168}#
#{w\ 3155}#)))
(#{k\ 3158}#
(cons #{e1\ 3164}# #{e2\ 3165}#)
(#{extend-env\ 2675}#
#{labels\ 3168}#
(let ((#{w\ 3171}#
(if #{rec?\ 3152}#
#{new-w\ 3169}#
#{w\ 3155}#))
(#{trans-r\ 3172}#
(#{macros-only-env\ 2677}#
#{r\ 3154}#)))
(map (lambda (#{x\ 3173}#)
(cons 'macro
(#{eval-local-transformer\ 2723}#
(#{chi\ 2717}#
#{x\ 3173}#
#{trans-r\ 3172}#
#{w\ 3171}#
#{mod\ 3157}#)
#{mod\ 3157}#)))
#{val\ 3163}#))
#{r\ 3154}#)
#{new-w\ 3169}#
#{s\ 3156}#
#{mod\ 3157}#))))))
#{tmp\ 3160}#)
((lambda (#{_\ 3175}#)
(syntax-violation
#f
"bad local syntax definition"
(#{source-wrap\ 2710}#
#{e\ 3153}#
#{w\ 3155}#
#{s\ 3156}#
#{mod\ 3157}#)))
#{tmp\ 3159}#)))
($sc-dispatch
#{tmp\ 3159}#
'(any #(each (any any)) any . each-any))))
#{e\ 3153}#)))
(#{chi-body\ 2721}#
(lambda (#{body\ 3176}#
#{outer-form\ 3177}#
#{r\ 3178}#
#{w\ 3179}#
#{mod\ 3180}#)
(let ((#{r\ 3181}#
(cons '("placeholder" placeholder)
#{r\ 3178}#)))
(let ((#{ribcage\ 3182}#
(#{make-ribcage\ 2688}#
'()
'()
'())))
(let ((#{w\ 3183}#
(#{make-wrap\ 2683}#
(#{wrap-marks\ 2684}# #{w\ 3179}#)
(cons #{ribcage\ 3182}#
(#{wrap-subst\ 2685}# #{w\ 3179}#)))))
(letrec ((#{parse\ 3184}#
(lambda (#{body\ 3185}#
#{ids\ 3186}#
#{labels\ 3187}#
#{var-ids\ 3188}#
#{vars\ 3189}#
#{vals\ 3190}#
#{bindings\ 3191}#)
(if (null? #{body\ 3185}#)
(syntax-violation
#f
"no expressions in body"
#{outer-form\ 3177}#)
(let ((#{e\ 3193}# (cdar #{body\ 3185}#))
(#{er\ 3194}# (caar #{body\ 3185}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 2715}#
#{e\ 3193}#
#{er\ 3194}#
'(())
(#{source-annotation\ 2672}#
#{er\ 3194}#)
#{ribcage\ 3182}#
#{mod\ 3180}#
#f))
(lambda (#{type\ 3195}#
#{value\ 3196}#
#{e\ 3197}#
#{w\ 3198}#
#{s\ 3199}#
#{mod\ 3200}#)
(if (memv #{type\ 3195}#
'(define-form))
(let ((#{id\ 3201}#
(#{wrap\ 2709}#
#{value\ 3196}#
#{w\ 3198}#
#{mod\ 3200}#))
(#{label\ 3202}#
(#{gen-label\ 2686}#)))
(let ((#{var\ 3203}#
(#{gen-var\ 2731}#
#{id\ 3201}#)))
(begin
(#{extend-ribcage!\ 2697}#
#{ribcage\ 3182}#
#{id\ 3201}#
#{label\ 3202}#)
(#{parse\ 3184}#
(cdr #{body\ 3185}#)
(cons #{id\ 3201}#
#{ids\ 3186}#)
(cons #{label\ 3202}#
#{labels\ 3187}#)
(cons #{id\ 3201}#
#{var-ids\ 3188}#)
(cons #{var\ 3203}#
#{vars\ 3189}#)
(cons (cons #{er\ 3194}#
(#{wrap\ 2709}#
#{e\ 3197}#
#{w\ 3198}#
#{mod\ 3200}#))
#{vals\ 3190}#)
(cons (cons 'lexical
#{var\ 3203}#)
#{bindings\ 3191}#)))))
(if (memv #{type\ 3195}#
'(define-syntax-form))
(let ((#{id\ 3204}#
(#{wrap\ 2709}#
#{value\ 3196}#
#{w\ 3198}#
#{mod\ 3200}#))
(#{label\ 3205}#
(#{gen-label\ 2686}#)))
(begin
(#{extend-ribcage!\ 2697}#
#{ribcage\ 3182}#
#{id\ 3204}#
#{label\ 3205}#)
(#{parse\ 3184}#
(cdr #{body\ 3185}#)
(cons #{id\ 3204}#
#{ids\ 3186}#)
(cons #{label\ 3205}#
#{labels\ 3187}#)
#{var-ids\ 3188}#
#{vars\ 3189}#
#{vals\ 3190}#
(cons (cons 'macro
(cons #{er\ 3194}#
(#{wrap\ 2709}#
#{e\ 3197}#
#{w\ 3198}#
#{mod\ 3200}#)))
#{bindings\ 3191}#))))
(if (memv #{type\ 3195}#
'(begin-form))
((lambda (#{tmp\ 3206}#)
((lambda (#{tmp\ 3207}#)
(if #{tmp\ 3207}#
(apply (lambda (#{_\ 3208}#
#{e1\ 3209}#)
(#{parse\ 3184}#
(letrec ((#{f\ 3210}#
(lambda (#{forms\ 3211}#)
(if (null? #{forms\ 3211}#)
(cdr #{body\ 3185}#)
(cons (cons #{er\ 3194}#
(#{wrap\ 2709}#
(car #{forms\ 3211}#)
#{w\ 3198}#
#{mod\ 3200}#))
(#{f\ 3210}#
(cdr #{forms\ 3211}#)))))))
(#{f\ 3210}#
#{e1\ 3209}#))
#{ids\ 3186}#
#{labels\ 3187}#
#{var-ids\ 3188}#
#{vars\ 3189}#
#{vals\ 3190}#
#{bindings\ 3191}#))
#{tmp\ 3207}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3206}#)))
($sc-dispatch
#{tmp\ 3206}#
'(any . each-any))))
#{e\ 3197}#)
(if (memv #{type\ 3195}#
'(local-syntax-form))
(#{chi-local-syntax\ 2722}#
#{value\ 3196}#
#{e\ 3197}#
#{er\ 3194}#
#{w\ 3198}#
#{s\ 3199}#
#{mod\ 3200}#
(lambda (#{forms\ 3213}#
#{er\ 3214}#
#{w\ 3215}#
#{s\ 3216}#
#{mod\ 3217}#)
(#{parse\ 3184}#
(letrec ((#{f\ 3218}#
(lambda (#{forms\ 3219}#)
(if (null? #{forms\ 3219}#)
(cdr #{body\ 3185}#)
(cons (cons #{er\ 3214}#
(#{wrap\ 2709}#
(car #{forms\ 3219}#)
#{w\ 3215}#
#{mod\ 3217}#))
(#{f\ 3218}#
(cdr #{forms\ 3219}#)))))))
(#{f\ 3218}#
#{forms\ 3213}#))
#{ids\ 3186}#
#{labels\ 3187}#
#{var-ids\ 3188}#
#{vars\ 3189}#
#{vals\ 3190}#
#{bindings\ 3191}#)))
(if (null? #{ids\ 3186}#)
(#{build-sequence\ 2660}#
#f
(map (lambda (#{x\ 3220}#)
(#{chi\ 2717}#
(cdr #{x\ 3220}#)
(car #{x\ 3220}#)
'(())
#{mod\ 3200}#))
(cons (cons #{er\ 3194}#
(#{source-wrap\ 2710}#
#{e\ 3197}#
#{w\ 3198}#
#{s\ 3199}#
#{mod\ 3200}#))
(cdr #{body\ 3185}#))))
(begin
(if (not (#{valid-bound-ids?\ 2706}#
#{ids\ 3186}#))
(syntax-violation
#f
"invalid or duplicate identifier in definition"
#{outer-form\ 3177}#))
(letrec ((#{loop\ 3221}#
(lambda (#{bs\ 3222}#
#{er-cache\ 3223}#
#{r-cache\ 3224}#)
(if (not (null? #{bs\ 3222}#))
(let ((#{b\ 3225}#
(car #{bs\ 3222}#)))
(if (eq? (car #{b\ 3225}#)
'macro)
(let ((#{er\ 3226}#
(cadr #{b\ 3225}#)))
(let ((#{r-cache\ 3227}#
(if (eq? #{er\ 3226}#
#{er-cache\ 3223}#)
#{r-cache\ 3224}#
(#{macros-only-env\ 2677}#
#{er\ 3226}#))))
(begin
(set-cdr!
#{b\ 3225}#
(#{eval-local-transformer\ 2723}#
(#{chi\ 2717}#
(cddr #{b\ 3225}#)
#{r-cache\ 3227}#
'(())
#{mod\ 3200}#)
#{mod\ 3200}#))
(#{loop\ 3221}#
(cdr #{bs\ 3222}#)
#{er\ 3226}#
#{r-cache\ 3227}#))))
(#{loop\ 3221}#
(cdr #{bs\ 3222}#)
#{er-cache\ 3223}#
#{r-cache\ 3224}#)))))))
(#{loop\ 3221}#
#{bindings\ 3191}#
#f
#f))
(set-cdr!
#{r\ 3181}#
(#{extend-env\ 2675}#
#{labels\ 3187}#
#{bindings\ 3191}#
(cdr #{r\ 3181}#)))
(#{build-letrec\ 2663}#
#f
(map syntax->datum
#{var-ids\ 3188}#)
#{vars\ 3189}#
(map (lambda (#{x\ 3228}#)
(#{chi\ 2717}#
(cdr #{x\ 3228}#)
(car #{x\ 3228}#)
'(())
#{mod\ 3200}#))
#{vals\ 3190}#)
(#{build-sequence\ 2660}#
#f
(map (lambda (#{x\ 3229}#)
(#{chi\ 2717}#
(cdr #{x\ 3229}#)
(car #{x\ 3229}#)
'(())
#{mod\ 3200}#))
(cons (cons #{er\ 3194}#
(#{source-wrap\ 2710}#
#{e\ 3197}#
#{w\ 3198}#
#{s\ 3199}#
#{mod\ 3200}#))
(cdr #{body\ 3185}#))))))))))))))))))
(#{parse\ 3184}#
(map (lambda (#{x\ 3192}#)
(cons #{r\ 3181}#
(#{wrap\ 2709}#
#{x\ 3192}#
#{w\ 3183}#
#{mod\ 3180}#)))
#{body\ 3176}#)
'()
'()
'()
'()
'()
'())))))))
(#{chi-macro\ 2720}#
(lambda (#{p\ 3230}#
#{e\ 3231}#
#{r\ 3232}#
#{w\ 3233}#
#{rib\ 3234}#
#{mod\ 3235}#)
(letrec ((#{rebuild-macro-output\ 3236}#
(lambda (#{x\ 3237}# #{m\ 3238}#)
(if (pair? #{x\ 3237}#)
(cons (#{rebuild-macro-output\ 3236}#
(car #{x\ 3237}#)
#{m\ 3238}#)
(#{rebuild-macro-output\ 3236}#
(cdr #{x\ 3237}#)
#{m\ 3238}#))
(if (#{syntax-object?\ 2665}# #{x\ 3237}#)
(let ((#{w\ 3239}#
(#{syntax-object-wrap\ 2667}#
#{x\ 3237}#)))
(let ((#{ms\ 3240}#
(#{wrap-marks\ 2684}# #{w\ 3239}#))
(#{s\ 3241}#
(#{wrap-subst\ 2685}# #{w\ 3239}#)))
(if (if (pair? #{ms\ 3240}#)
(eq? (car #{ms\ 3240}#) #f)
#f)
(#{make-syntax-object\ 2664}#
(#{syntax-object-expression\ 2666}#
#{x\ 3237}#)
(#{make-wrap\ 2683}#
(cdr #{ms\ 3240}#)
(if #{rib\ 3234}#
(cons #{rib\ 3234}#
(cdr #{s\ 3241}#))
(cdr #{s\ 3241}#)))
(#{syntax-object-module\ 2668}#
#{x\ 3237}#))
(#{make-syntax-object\ 2664}#
(#{syntax-object-expression\ 2666}#
#{x\ 3237}#)
(#{make-wrap\ 2683}#
(cons #{m\ 3238}# #{ms\ 3240}#)
(if #{rib\ 3234}#
(cons #{rib\ 3234}#
(cons 'shift
#{s\ 3241}#))
(cons (quote shift) #{s\ 3241}#)))
(let ((#{pmod\ 3242}#
(procedure-module
#{p\ 3230}#)))
(if #{pmod\ 3242}#
(cons 'hygiene
(module-name #{pmod\ 3242}#))
'(hygiene guile)))))))
(if (vector? #{x\ 3237}#)
(let ((#{n\ 3243}#
(vector-length #{x\ 3237}#)))
(let ((#{v\ 3244}#
(make-vector #{n\ 3243}#)))
(letrec ((#{loop\ 3245}#
(lambda (#{i\ 3246}#)
(if (#{fx=\ 2638}#
#{i\ 3246}#
#{n\ 3243}#)
(begin
(if #f #f)
#{v\ 3244}#)
(begin
(vector-set!
#{v\ 3244}#
#{i\ 3246}#
(#{rebuild-macro-output\ 3236}#
(vector-ref
#{x\ 3237}#
#{i\ 3246}#)
#{m\ 3238}#))
(#{loop\ 3245}#
(#{fx+\ 2636}#
#{i\ 3246}#
1)))))))
(#{loop\ 3245}# 0))))
(if (symbol? #{x\ 3237}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
(#{source-wrap\ 2710}#
#{e\ 3231}#
#{w\ 3233}#
(#{wrap-subst\ 2685}# #{w\ 3233}#)
#{mod\ 3235}#)
#{x\ 3237}#)
#{x\ 3237}#)))))))
(#{rebuild-macro-output\ 3236}#
(#{p\ 3230}#
(#{wrap\ 2709}#
#{e\ 3231}#
(#{anti-mark\ 2696}# #{w\ 3233}#)
#{mod\ 3235}#))
(string #\m)))))
(#{chi-application\ 2719}#
(lambda (#{x\ 3247}#
#{e\ 3248}#
#{r\ 3249}#
#{w\ 3250}#
#{s\ 3251}#
#{mod\ 3252}#)
((lambda (#{tmp\ 3253}#)
((lambda (#{tmp\ 3254}#)
(if #{tmp\ 3254}#
(apply (lambda (#{e0\ 3255}# #{e1\ 3256}#)
(#{build-application\ 2646}#
#{s\ 3251}#
#{x\ 3247}#
(map (lambda (#{e\ 3257}#)
(#{chi\ 2717}#
#{e\ 3257}#
#{r\ 3249}#
#{w\ 3250}#
#{mod\ 3252}#))
#{e1\ 3256}#)))
#{tmp\ 3254}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3253}#)))
($sc-dispatch
#{tmp\ 3253}#
'(any . each-any))))
#{e\ 3248}#)))
(#{chi-expr\ 2718}#
(lambda (#{type\ 3259}#
#{value\ 3260}#
#{e\ 3261}#
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
(if (memv #{type\ 3259}# (quote (lexical)))
(#{build-lexical-reference\ 2648}#
'value
#{s\ 3264}#
#{e\ 3261}#
#{value\ 3260}#)
(if (memv #{type\ 3259}# (quote (core core-form)))
(#{value\ 3260}#
#{e\ 3261}#
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
(if (memv #{type\ 3259}# (quote (module-ref)))
(call-with-values
(lambda () (#{value\ 3260}# #{e\ 3261}#))
(lambda (#{id\ 3266}# #{mod\ 3267}#)
(#{build-global-reference\ 2651}#
#{s\ 3264}#
#{id\ 3266}#
#{mod\ 3267}#)))
(if (memv #{type\ 3259}# (quote (lexical-call)))
(#{chi-application\ 2719}#
(#{build-lexical-reference\ 2648}#
'fun
(#{source-annotation\ 2672}# (car #{e\ 3261}#))
(car #{e\ 3261}#)
#{value\ 3260}#)
#{e\ 3261}#
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
(if (memv #{type\ 3259}# (quote (global-call)))
(#{chi-application\ 2719}#
(#{build-global-reference\ 2651}#
(#{source-annotation\ 2672}# (car #{e\ 3261}#))
(if (#{syntax-object?\ 2665}# #{value\ 3260}#)
(#{syntax-object-expression\ 2666}#
#{value\ 3260}#)
#{value\ 3260}#)
(if (#{syntax-object?\ 2665}# #{value\ 3260}#)
(#{syntax-object-module\ 2668}# #{value\ 3260}#)
#{mod\ 3265}#))
#{e\ 3261}#
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
(if (memv #{type\ 3259}# (quote (constant)))
(#{build-data\ 2659}#
#{s\ 3264}#
(#{strip\ 2730}#
(#{source-wrap\ 2710}#
#{e\ 3261}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
'(())))
(if (memv #{type\ 3259}# (quote (global)))
(#{build-global-reference\ 2651}#
#{s\ 3264}#
#{value\ 3260}#
#{mod\ 3265}#)
(if (memv #{type\ 3259}# (quote (call)))
(#{chi-application\ 2719}#
(#{chi\ 2717}#
(car #{e\ 3261}#)
#{r\ 3262}#
#{w\ 3263}#
#{mod\ 3265}#)
#{e\ 3261}#
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
(if (memv #{type\ 3259}# (quote (begin-form)))
((lambda (#{tmp\ 3268}#)
((lambda (#{tmp\ 3269}#)
(if #{tmp\ 3269}#
(apply (lambda (#{_\ 3270}#
#{e1\ 3271}#
#{e2\ 3272}#)
(#{chi-sequence\ 2711}#
(cons #{e1\ 3271}#
#{e2\ 3272}#)
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#))
#{tmp\ 3269}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3268}#)))
($sc-dispatch
#{tmp\ 3268}#
'(any any . each-any))))
#{e\ 3261}#)
(if (memv #{type\ 3259}#
'(local-syntax-form))
(#{chi-local-syntax\ 2722}#
#{value\ 3260}#
#{e\ 3261}#
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#
#{chi-sequence\ 2711}#)
(if (memv #{type\ 3259}#
'(eval-when-form))
((lambda (#{tmp\ 3274}#)
((lambda (#{tmp\ 3275}#)
(if #{tmp\ 3275}#
(apply (lambda (#{_\ 3276}#
#{x\ 3277}#
#{e1\ 3278}#
#{e2\ 3279}#)
(let ((#{when-list\ 3280}#
(#{chi-when-list\ 2714}#
#{e\ 3261}#
#{x\ 3277}#
#{w\ 3263}#)))
(if (memq 'eval
#{when-list\ 3280}#)
(#{chi-sequence\ 2711}#
(cons #{e1\ 3278}#
#{e2\ 3279}#)
#{r\ 3262}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#)
(#{chi-void\ 2724}#))))
#{tmp\ 3275}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3274}#)))
($sc-dispatch
#{tmp\ 3274}#
'(any each-any any . each-any))))
#{e\ 3261}#)
(if (memv #{type\ 3259}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
#{e\ 3261}#
(#{wrap\ 2709}#
#{value\ 3260}#
#{w\ 3263}#
#{mod\ 3265}#))
(if (memv #{type\ 3259}#
'(syntax))
(syntax-violation
#f
"reference to pattern variable outside syntax form"
(#{source-wrap\ 2710}#
#{e\ 3261}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#))
(if (memv #{type\ 3259}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside its scope"
(#{source-wrap\ 2710}#
#{e\ 3261}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#))
(syntax-violation
#f
"unexpected syntax"
(#{source-wrap\ 2710}#
#{e\ 3261}#
#{w\ 3263}#
#{s\ 3264}#
#{mod\ 3265}#))))))))))))))))))
(#{chi\ 2717}#
(lambda (#{e\ 3283}#
#{r\ 3284}#
#{w\ 3285}#
#{mod\ 3286}#)
(call-with-values
(lambda ()
(#{syntax-type\ 2715}#
#{e\ 3283}#
#{r\ 3284}#
#{w\ 3285}#
(#{source-annotation\ 2672}# #{e\ 3283}#)
#f
#{mod\ 3286}#
#f))
(lambda (#{type\ 3287}#
#{value\ 3288}#
#{e\ 3289}#
#{w\ 3290}#
#{s\ 3291}#
#{mod\ 3292}#)
(#{chi-expr\ 2718}#
#{type\ 3287}#
#{value\ 3288}#
#{e\ 3289}#
#{r\ 3284}#
#{w\ 3290}#
#{s\ 3291}#
#{mod\ 3292}#)))))
(#{chi-top\ 2716}#
(lambda (#{e\ 3293}#
#{r\ 3294}#
#{w\ 3295}#
#{m\ 3296}#
#{esew\ 3297}#
#{mod\ 3298}#)
(call-with-values
(lambda ()
(#{syntax-type\ 2715}#
#{e\ 3293}#
#{r\ 3294}#
#{w\ 3295}#
(#{source-annotation\ 2672}# #{e\ 3293}#)
#f
#{mod\ 3298}#
#f))
(lambda (#{type\ 3306}#
#{value\ 3307}#
#{e\ 3308}#
#{w\ 3309}#
#{s\ 3310}#
#{mod\ 3311}#)
(if (memv #{type\ 3306}# (quote (begin-form)))
((lambda (#{tmp\ 3312}#)
((lambda (#{tmp\ 3313}#)
(if #{tmp\ 3313}#
(apply (lambda (#{_\ 3314}#) (#{chi-void\ 2724}#))
#{tmp\ 3313}#)
((lambda (#{tmp\ 3315}#)
(if #{tmp\ 3315}#
(apply (lambda (#{_\ 3316}#
#{e1\ 3317}#
#{e2\ 3318}#)
(#{chi-top-sequence\ 2712}#
(cons #{e1\ 3317}# #{e2\ 3318}#)
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
#{m\ 3296}#
#{esew\ 3297}#
#{mod\ 3311}#))
#{tmp\ 3315}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3312}#)))
($sc-dispatch
#{tmp\ 3312}#
'(any any . each-any)))))
($sc-dispatch #{tmp\ 3312}# (quote (any)))))
#{e\ 3308}#)
(if (memv #{type\ 3306}# (quote (local-syntax-form)))
(#{chi-local-syntax\ 2722}#
#{value\ 3307}#
#{e\ 3308}#
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
#{mod\ 3311}#
(lambda (#{body\ 3320}#
#{r\ 3321}#
#{w\ 3322}#
#{s\ 3323}#
#{mod\ 3324}#)
(#{chi-top-sequence\ 2712}#
#{body\ 3320}#
#{r\ 3321}#
#{w\ 3322}#
#{s\ 3323}#
#{m\ 3296}#
#{esew\ 3297}#
#{mod\ 3324}#)))
(if (memv #{type\ 3306}# (quote (eval-when-form)))
((lambda (#{tmp\ 3325}#)
((lambda (#{tmp\ 3326}#)
(if #{tmp\ 3326}#
(apply (lambda (#{_\ 3327}#
#{x\ 3328}#
#{e1\ 3329}#
#{e2\ 3330}#)
(let ((#{when-list\ 3331}#
(#{chi-when-list\ 2714}#
#{e\ 3308}#
#{x\ 3328}#
#{w\ 3309}#))
(#{body\ 3332}#
(cons #{e1\ 3329}#
#{e2\ 3330}#)))
(if (eq? #{m\ 3296}# (quote e))
(if (memq 'eval
#{when-list\ 3331}#)
(#{chi-top-sequence\ 2712}#
#{body\ 3332}#
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
'e
'(eval)
#{mod\ 3311}#)
(#{chi-void\ 2724}#))
(if (memq 'load
#{when-list\ 3331}#)
(if (let ((#{t\ 3335}#
(memq 'compile
#{when-list\ 3331}#)))
(if #{t\ 3335}#
#{t\ 3335}#
(if (eq? #{m\ 3296}#
'c&e)
(memq 'eval
#{when-list\ 3331}#)
#f)))
(#{chi-top-sequence\ 2712}#
#{body\ 3332}#
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
'c&e
'(compile load)
#{mod\ 3311}#)
(if (memq #{m\ 3296}#
'(c c&e))
(#{chi-top-sequence\ 2712}#
#{body\ 3332}#
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
'c
'(load)
#{mod\ 3311}#)
(#{chi-void\ 2724}#)))
(if (let ((#{t\ 3336}#
(memq 'compile
#{when-list\ 3331}#)))
(if #{t\ 3336}#
#{t\ 3336}#
(if (eq? #{m\ 3296}#
'c&e)
(memq 'eval
#{when-list\ 3331}#)
#f)))
(begin
(#{top-level-eval-hook\ 2640}#
(#{chi-top-sequence\ 2712}#
#{body\ 3332}#
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
'e
'(eval)
#{mod\ 3311}#)
#{mod\ 3311}#)
(#{chi-void\ 2724}#))
(#{chi-void\ 2724}#))))))
#{tmp\ 3326}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3325}#)))
($sc-dispatch
#{tmp\ 3325}#
'(any each-any any . each-any))))
#{e\ 3308}#)
(if (memv #{type\ 3306}#
'(define-syntax-form))
(let ((#{n\ 3337}#
(#{id-var-name\ 2703}#
#{value\ 3307}#
#{w\ 3309}#))
(#{r\ 3338}#
(#{macros-only-env\ 2677}# #{r\ 3294}#)))
(if (memv #{m\ 3296}# (quote (c)))
(if (memq (quote compile) #{esew\ 3297}#)
(let ((#{e\ 3339}#
(#{chi-install-global\ 2713}#
#{n\ 3337}#
(#{chi\ 2717}#
#{e\ 3308}#
#{r\ 3338}#
#{w\ 3309}#
#{mod\ 3311}#))))
(begin
(#{top-level-eval-hook\ 2640}#
#{e\ 3339}#
#{mod\ 3311}#)
(if (memq (quote load) #{esew\ 3297}#)
#{e\ 3339}#
(#{chi-void\ 2724}#))))
(if (memq (quote load) #{esew\ 3297}#)
(#{chi-install-global\ 2713}#
#{n\ 3337}#
(#{chi\ 2717}#
#{e\ 3308}#
#{r\ 3338}#
#{w\ 3309}#
#{mod\ 3311}#))
(#{chi-void\ 2724}#)))
(if (memv #{m\ 3296}# (quote (c&e)))
(let ((#{e\ 3340}#
(#{chi-install-global\ 2713}#
#{n\ 3337}#
(#{chi\ 2717}#
#{e\ 3308}#
#{r\ 3338}#
#{w\ 3309}#
#{mod\ 3311}#))))
(begin
(#{top-level-eval-hook\ 2640}#
#{e\ 3340}#
#{mod\ 3311}#)
#{e\ 3340}#))
(begin
(if (memq (quote eval) #{esew\ 3297}#)
(#{top-level-eval-hook\ 2640}#
(#{chi-install-global\ 2713}#
#{n\ 3337}#
(#{chi\ 2717}#
#{e\ 3308}#
#{r\ 3338}#
#{w\ 3309}#
#{mod\ 3311}#))
#{mod\ 3311}#))
(#{chi-void\ 2724}#)))))
(if (memv #{type\ 3306}# (quote (define-form)))
(let ((#{n\ 3341}#
(#{id-var-name\ 2703}#
#{value\ 3307}#
#{w\ 3309}#)))
(let ((#{type\ 3342}#
(#{binding-type\ 2673}#
(#{lookup\ 2678}#
#{n\ 3341}#
#{r\ 3294}#
#{mod\ 3311}#))))
(if (memv #{type\ 3342}#
'(global core macro module-ref))
(begin
(if (if (not (module-local-variable
(current-module)
#{n\ 3341}#))
(current-module)
#f)
(let ((#{old\ 3343}#
(module-variable
(current-module)
#{n\ 3341}#)))
(module-define!
(current-module)
#{n\ 3341}#
(if (variable? #{old\ 3343}#)
(variable-ref #{old\ 3343}#)
#f))))
(let ((#{x\ 3344}#
(#{build-global-definition\ 2654}#
#{s\ 3310}#
#{n\ 3341}#
(#{chi\ 2717}#
#{e\ 3308}#
#{r\ 3294}#
#{w\ 3309}#
#{mod\ 3311}#))))
(begin
(if (eq? #{m\ 3296}# (quote c&e))
(#{top-level-eval-hook\ 2640}#
#{x\ 3344}#
#{mod\ 3311}#))
#{x\ 3344}#)))
(if (memv #{type\ 3342}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
#{e\ 3308}#
(#{wrap\ 2709}#
#{value\ 3307}#
#{w\ 3309}#
#{mod\ 3311}#))
(syntax-violation
#f
"cannot define keyword at top level"
#{e\ 3308}#
(#{wrap\ 2709}#
#{value\ 3307}#
#{w\ 3309}#
#{mod\ 3311}#))))))
(let ((#{x\ 3345}#
(#{chi-expr\ 2718}#
#{type\ 3306}#
#{value\ 3307}#
#{e\ 3308}#
#{r\ 3294}#
#{w\ 3309}#
#{s\ 3310}#
#{mod\ 3311}#)))
(begin
(if (eq? #{m\ 3296}# (quote c&e))
(#{top-level-eval-hook\ 2640}#
#{x\ 3345}#
#{mod\ 3311}#))
#{x\ 3345}#)))))))))))
(#{syntax-type\ 2715}#
(lambda (#{e\ 3346}#
#{r\ 3347}#
#{w\ 3348}#
#{s\ 3349}#
#{rib\ 3350}#
#{mod\ 3351}#
#{for-car?\ 3352}#)
(if (symbol? #{e\ 3346}#)
(let ((#{n\ 3353}#
(#{id-var-name\ 2703}# #{e\ 3346}# #{w\ 3348}#)))
(let ((#{b\ 3354}#
(#{lookup\ 2678}#
#{n\ 3353}#
#{r\ 3347}#
#{mod\ 3351}#)))
(let ((#{type\ 3355}#
(#{binding-type\ 2673}# #{b\ 3354}#)))
(if (memv #{type\ 3355}# (quote (lexical)))
(values
#{type\ 3355}#
(#{binding-value\ 2674}# #{b\ 3354}#)
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{type\ 3355}# (quote (global)))
(values
#{type\ 3355}#
#{n\ 3353}#
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{type\ 3355}# (quote (macro)))
(if #{for-car?\ 3352}#
(values
#{type\ 3355}#
(#{binding-value\ 2674}# #{b\ 3354}#)
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(#{syntax-type\ 2715}#
(#{chi-macro\ 2720}#
(#{binding-value\ 2674}# #{b\ 3354}#)
#{e\ 3346}#
#{r\ 3347}#
#{w\ 3348}#
#{rib\ 3350}#
#{mod\ 3351}#)
#{r\ 3347}#
'(())
#{s\ 3349}#
#{rib\ 3350}#
#{mod\ 3351}#
#f))
(values
#{type\ 3355}#
(#{binding-value\ 2674}# #{b\ 3354}#)
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)))))))
(if (pair? #{e\ 3346}#)
(let ((#{first\ 3356}# (car #{e\ 3346}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 2715}#
#{first\ 3356}#
#{r\ 3347}#
#{w\ 3348}#
#{s\ 3349}#
#{rib\ 3350}#
#{mod\ 3351}#
#t))
(lambda (#{ftype\ 3357}#
#{fval\ 3358}#
#{fe\ 3359}#
#{fw\ 3360}#
#{fs\ 3361}#
#{fmod\ 3362}#)
(if (memv #{ftype\ 3357}# (quote (lexical)))
(values
'lexical-call
#{fval\ 3358}#
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{ftype\ 3357}# (quote (global)))
(values
'global-call
(#{make-syntax-object\ 2664}#
#{fval\ 3358}#
#{w\ 3348}#
#{fmod\ 3362}#)
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{ftype\ 3357}# (quote (macro)))
(#{syntax-type\ 2715}#
(#{chi-macro\ 2720}#
#{fval\ 3358}#
#{e\ 3346}#
#{r\ 3347}#
#{w\ 3348}#
#{rib\ 3350}#
#{mod\ 3351}#)
#{r\ 3347}#
'(())
#{s\ 3349}#
#{rib\ 3350}#
#{mod\ 3351}#
#{for-car?\ 3352}#)
(if (memv #{ftype\ 3357}# (quote (module-ref)))
(call-with-values
(lambda () (#{fval\ 3358}# #{e\ 3346}#))
(lambda (#{sym\ 3363}# #{mod\ 3364}#)
(#{syntax-type\ 2715}#
#{sym\ 3363}#
#{r\ 3347}#
#{w\ 3348}#
#{s\ 3349}#
#{rib\ 3350}#
#{mod\ 3364}#
#{for-car?\ 3352}#)))
(if (memv #{ftype\ 3357}# (quote (core)))
(values
'core-form
#{fval\ 3358}#
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{ftype\ 3357}#
'(local-syntax))
(values
'local-syntax-form
#{fval\ 3358}#
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{ftype\ 3357}# (quote (begin)))
(values
'begin-form
#f
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{ftype\ 3357}#
'(eval-when))
(values
'eval-when-form
#f
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(if (memv #{ftype\ 3357}#
'(define))
((lambda (#{tmp\ 3365}#)
((lambda (#{tmp\ 3366}#)
(if (if #{tmp\ 3366}#
(apply (lambda (#{_\ 3367}#
#{name\ 3368}#
#{val\ 3369}#)
(#{id?\ 2681}#
#{name\ 3368}#))
#{tmp\ 3366}#)
#f)
(apply (lambda (#{_\ 3370}#
#{name\ 3371}#
#{val\ 3372}#)
(values
'define-form
#{name\ 3371}#
#{val\ 3372}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#))
#{tmp\ 3366}#)
((lambda (#{tmp\ 3373}#)
(if (if #{tmp\ 3373}#
(apply (lambda (#{_\ 3374}#
#{name\ 3375}#
#{args\ 3376}#
#{e1\ 3377}#
#{e2\ 3378}#)
(if (#{id?\ 2681}#
#{name\ 3375}#)
(#{valid-bound-ids?\ 2706}#
(#{lambda-var-list\ 2732}#
#{args\ 3376}#))
#f))
#{tmp\ 3373}#)
#f)
(apply (lambda (#{_\ 3379}#
#{name\ 3380}#
#{args\ 3381}#
#{e1\ 3382}#
#{e2\ 3383}#)
(values
'define-form
(#{wrap\ 2709}#
#{name\ 3380}#
#{w\ 3348}#
#{mod\ 3351}#)
(#{decorate-source\ 2644}#
(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\ 2709}#
(cons #{args\ 3381}#
(cons #{e1\ 3382}#
#{e2\ 3383}#))
#{w\ 3348}#
#{mod\ 3351}#))
#{s\ 3349}#)
'(())
#{s\ 3349}#
#{mod\ 3351}#))
#{tmp\ 3373}#)
((lambda (#{tmp\ 3385}#)
(if (if #{tmp\ 3385}#
(apply (lambda (#{_\ 3386}#
#{name\ 3387}#)
(#{id?\ 2681}#
#{name\ 3387}#))
#{tmp\ 3385}#)
#f)
(apply (lambda (#{_\ 3388}#
#{name\ 3389}#)
(values
'define-form
(#{wrap\ 2709}#
#{name\ 3389}#
#{w\ 3348}#
#{mod\ 3351}#)
'(#(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\ 3349}#
#{mod\ 3351}#))
#{tmp\ 3385}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3365}#)))
($sc-dispatch
#{tmp\ 3365}#
'(any any)))))
($sc-dispatch
#{tmp\ 3365}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
#{tmp\ 3365}#
'(any any any))))
#{e\ 3346}#)
(if (memv #{ftype\ 3357}#
'(define-syntax))
((lambda (#{tmp\ 3390}#)
((lambda (#{tmp\ 3391}#)
(if (if #{tmp\ 3391}#
(apply (lambda (#{_\ 3392}#
#{name\ 3393}#
#{val\ 3394}#)
(#{id?\ 2681}#
#{name\ 3393}#))
#{tmp\ 3391}#)
#f)
(apply (lambda (#{_\ 3395}#
#{name\ 3396}#
#{val\ 3397}#)
(values
'define-syntax-form
#{name\ 3396}#
#{val\ 3397}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#))
#{tmp\ 3391}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3390}#)))
($sc-dispatch
#{tmp\ 3390}#
'(any any any))))
#{e\ 3346}#)
(values
'call
#f
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#))))))))))))))
(if (#{syntax-object?\ 2665}# #{e\ 3346}#)
(#{syntax-type\ 2715}#
(#{syntax-object-expression\ 2666}# #{e\ 3346}#)
#{r\ 3347}#
(#{join-wraps\ 2700}#
#{w\ 3348}#
(#{syntax-object-wrap\ 2667}# #{e\ 3346}#))
#{s\ 3349}#
#{rib\ 3350}#
(let ((#{t\ 3398}#
(#{syntax-object-module\ 2668}# #{e\ 3346}#)))
(if #{t\ 3398}# #{t\ 3398}# #{mod\ 3351}#))
#{for-car?\ 3352}#)
(if (self-evaluating? #{e\ 3346}#)
(values
'constant
#f
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)
(values
'other
#f
#{e\ 3346}#
#{w\ 3348}#
#{s\ 3349}#
#{mod\ 3351}#)))))))
(#{chi-when-list\ 2714}#
(lambda (#{e\ 3399}# #{when-list\ 3400}# #{w\ 3401}#)
(letrec ((#{f\ 3402}#
(lambda (#{when-list\ 3403}# #{situations\ 3404}#)
(if (null? #{when-list\ 3403}#)
#{situations\ 3404}#
(#{f\ 3402}#
(cdr #{when-list\ 3403}#)
(cons (let ((#{x\ 3405}#
(car #{when-list\ 3403}#)))
(if (#{free-id=?\ 2704}#
#{x\ 3405}#
'#(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=?\ 2704}#
#{x\ 3405}#
'#(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=?\ 2704}#
#{x\ 3405}#
'#(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\ 3399}#
(#{wrap\ 2709}#
#{x\ 3405}#
#{w\ 3401}#
#f))))))
#{situations\ 3404}#))))))
(#{f\ 3402}# #{when-list\ 3400}# (quote ())))))
(#{chi-install-global\ 2713}#
(lambda (#{name\ 3406}# #{e\ 3407}#)
(#{build-global-definition\ 2654}#
#f
#{name\ 3406}#
(if (let ((#{v\ 3408}#
(module-variable
(current-module)
#{name\ 3406}#)))
(if #{v\ 3408}#
(if (variable-bound? #{v\ 3408}#)
(if (macro? (variable-ref #{v\ 3408}#))
(not (eq? (macro-type (variable-ref #{v\ 3408}#))
'syncase-macro))
#f)
#f)
#f))
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}#
#f
'make-extended-syncase-macro)
(list (#{build-application\ 2646}#
#f
(#{build-primref\ 2658}# #f (quote module-ref))
(list (#{build-application\ 2646}#
#f
(#{build-primref\ 2658}#
#f
'current-module)
'())
(#{build-data\ 2659}# #f #{name\ 3406}#)))
(#{build-data\ 2659}# #f (quote macro))
#{e\ 3407}#))
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}#
#f
'make-syncase-macro)
(list (#{build-data\ 2659}# #f (quote macro))
#{e\ 3407}#))))))
(#{chi-top-sequence\ 2712}#
(lambda (#{body\ 3409}#
#{r\ 3410}#
#{w\ 3411}#
#{s\ 3412}#
#{m\ 3413}#
#{esew\ 3414}#
#{mod\ 3415}#)
(#{build-sequence\ 2660}#
#{s\ 3412}#
(letrec ((#{dobody\ 3416}#
(lambda (#{body\ 3417}#
#{r\ 3418}#
#{w\ 3419}#
#{m\ 3420}#
#{esew\ 3421}#
#{mod\ 3422}#)
(if (null? #{body\ 3417}#)
'()
(let ((#{first\ 3423}#
(#{chi-top\ 2716}#
(car #{body\ 3417}#)
#{r\ 3418}#
#{w\ 3419}#
#{m\ 3420}#
#{esew\ 3421}#
#{mod\ 3422}#)))
(cons #{first\ 3423}#
(#{dobody\ 3416}#
(cdr #{body\ 3417}#)
#{r\ 3418}#
#{w\ 3419}#
#{m\ 3420}#
#{esew\ 3421}#
#{mod\ 3422}#)))))))
(#{dobody\ 3416}#
#{body\ 3409}#
#{r\ 3410}#
#{w\ 3411}#
#{m\ 3413}#
#{esew\ 3414}#
#{mod\ 3415}#)))))
(#{chi-sequence\ 2711}#
(lambda (#{body\ 3424}#
#{r\ 3425}#
#{w\ 3426}#
#{s\ 3427}#
#{mod\ 3428}#)
(#{build-sequence\ 2660}#
#{s\ 3427}#
(letrec ((#{dobody\ 3429}#
(lambda (#{body\ 3430}#
#{r\ 3431}#
#{w\ 3432}#
#{mod\ 3433}#)
(if (null? #{body\ 3430}#)
'()
(let ((#{first\ 3434}#
(#{chi\ 2717}#
(car #{body\ 3430}#)
#{r\ 3431}#
#{w\ 3432}#
#{mod\ 3433}#)))
(cons #{first\ 3434}#
(#{dobody\ 3429}#
(cdr #{body\ 3430}#)
#{r\ 3431}#
#{w\ 3432}#
#{mod\ 3433}#)))))))
(#{dobody\ 3429}#
#{body\ 3424}#
#{r\ 3425}#
#{w\ 3426}#
#{mod\ 3428}#)))))
(#{source-wrap\ 2710}#
(lambda (#{x\ 3435}#
#{w\ 3436}#
#{s\ 3437}#
#{defmod\ 3438}#)
(#{wrap\ 2709}#
(#{decorate-source\ 2644}#
#{x\ 3435}#
#{s\ 3437}#)
#{w\ 3436}#
#{defmod\ 3438}#)))
(#{wrap\ 2709}#
(lambda (#{x\ 3439}# #{w\ 3440}# #{defmod\ 3441}#)
(if (if (null? (#{wrap-marks\ 2684}# #{w\ 3440}#))
(null? (#{wrap-subst\ 2685}# #{w\ 3440}#))
#f)
#{x\ 3439}#
(if (#{syntax-object?\ 2665}# #{x\ 3439}#)
(#{make-syntax-object\ 2664}#
(#{syntax-object-expression\ 2666}# #{x\ 3439}#)
(#{join-wraps\ 2700}#
#{w\ 3440}#
(#{syntax-object-wrap\ 2667}# #{x\ 3439}#))
(#{syntax-object-module\ 2668}# #{x\ 3439}#))
(if (null? #{x\ 3439}#)
#{x\ 3439}#
(#{make-syntax-object\ 2664}#
#{x\ 3439}#
#{w\ 3440}#
#{defmod\ 3441}#))))))
(#{bound-id-member?\ 2708}#
(lambda (#{x\ 3442}# #{list\ 3443}#)
(if (not (null? #{list\ 3443}#))
(let ((#{t\ 3444}#
(#{bound-id=?\ 2705}#
#{x\ 3442}#
(car #{list\ 3443}#))))
(if #{t\ 3444}#
#{t\ 3444}#
(#{bound-id-member?\ 2708}#
#{x\ 3442}#
(cdr #{list\ 3443}#))))
#f)))
(#{distinct-bound-ids?\ 2707}#
(lambda (#{ids\ 3445}#)
(letrec ((#{distinct?\ 3446}#
(lambda (#{ids\ 3447}#)
(let ((#{t\ 3448}# (null? #{ids\ 3447}#)))
(if #{t\ 3448}#
#{t\ 3448}#
(if (not (#{bound-id-member?\ 2708}#
(car #{ids\ 3447}#)
(cdr #{ids\ 3447}#)))
(#{distinct?\ 3446}# (cdr #{ids\ 3447}#))
#f))))))
(#{distinct?\ 3446}# #{ids\ 3445}#))))
(#{valid-bound-ids?\ 2706}#
(lambda (#{ids\ 3449}#)
(if (letrec ((#{all-ids?\ 3450}#
(lambda (#{ids\ 3451}#)
(let ((#{t\ 3452}# (null? #{ids\ 3451}#)))
(if #{t\ 3452}#
#{t\ 3452}#
(if (#{id?\ 2681}# (car #{ids\ 3451}#))
(#{all-ids?\ 3450}# (cdr #{ids\ 3451}#))
#f))))))
(#{all-ids?\ 3450}# #{ids\ 3449}#))
(#{distinct-bound-ids?\ 2707}# #{ids\ 3449}#)
#f)))
(#{bound-id=?\ 2705}#
(lambda (#{i\ 3453}# #{j\ 3454}#)
(if (if (#{syntax-object?\ 2665}# #{i\ 3453}#)
(#{syntax-object?\ 2665}# #{j\ 3454}#)
#f)
(if (eq? (#{syntax-object-expression\ 2666}# #{i\ 3453}#)
(#{syntax-object-expression\ 2666}# #{j\ 3454}#))
(#{same-marks?\ 2702}#
(#{wrap-marks\ 2684}#
(#{syntax-object-wrap\ 2667}# #{i\ 3453}#))
(#{wrap-marks\ 2684}#
(#{syntax-object-wrap\ 2667}# #{j\ 3454}#)))
#f)
(eq? #{i\ 3453}# #{j\ 3454}#))))
(#{free-id=?\ 2704}#
(lambda (#{i\ 3455}# #{j\ 3456}#)
(if (eq? (let ((#{x\ 3457}# #{i\ 3455}#))
(if (#{syntax-object?\ 2665}# #{x\ 3457}#)
(#{syntax-object-expression\ 2666}# #{x\ 3457}#)
#{x\ 3457}#))
(let ((#{x\ 3458}# #{j\ 3456}#))
(if (#{syntax-object?\ 2665}# #{x\ 3458}#)
(#{syntax-object-expression\ 2666}# #{x\ 3458}#)
#{x\ 3458}#)))
(eq? (#{id-var-name\ 2703}# #{i\ 3455}# (quote (())))
(#{id-var-name\ 2703}# #{j\ 3456}# (quote (()))))
#f)))
(#{id-var-name\ 2703}#
(lambda (#{id\ 3459}# #{w\ 3460}#)
(letrec ((#{search-vector-rib\ 3463}#
(lambda (#{sym\ 3469}#
#{subst\ 3470}#
#{marks\ 3471}#
#{symnames\ 3472}#
#{ribcage\ 3473}#)
(let ((#{n\ 3474}#
(vector-length #{symnames\ 3472}#)))
(letrec ((#{f\ 3475}#
(lambda (#{i\ 3476}#)
(if (#{fx=\ 2638}#
#{i\ 3476}#
#{n\ 3474}#)
(#{search\ 3461}#
#{sym\ 3469}#
(cdr #{subst\ 3470}#)
#{marks\ 3471}#)
(if (if (eq? (vector-ref
#{symnames\ 3472}#
#{i\ 3476}#)
#{sym\ 3469}#)
(#{same-marks?\ 2702}#
#{marks\ 3471}#
(vector-ref
(#{ribcage-marks\ 2691}#
#{ribcage\ 3473}#)
#{i\ 3476}#))
#f)
(values
(vector-ref
(#{ribcage-labels\ 2692}#
#{ribcage\ 3473}#)
#{i\ 3476}#)
#{marks\ 3471}#)
(#{f\ 3475}#
(#{fx+\ 2636}#
#{i\ 3476}#
1)))))))
(#{f\ 3475}# 0)))))
(#{search-list-rib\ 3462}#
(lambda (#{sym\ 3477}#
#{subst\ 3478}#
#{marks\ 3479}#
#{symnames\ 3480}#
#{ribcage\ 3481}#)
(letrec ((#{f\ 3482}#
(lambda (#{symnames\ 3483}# #{i\ 3484}#)
(if (null? #{symnames\ 3483}#)
(#{search\ 3461}#
#{sym\ 3477}#
(cdr #{subst\ 3478}#)
#{marks\ 3479}#)
(if (if (eq? (car #{symnames\ 3483}#)
#{sym\ 3477}#)
(#{same-marks?\ 2702}#
#{marks\ 3479}#
(list-ref
(#{ribcage-marks\ 2691}#
#{ribcage\ 3481}#)
#{i\ 3484}#))
#f)
(values
(list-ref
(#{ribcage-labels\ 2692}#
#{ribcage\ 3481}#)
#{i\ 3484}#)
#{marks\ 3479}#)
(#{f\ 3482}#
(cdr #{symnames\ 3483}#)
(#{fx+\ 2636}#
#{i\ 3484}#
1)))))))
(#{f\ 3482}# #{symnames\ 3480}# 0))))
(#{search\ 3461}#
(lambda (#{sym\ 3485}#
#{subst\ 3486}#
#{marks\ 3487}#)
(if (null? #{subst\ 3486}#)
(values #f #{marks\ 3487}#)
(let ((#{fst\ 3488}# (car #{subst\ 3486}#)))
(if (eq? #{fst\ 3488}# (quote shift))
(#{search\ 3461}#
#{sym\ 3485}#
(cdr #{subst\ 3486}#)
(cdr #{marks\ 3487}#))
(let ((#{symnames\ 3489}#
(#{ribcage-symnames\ 2690}#
#{fst\ 3488}#)))
(if (vector? #{symnames\ 3489}#)
(#{search-vector-rib\ 3463}#
#{sym\ 3485}#
#{subst\ 3486}#
#{marks\ 3487}#
#{symnames\ 3489}#
#{fst\ 3488}#)
(#{search-list-rib\ 3462}#
#{sym\ 3485}#
#{subst\ 3486}#
#{marks\ 3487}#
#{symnames\ 3489}#
#{fst\ 3488}#)))))))))
(if (symbol? #{id\ 3459}#)
(let ((#{t\ 3490}#
(call-with-values
(lambda ()
(#{search\ 3461}#
#{id\ 3459}#
(#{wrap-subst\ 2685}# #{w\ 3460}#)
(#{wrap-marks\ 2684}# #{w\ 3460}#)))
(lambda (#{x\ 3491}# . #{ignore\ 3492}#)
#{x\ 3491}#))))
(if #{t\ 3490}# #{t\ 3490}# #{id\ 3459}#))
(if (#{syntax-object?\ 2665}# #{id\ 3459}#)
(let ((#{id\ 3493}#
(#{syntax-object-expression\ 2666}# #{id\ 3459}#))
(#{w1\ 3494}#
(#{syntax-object-wrap\ 2667}# #{id\ 3459}#)))
(let ((#{marks\ 3495}#
(#{join-marks\ 2701}#
(#{wrap-marks\ 2684}# #{w\ 3460}#)
(#{wrap-marks\ 2684}# #{w1\ 3494}#))))
(call-with-values
(lambda ()
(#{search\ 3461}#
#{id\ 3493}#
(#{wrap-subst\ 2685}# #{w\ 3460}#)
#{marks\ 3495}#))
(lambda (#{new-id\ 3496}# #{marks\ 3497}#)
(let ((#{t\ 3498}# #{new-id\ 3496}#))
(if #{t\ 3498}#
#{t\ 3498}#
(let ((#{t\ 3499}#
(call-with-values
(lambda ()
(#{search\ 3461}#
#{id\ 3493}#
(#{wrap-subst\ 2685}#
#{w1\ 3494}#)
#{marks\ 3497}#))
(lambda (#{x\ 3500}#
.
#{ignore\ 3501}#)
#{x\ 3500}#))))
(if #{t\ 3499}#
#{t\ 3499}#
#{id\ 3493}#))))))))
(syntax-violation
'id-var-name
"invalid id"
#{id\ 3459}#))))))
(#{same-marks?\ 2702}#
(lambda (#{x\ 3502}# #{y\ 3503}#)
(let ((#{t\ 3504}# (eq? #{x\ 3502}# #{y\ 3503}#)))
(if #{t\ 3504}#
#{t\ 3504}#
(if (not (null? #{x\ 3502}#))
(if (not (null? #{y\ 3503}#))
(if (eq? (car #{x\ 3502}#) (car #{y\ 3503}#))
(#{same-marks?\ 2702}#
(cdr #{x\ 3502}#)
(cdr #{y\ 3503}#))
#f)
#f)
#f)))))
(#{join-marks\ 2701}#
(lambda (#{m1\ 3505}# #{m2\ 3506}#)
(#{smart-append\ 2699}#
#{m1\ 3505}#
#{m2\ 3506}#)))
(#{join-wraps\ 2700}#
(lambda (#{w1\ 3507}# #{w2\ 3508}#)
(let ((#{m1\ 3509}#
(#{wrap-marks\ 2684}# #{w1\ 3507}#))
(#{s1\ 3510}#
(#{wrap-subst\ 2685}# #{w1\ 3507}#)))
(if (null? #{m1\ 3509}#)
(if (null? #{s1\ 3510}#)
#{w2\ 3508}#
(#{make-wrap\ 2683}#
(#{wrap-marks\ 2684}# #{w2\ 3508}#)
(#{smart-append\ 2699}#
#{s1\ 3510}#
(#{wrap-subst\ 2685}# #{w2\ 3508}#))))
(#{make-wrap\ 2683}#
(#{smart-append\ 2699}#
#{m1\ 3509}#
(#{wrap-marks\ 2684}# #{w2\ 3508}#))
(#{smart-append\ 2699}#
#{s1\ 3510}#
(#{wrap-subst\ 2685}# #{w2\ 3508}#)))))))
(#{smart-append\ 2699}#
(lambda (#{m1\ 3511}# #{m2\ 3512}#)
(if (null? #{m2\ 3512}#)
#{m1\ 3511}#
(append #{m1\ 3511}# #{m2\ 3512}#))))
(#{make-binding-wrap\ 2698}#
(lambda (#{ids\ 3513}# #{labels\ 3514}# #{w\ 3515}#)
(if (null? #{ids\ 3513}#)
#{w\ 3515}#
(#{make-wrap\ 2683}#
(#{wrap-marks\ 2684}# #{w\ 3515}#)
(cons (let ((#{labelvec\ 3516}#
(list->vector #{labels\ 3514}#)))
(let ((#{n\ 3517}#
(vector-length #{labelvec\ 3516}#)))
(let ((#{symnamevec\ 3518}#
(make-vector #{n\ 3517}#))
(#{marksvec\ 3519}#
(make-vector #{n\ 3517}#)))
(begin
(letrec ((#{f\ 3520}#
(lambda (#{ids\ 3521}# #{i\ 3522}#)
(if (not (null? #{ids\ 3521}#))
(call-with-values
(lambda ()
(#{id-sym-name&marks\ 2682}#
(car #{ids\ 3521}#)
#{w\ 3515}#))
(lambda (#{symname\ 3523}#
#{marks\ 3524}#)
(begin
(vector-set!
#{symnamevec\ 3518}#
#{i\ 3522}#
#{symname\ 3523}#)
(vector-set!
#{marksvec\ 3519}#
#{i\ 3522}#
#{marks\ 3524}#)
(#{f\ 3520}#
(cdr #{ids\ 3521}#)
(#{fx+\ 2636}#
#{i\ 3522}#
1)))))))))
(#{f\ 3520}# #{ids\ 3513}# 0))
(#{make-ribcage\ 2688}#
#{symnamevec\ 3518}#
#{marksvec\ 3519}#
#{labelvec\ 3516}#)))))
(#{wrap-subst\ 2685}# #{w\ 3515}#))))))
(#{extend-ribcage!\ 2697}#
(lambda (#{ribcage\ 3525}# #{id\ 3526}# #{label\ 3527}#)
(begin
(#{set-ribcage-symnames!\ 2693}#
#{ribcage\ 3525}#
(cons (#{syntax-object-expression\ 2666}# #{id\ 3526}#)
(#{ribcage-symnames\ 2690}# #{ribcage\ 3525}#)))
(#{set-ribcage-marks!\ 2694}#
#{ribcage\ 3525}#
(cons (#{wrap-marks\ 2684}#
(#{syntax-object-wrap\ 2667}# #{id\ 3526}#))
(#{ribcage-marks\ 2691}# #{ribcage\ 3525}#)))
(#{set-ribcage-labels!\ 2695}#
#{ribcage\ 3525}#
(cons #{label\ 3527}#
(#{ribcage-labels\ 2692}# #{ribcage\ 3525}#))))))
(#{anti-mark\ 2696}#
(lambda (#{w\ 3528}#)
(#{make-wrap\ 2683}#
(cons #f (#{wrap-marks\ 2684}# #{w\ 3528}#))
(cons 'shift
(#{wrap-subst\ 2685}# #{w\ 3528}#)))))
(#{set-ribcage-labels!\ 2695}#
(lambda (#{x\ 3529}# #{update\ 3530}#)
(vector-set! #{x\ 3529}# 3 #{update\ 3530}#)))
(#{set-ribcage-marks!\ 2694}#
(lambda (#{x\ 3531}# #{update\ 3532}#)
(vector-set! #{x\ 3531}# 2 #{update\ 3532}#)))
(#{set-ribcage-symnames!\ 2693}#
(lambda (#{x\ 3533}# #{update\ 3534}#)
(vector-set! #{x\ 3533}# 1 #{update\ 3534}#)))
(#{ribcage-labels\ 2692}#
(lambda (#{x\ 3535}#) (vector-ref #{x\ 3535}# 3)))
(#{ribcage-marks\ 2691}#
(lambda (#{x\ 3536}#) (vector-ref #{x\ 3536}# 2)))
(#{ribcage-symnames\ 2690}#
(lambda (#{x\ 3537}#) (vector-ref #{x\ 3537}# 1)))
(#{ribcage?\ 2689}#
(lambda (#{x\ 3538}#)
(if (vector? #{x\ 3538}#)
(if (= (vector-length #{x\ 3538}#) 4)
(eq? (vector-ref #{x\ 3538}# 0) (quote ribcage))
#f)
#f)))
(#{make-ribcage\ 2688}#
(lambda (#{symnames\ 3539}#
#{marks\ 3540}#
#{labels\ 3541}#)
(vector
'ribcage
#{symnames\ 3539}#
#{marks\ 3540}#
#{labels\ 3541}#)))
(#{gen-labels\ 2687}#
(lambda (#{ls\ 3542}#)
(if (null? #{ls\ 3542}#)
'()
(cons (#{gen-label\ 2686}#)
(#{gen-labels\ 2687}# (cdr #{ls\ 3542}#))))))
(#{gen-label\ 2686}# (lambda () (string #\i)))
(#{wrap-subst\ 2685}# cdr)
(#{wrap-marks\ 2684}# car)
(#{make-wrap\ 2683}# cons)
(#{id-sym-name&marks\ 2682}#
(lambda (#{x\ 3543}# #{w\ 3544}#)
(if (#{syntax-object?\ 2665}# #{x\ 3543}#)
(values
(#{syntax-object-expression\ 2666}# #{x\ 3543}#)
(#{join-marks\ 2701}#
(#{wrap-marks\ 2684}# #{w\ 3544}#)
(#{wrap-marks\ 2684}#
(#{syntax-object-wrap\ 2667}# #{x\ 3543}#))))
(values
#{x\ 3543}#
(#{wrap-marks\ 2684}# #{w\ 3544}#)))))
(#{id?\ 2681}#
(lambda (#{x\ 3545}#)
(if (symbol? #{x\ 3545}#)
#t
(if (#{syntax-object?\ 2665}# #{x\ 3545}#)
(symbol?
(#{syntax-object-expression\ 2666}# #{x\ 3545}#))
#f))))
(#{nonsymbol-id?\ 2680}#
(lambda (#{x\ 3546}#)
(if (#{syntax-object?\ 2665}# #{x\ 3546}#)
(symbol?
(#{syntax-object-expression\ 2666}# #{x\ 3546}#))
#f)))
(#{global-extend\ 2679}#
(lambda (#{type\ 3547}# #{sym\ 3548}# #{val\ 3549}#)
(#{put-global-definition-hook\ 2642}#
#{sym\ 3548}#
#{type\ 3547}#
#{val\ 3549}#)))
(#{lookup\ 2678}#
(lambda (#{x\ 3550}# #{r\ 3551}# #{mod\ 3552}#)
(let ((#{t\ 3553}# (assq #{x\ 3550}# #{r\ 3551}#)))
(if #{t\ 3553}#
(cdr #{t\ 3553}#)
(if (symbol? #{x\ 3550}#)
(let ((#{t\ 3554}#
(#{get-global-definition-hook\ 2643}#
#{x\ 3550}#
#{mod\ 3552}#)))
(if #{t\ 3554}# #{t\ 3554}# (quote (global))))
'(displaced-lexical))))))
(#{macros-only-env\ 2677}#
(lambda (#{r\ 3555}#)
(if (null? #{r\ 3555}#)
'()
(let ((#{a\ 3556}# (car #{r\ 3555}#)))
(if (eq? (cadr #{a\ 3556}#) (quote macro))
(cons #{a\ 3556}#
(#{macros-only-env\ 2677}# (cdr #{r\ 3555}#)))
(#{macros-only-env\ 2677}# (cdr #{r\ 3555}#)))))))
(#{extend-var-env\ 2676}#
(lambda (#{labels\ 3557}# #{vars\ 3558}# #{r\ 3559}#)
(if (null? #{labels\ 3557}#)
#{r\ 3559}#
(#{extend-var-env\ 2676}#
(cdr #{labels\ 3557}#)
(cdr #{vars\ 3558}#)
(cons (cons (car #{labels\ 3557}#)
(cons (quote lexical) (car #{vars\ 3558}#)))
#{r\ 3559}#)))))
(#{extend-env\ 2675}#
(lambda (#{labels\ 3560}# #{bindings\ 3561}# #{r\ 3562}#)
(if (null? #{labels\ 3560}#)
#{r\ 3562}#
(#{extend-env\ 2675}#
(cdr #{labels\ 3560}#)
(cdr #{bindings\ 3561}#)
(cons (cons (car #{labels\ 3560}#)
(car #{bindings\ 3561}#))
#{r\ 3562}#)))))
(#{binding-value\ 2674}# cdr)
(#{binding-type\ 2673}# car)
(#{source-annotation\ 2672}#
(lambda (#{x\ 3563}#)
(if (#{syntax-object?\ 2665}# #{x\ 3563}#)
(#{source-annotation\ 2672}#
(#{syntax-object-expression\ 2666}# #{x\ 3563}#))
(if (pair? #{x\ 3563}#)
(let ((#{props\ 3564}# (source-properties #{x\ 3563}#)))
(if (pair? #{props\ 3564}#) #{props\ 3564}# #f))
#f))))
(#{set-syntax-object-module!\ 2671}#
(lambda (#{x\ 3565}# #{update\ 3566}#)
(vector-set! #{x\ 3565}# 3 #{update\ 3566}#)))
(#{set-syntax-object-wrap!\ 2670}#
(lambda (#{x\ 3567}# #{update\ 3568}#)
(vector-set! #{x\ 3567}# 2 #{update\ 3568}#)))
(#{set-syntax-object-expression!\ 2669}#
(lambda (#{x\ 3569}# #{update\ 3570}#)
(vector-set! #{x\ 3569}# 1 #{update\ 3570}#)))
(#{syntax-object-module\ 2668}#
(lambda (#{x\ 3571}#) (vector-ref #{x\ 3571}# 3)))
(#{syntax-object-wrap\ 2667}#
(lambda (#{x\ 3572}#) (vector-ref #{x\ 3572}# 2)))
(#{syntax-object-expression\ 2666}#
(lambda (#{x\ 3573}#) (vector-ref #{x\ 3573}# 1)))
(#{syntax-object?\ 2665}#
(lambda (#{x\ 3574}#)
(if (vector? #{x\ 3574}#)
(if (= (vector-length #{x\ 3574}#) 4)
(eq? (vector-ref #{x\ 3574}# 0)
'syntax-object)
#f)
#f)))
(#{make-syntax-object\ 2664}#
(lambda (#{expression\ 3575}#
#{wrap\ 3576}#
#{module\ 3577}#)
(vector
'syntax-object
#{expression\ 3575}#
#{wrap\ 3576}#
#{module\ 3577}#)))
(#{build-letrec\ 2663}#
(lambda (#{src\ 3578}#
#{ids\ 3579}#
#{vars\ 3580}#
#{val-exps\ 3581}#
#{body-exp\ 3582}#)
(if (null? #{vars\ 3580}#)
#{body-exp\ 3582}#
(let ((#{atom-key\ 3583}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3583}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 2653}#
#{ids\ 3579}#
#{val-exps\ 3581}#)
((@ (language tree-il) make-letrec)
#{src\ 3578}#
#{ids\ 3579}#
#{vars\ 3580}#
#{val-exps\ 3581}#
#{body-exp\ 3582}#))
(#{decorate-source\ 2644}#
(list 'letrec
(map list #{vars\ 3580}# #{val-exps\ 3581}#)
#{body-exp\ 3582}#)
#{src\ 3578}#))))))
(#{build-named-let\ 2662}#
(lambda (#{src\ 3584}#
#{ids\ 3585}#
#{vars\ 3586}#
#{val-exps\ 3587}#
#{body-exp\ 3588}#)
(let ((#{f\ 3589}# (car #{vars\ 3586}#))
(#{f-name\ 3590}# (car #{ids\ 3585}#))
(#{vars\ 3591}# (cdr #{vars\ 3586}#))
(#{ids\ 3592}# (cdr #{ids\ 3585}#)))
(let ((#{atom-key\ 3593}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3593}# (quote (c)))
(let ((#{proc\ 3594}#
(#{build-simple-lambda\ 2655}#
#{src\ 3584}#
#{ids\ 3592}#
#f
#{vars\ 3591}#
#f
#{body-exp\ 3588}#)))
(begin
(#{maybe-name-value!\ 2653}#
#{f-name\ 3590}#
#{proc\ 3594}#)
(for-each
#{maybe-name-value!\ 2653}#
#{ids\ 3592}#
#{val-exps\ 3587}#)
((@ (language tree-il) make-letrec)
#{src\ 3584}#
(list #{f-name\ 3590}#)
(list #{f\ 3589}#)
(list #{proc\ 3594}#)
(#{build-application\ 2646}#
#{src\ 3584}#
(#{build-lexical-reference\ 2648}#
'fun
#{src\ 3584}#
#{f-name\ 3590}#
#{f\ 3589}#)
#{val-exps\ 3587}#))))
(#{decorate-source\ 2644}#
(list 'letrec
(list (list #{f\ 3589}#
(list 'lambda
#{vars\ 3591}#
#{body-exp\ 3588}#)))
(cons #{f\ 3589}# #{val-exps\ 3587}#))
#{src\ 3584}#))))))
(#{build-let\ 2661}#
(lambda (#{src\ 3595}#
#{ids\ 3596}#
#{vars\ 3597}#
#{val-exps\ 3598}#
#{body-exp\ 3599}#)
(if (null? #{vars\ 3597}#)
#{body-exp\ 3599}#
(let ((#{atom-key\ 3600}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3600}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 2653}#
#{ids\ 3596}#
#{val-exps\ 3598}#)
((@ (language tree-il) make-let)
#{src\ 3595}#
#{ids\ 3596}#
#{vars\ 3597}#
#{val-exps\ 3598}#
#{body-exp\ 3599}#))
(#{decorate-source\ 2644}#
(list 'let
(map list #{vars\ 3597}# #{val-exps\ 3598}#)
#{body-exp\ 3599}#)
#{src\ 3595}#))))))
(#{build-sequence\ 2660}#
(lambda (#{src\ 3601}# #{exps\ 3602}#)
(if (null? (cdr #{exps\ 3602}#))
(car #{exps\ 3602}#)
(let ((#{atom-key\ 3603}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3603}# (quote (c)))
((@ (language tree-il) make-sequence)
#{src\ 3601}#
#{exps\ 3602}#)
(#{decorate-source\ 2644}#
(cons (quote begin) #{exps\ 3602}#)
#{src\ 3601}#))))))
(#{build-data\ 2659}#
(lambda (#{src\ 3604}# #{exp\ 3605}#)
(let ((#{atom-key\ 3606}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3606}# (quote (c)))
((@ (language tree-il) make-const)
#{src\ 3604}#
#{exp\ 3605}#)
(#{decorate-source\ 2644}#
(if (if (self-evaluating? #{exp\ 3605}#)
(not (vector? #{exp\ 3605}#))
#f)
#{exp\ 3605}#
(list (quote quote) #{exp\ 3605}#))
#{src\ 3604}#)))))
(#{build-primref\ 2658}#
(lambda (#{src\ 3607}# #{name\ 3608}#)
(if (equal?
(module-name (current-module))
'(guile))
(let ((#{atom-key\ 3609}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3609}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{src\ 3607}#
#{name\ 3608}#)
(#{decorate-source\ 2644}#
#{name\ 3608}#
#{src\ 3607}#)))
(let ((#{atom-key\ 3610}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3610}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{src\ 3607}#
'(guile)
#{name\ 3608}#
#f)
(#{decorate-source\ 2644}#
(list (quote @@) (quote (guile)) #{name\ 3608}#)
#{src\ 3607}#))))))
(#{build-lambda-case\ 2657}#
(lambda (#{src\ 3611}#
#{req\ 3612}#
#{opt\ 3613}#
#{rest\ 3614}#
#{kw\ 3615}#
#{inits\ 3616}#
#{vars\ 3617}#
#{body\ 3618}#
#{else-case\ 3619}#)
(let ((#{atom-key\ 3620}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3620}# (quote (c)))
((@ (language tree-il) make-lambda-case)
#{src\ 3611}#
#{req\ 3612}#
#{opt\ 3613}#
#{rest\ 3614}#
#{kw\ 3615}#
#{inits\ 3616}#
#{vars\ 3617}#
#{body\ 3618}#
#{else-case\ 3619}#)
(let ((#{nreq\ 3621}# (length #{req\ 3612}#)))
(let ((#{nopt\ 3622}#
(if #{opt\ 3613}# (length #{opt\ 3613}#) 0)))
(let ((#{rest-idx\ 3623}#
(if #{rest\ 3614}#
(+ #{nreq\ 3621}# #{nopt\ 3622}#)
#f)))
(let ((#{allow-other-keys?\ 3624}#
(if #{kw\ 3615}# (car #{kw\ 3615}#) #f)))
(let ((#{kw-indices\ 3625}#
(map (lambda (#{x\ 3626}#)
(cons (car #{x\ 3626}#)
(list-index
#{vars\ 3617}#
(caddr #{x\ 3626}#))))
(if #{kw\ 3615}#
(cdr #{kw\ 3615}#)
'()))))
(let ((#{nargs\ 3627}#
(apply max
(+ #{nreq\ 3621}#
#{nopt\ 3622}#
(if #{rest\ 3614}# 1 0))
(map 1+
(map cdr
#{kw-indices\ 3625}#)))))
(begin
(let ((#{t\ 3628}#
(= #{nargs\ 3627}#
(length #{vars\ 3617}#)
(+ #{nreq\ 3621}#
(length #{inits\ 3616}#)
(if #{rest\ 3614}# 1 0)))))
(if #{t\ 3628}#
#{t\ 3628}#
(error "something went wrong"
#{req\ 3612}#
#{opt\ 3613}#
#{rest\ 3614}#
#{kw\ 3615}#
#{inits\ 3616}#
#{vars\ 3617}#
#{nreq\ 3621}#
#{nopt\ 3622}#
#{kw-indices\ 3625}#
#{nargs\ 3627}#)))
(#{decorate-source\ 2644}#
(cons (list (cons '(@@ (ice-9 optargs)
parse-lambda-case)
(cons (list 'quote
(list #{nreq\ 3621}#
#{nopt\ 3622}#
#{rest-idx\ 3623}#
#{nargs\ 3627}#
#{allow-other-keys?\ 3624}#
#{kw-indices\ 3625}#))
(cons (cons 'list
(map (lambda (#{i\ 3629}#)
(list 'lambda
#{vars\ 3617}#
#{i\ 3629}#))
#{inits\ 3616}#))
'(%%args))))
'=>
(list 'lambda
'(%%%args . _)
(cons 'apply
(cons (list 'lambda
#{vars\ 3617}#
#{body\ 3618}#)
'(%%%args)))))
(let ((#{t\ 3630}#
#{else-case\ 3619}#))
(if #{t\ 3630}#
#{t\ 3630}#
'((%%args
(error "wrong number of arguments"
%%args))))))
#{src\ 3611}#))))))))))))
(#{build-case-lambda\ 2656}#
(lambda (#{src\ 3631}#
#{docstring\ 3632}#
#{body\ 3633}#)
(let ((#{atom-key\ 3634}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3634}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 3631}#
(if #{docstring\ 3632}#
(list (cons (quote documentation) #{docstring\ 3632}#))
'())
#{body\ 3633}#)
(#{decorate-source\ 2644}#
(cons 'lambda
(cons '%%args
(append
(if #{docstring\ 3632}#
(list #{docstring\ 3632}#)
'())
(list (cons (quote cond) #{body\ 3633}#)))))
#{src\ 3631}#)))))
(#{build-simple-lambda\ 2655}#
(lambda (#{src\ 3635}#
#{req\ 3636}#
#{rest\ 3637}#
#{vars\ 3638}#
#{docstring\ 3639}#
#{exp\ 3640}#)
(let ((#{atom-key\ 3641}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3641}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 3635}#
(if #{docstring\ 3639}#
(list (cons (quote documentation) #{docstring\ 3639}#))
'())
((@ (language tree-il) make-lambda-case)
#{src\ 3635}#
#{req\ 3636}#
#f
#{rest\ 3637}#
#f
'()
#{vars\ 3638}#
#{exp\ 3640}#
#f))
(#{decorate-source\ 2644}#
(cons 'lambda
(cons (if #{rest\ 3637}#
(apply cons* #{vars\ 3638}#)
#{vars\ 3638}#)
(append
(if #{docstring\ 3639}#
(list #{docstring\ 3639}#)
'())
(list #{exp\ 3640}#))))
#{src\ 3635}#)))))
(#{build-global-definition\ 2654}#
(lambda (#{source\ 3642}# #{var\ 3643}# #{exp\ 3644}#)
(let ((#{atom-key\ 3645}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3645}# (quote (c)))
(begin
(#{maybe-name-value!\ 2653}#
#{var\ 3643}#
#{exp\ 3644}#)
((@ (language tree-il) make-toplevel-define)
#{source\ 3642}#
#{var\ 3643}#
#{exp\ 3644}#))
(#{decorate-source\ 2644}#
(list (quote define) #{var\ 3643}# #{exp\ 3644}#)
#{source\ 3642}#)))))
(#{maybe-name-value!\ 2653}#
(lambda (#{name\ 3646}# #{val\ 3647}#)
(if ((@ (language tree-il) lambda?) #{val\ 3647}#)
(let ((#{meta\ 3648}#
((@ (language tree-il) lambda-meta)
#{val\ 3647}#)))
(if (not (assq (quote name) #{meta\ 3648}#))
((setter (@ (language tree-il) lambda-meta))
#{val\ 3647}#
(acons 'name
#{name\ 3646}#
#{meta\ 3648}#)))))))
(#{build-global-assignment\ 2652}#
(lambda (#{source\ 3649}#
#{var\ 3650}#
#{exp\ 3651}#
#{mod\ 3652}#)
(#{analyze-variable\ 2650}#
#{mod\ 3652}#
#{var\ 3650}#
(lambda (#{mod\ 3653}# #{var\ 3654}# #{public?\ 3655}#)
(let ((#{atom-key\ 3656}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3656}# (quote (c)))
((@ (language tree-il) make-module-set)
#{source\ 3649}#
#{mod\ 3653}#
#{var\ 3654}#
#{public?\ 3655}#
#{exp\ 3651}#)
(#{decorate-source\ 2644}#
(list 'set!
(list (if #{public?\ 3655}#
'@
'@@)
#{mod\ 3653}#
#{var\ 3654}#)
#{exp\ 3651}#)
#{source\ 3649}#))))
(lambda (#{var\ 3657}#)
(let ((#{atom-key\ 3658}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3658}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
#{source\ 3649}#
#{var\ 3657}#
#{exp\ 3651}#)
(#{decorate-source\ 2644}#
(list (quote set!) #{var\ 3657}# #{exp\ 3651}#)
#{source\ 3649}#)))))))
(#{build-global-reference\ 2651}#
(lambda (#{source\ 3659}# #{var\ 3660}# #{mod\ 3661}#)
(#{analyze-variable\ 2650}#
#{mod\ 3661}#
#{var\ 3660}#
(lambda (#{mod\ 3662}# #{var\ 3663}# #{public?\ 3664}#)
(let ((#{atom-key\ 3665}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3665}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{source\ 3659}#
#{mod\ 3662}#
#{var\ 3663}#
#{public?\ 3664}#)
(#{decorate-source\ 2644}#
(list (if #{public?\ 3664}# (quote @) (quote @@))
#{mod\ 3662}#
#{var\ 3663}#)
#{source\ 3659}#))))
(lambda (#{var\ 3666}#)
(let ((#{atom-key\ 3667}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3667}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{source\ 3659}#
#{var\ 3666}#)
(#{decorate-source\ 2644}#
#{var\ 3666}#
#{source\ 3659}#)))))))
(#{analyze-variable\ 2650}#
(lambda (#{mod\ 3668}#
#{var\ 3669}#
#{modref-cont\ 3670}#
#{bare-cont\ 3671}#)
(if (not #{mod\ 3668}#)
(#{bare-cont\ 3671}# #{var\ 3669}#)
(let ((#{kind\ 3672}# (car #{mod\ 3668}#))
(#{mod\ 3673}# (cdr #{mod\ 3668}#)))
(if (memv #{kind\ 3672}# (quote (public)))
(#{modref-cont\ 3670}#
#{mod\ 3673}#
#{var\ 3669}#
#t)
(if (memv #{kind\ 3672}# (quote (private)))
(if (not (equal?
#{mod\ 3673}#
(module-name (current-module))))
(#{modref-cont\ 3670}#
#{mod\ 3673}#
#{var\ 3669}#
#f)
(#{bare-cont\ 3671}# #{var\ 3669}#))
(if (memv #{kind\ 3672}# (quote (bare)))
(#{bare-cont\ 3671}# #{var\ 3669}#)
(if (memv #{kind\ 3672}# (quote (hygiene)))
(if (if (not (equal?
#{mod\ 3673}#
(module-name (current-module))))
(module-variable
(resolve-module #{mod\ 3673}#)
#{var\ 3669}#)
#f)
(#{modref-cont\ 3670}#
#{mod\ 3673}#
#{var\ 3669}#
#f)
(#{bare-cont\ 3671}# #{var\ 3669}#))
(syntax-violation
#f
"bad module kind"
#{var\ 3669}#
#{mod\ 3673}#)))))))))
(#{build-lexical-assignment\ 2649}#
(lambda (#{source\ 3674}#
#{name\ 3675}#
#{var\ 3676}#
#{exp\ 3677}#)
(let ((#{atom-key\ 3678}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3678}# (quote (c)))
((@ (language tree-il) make-lexical-set)
#{source\ 3674}#
#{name\ 3675}#
#{var\ 3676}#
#{exp\ 3677}#)
(#{decorate-source\ 2644}#
(list (quote set!) #{var\ 3676}# #{exp\ 3677}#)
#{source\ 3674}#)))))
(#{build-lexical-reference\ 2648}#
(lambda (#{type\ 3679}#
#{source\ 3680}#
#{name\ 3681}#
#{var\ 3682}#)
(let ((#{atom-key\ 3683}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3683}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
#{source\ 3680}#
#{name\ 3681}#
#{var\ 3682}#)
(#{decorate-source\ 2644}#
#{var\ 3682}#
#{source\ 3680}#)))))
(#{build-conditional\ 2647}#
(lambda (#{source\ 3684}#
#{test-exp\ 3685}#
#{then-exp\ 3686}#
#{else-exp\ 3687}#)
(let ((#{atom-key\ 3688}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3688}# (quote (c)))
((@ (language tree-il) make-conditional)
#{source\ 3684}#
#{test-exp\ 3685}#
#{then-exp\ 3686}#
#{else-exp\ 3687}#)
(#{decorate-source\ 2644}#
(if (equal? #{else-exp\ 3687}# (quote (if #f #f)))
(list 'if
#{test-exp\ 3685}#
#{then-exp\ 3686}#)
(list 'if
#{test-exp\ 3685}#
#{then-exp\ 3686}#
#{else-exp\ 3687}#))
#{source\ 3684}#)))))
(#{build-application\ 2646}#
(lambda (#{source\ 3689}#
#{fun-exp\ 3690}#
#{arg-exps\ 3691}#)
(let ((#{atom-key\ 3692}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3692}# (quote (c)))
((@ (language tree-il) make-application)
#{source\ 3689}#
#{fun-exp\ 3690}#
#{arg-exps\ 3691}#)
(#{decorate-source\ 2644}#
(cons #{fun-exp\ 3690}# #{arg-exps\ 3691}#)
#{source\ 3689}#)))))
(#{build-void\ 2645}#
(lambda (#{source\ 3693}#)
(let ((#{atom-key\ 3694}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3694}# (quote (c)))
((@ (language tree-il) make-void)
#{source\ 3693}#)
(#{decorate-source\ 2644}#
'(if #f #f)
#{source\ 3693}#)))))
(#{decorate-source\ 2644}#
(lambda (#{e\ 3695}# #{s\ 3696}#)
(begin
(if (if (pair? #{e\ 3695}#) #{s\ 3696}# #f)
(set-source-properties! #{e\ 3695}# #{s\ 3696}#))
#{e\ 3695}#)))
(#{get-global-definition-hook\ 2643}#
(lambda (#{symbol\ 3697}# #{module\ 3698}#)
(begin
(if (if (not #{module\ 3698}#) (current-module) #f)
(warn "module system is booted, we should have a module"
#{symbol\ 3697}#))
(let ((#{v\ 3699}#
(module-variable
(if #{module\ 3698}#
(resolve-module (cdr #{module\ 3698}#))
(current-module))
#{symbol\ 3697}#)))
(if #{v\ 3699}#
(if (variable-bound? #{v\ 3699}#)
(let ((#{val\ 3700}# (variable-ref #{v\ 3699}#)))
(if (macro? #{val\ 3700}#)
(if (syncase-macro-type #{val\ 3700}#)
(cons (syncase-macro-type #{val\ 3700}#)
(syncase-macro-binding #{val\ 3700}#))
#f)
#f))
#f)
#f)))))
(#{put-global-definition-hook\ 2642}#
(lambda (#{symbol\ 3701}# #{type\ 3702}# #{val\ 3703}#)
(let ((#{existing\ 3704}#
(let ((#{v\ 3705}#
(module-variable
(current-module)
#{symbol\ 3701}#)))
(if #{v\ 3705}#
(if (variable-bound? #{v\ 3705}#)
(let ((#{val\ 3706}# (variable-ref #{v\ 3705}#)))
(if (macro? #{val\ 3706}#)
(if (not (syncase-macro-type #{val\ 3706}#))
#{val\ 3706}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
#{symbol\ 3701}#
(if #{existing\ 3704}#
(make-extended-syncase-macro
#{existing\ 3704}#
#{type\ 3702}#
#{val\ 3703}#)
(make-syncase-macro #{type\ 3702}# #{val\ 3703}#))))))
(#{local-eval-hook\ 2641}#
(lambda (#{x\ 3707}# #{mod\ 3708}#)
(primitive-eval
(list #{noexpand\ 2634}#
(let ((#{atom-key\ 3709}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3709}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 3707}#)
#{x\ 3707}#))))))
(#{top-level-eval-hook\ 2640}#
(lambda (#{x\ 3710}# #{mod\ 3711}#)
(primitive-eval
(list #{noexpand\ 2634}#
(let ((#{atom-key\ 3712}# (fluid-ref #{*mode*\ 2635}#)))
(if (memv #{atom-key\ 3712}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 3710}#)
#{x\ 3710}#))))))
(#{fx<\ 2639}# <)
(#{fx=\ 2638}# =)
(#{fx-\ 2637}# -)
(#{fx+\ 2636}# +)
(#{*mode*\ 2635}# (make-fluid))
(#{noexpand\ 2634}# "noexpand"))
(begin
(#{global-extend\ 2679}#
'local-syntax
'letrec-syntax
#t)
(#{global-extend\ 2679}#
'local-syntax
'let-syntax
#f)
(#{global-extend\ 2679}#
'core
'fluid-let-syntax
(lambda (#{e\ 3713}#
#{r\ 3714}#
#{w\ 3715}#
#{s\ 3716}#
#{mod\ 3717}#)
((lambda (#{tmp\ 3718}#)
((lambda (#{tmp\ 3719}#)
(if (if #{tmp\ 3719}#
(apply (lambda (#{_\ 3720}#
#{var\ 3721}#
#{val\ 3722}#
#{e1\ 3723}#
#{e2\ 3724}#)
(#{valid-bound-ids?\ 2706}# #{var\ 3721}#))
#{tmp\ 3719}#)
#f)
(apply (lambda (#{_\ 3726}#
#{var\ 3727}#
#{val\ 3728}#
#{e1\ 3729}#
#{e2\ 3730}#)
(let ((#{names\ 3731}#
(map (lambda (#{x\ 3732}#)
(#{id-var-name\ 2703}#
#{x\ 3732}#
#{w\ 3715}#))
#{var\ 3727}#)))
(begin
(for-each
(lambda (#{id\ 3734}# #{n\ 3735}#)
(let ((#{atom-key\ 3736}#
(#{binding-type\ 2673}#
(#{lookup\ 2678}#
#{n\ 3735}#
#{r\ 3714}#
#{mod\ 3717}#))))
(if (memv #{atom-key\ 3736}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
#{e\ 3713}#
(#{source-wrap\ 2710}#
#{id\ 3734}#
#{w\ 3715}#
#{s\ 3716}#
#{mod\ 3717}#)))))
#{var\ 3727}#
#{names\ 3731}#)
(#{chi-body\ 2721}#
(cons #{e1\ 3729}# #{e2\ 3730}#)
(#{source-wrap\ 2710}#
#{e\ 3713}#
#{w\ 3715}#
#{s\ 3716}#
#{mod\ 3717}#)
(#{extend-env\ 2675}#
#{names\ 3731}#
(let ((#{trans-r\ 3739}#
(#{macros-only-env\ 2677}#
#{r\ 3714}#)))
(map (lambda (#{x\ 3740}#)
(cons 'macro
(#{eval-local-transformer\ 2723}#
(#{chi\ 2717}#
#{x\ 3740}#
#{trans-r\ 3739}#
#{w\ 3715}#
#{mod\ 3717}#)
#{mod\ 3717}#)))
#{val\ 3728}#))
#{r\ 3714}#)
#{w\ 3715}#
#{mod\ 3717}#))))
#{tmp\ 3719}#)
((lambda (#{_\ 3742}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 2710}#
#{e\ 3713}#
#{w\ 3715}#
#{s\ 3716}#
#{mod\ 3717}#)))
#{tmp\ 3718}#)))
($sc-dispatch
#{tmp\ 3718}#
'(any #(each (any any)) any . each-any))))
#{e\ 3713}#)))
(#{global-extend\ 2679}#
'core
'quote
(lambda (#{e\ 3743}#
#{r\ 3744}#
#{w\ 3745}#
#{s\ 3746}#
#{mod\ 3747}#)
((lambda (#{tmp\ 3748}#)
((lambda (#{tmp\ 3749}#)
(if #{tmp\ 3749}#
(apply (lambda (#{_\ 3750}# #{e\ 3751}#)
(#{build-data\ 2659}#
#{s\ 3746}#
(#{strip\ 2730}# #{e\ 3751}# #{w\ 3745}#)))
#{tmp\ 3749}#)
((lambda (#{_\ 3752}#)
(syntax-violation
'quote
"bad syntax"
(#{source-wrap\ 2710}#
#{e\ 3743}#
#{w\ 3745}#
#{s\ 3746}#
#{mod\ 3747}#)))
#{tmp\ 3748}#)))
($sc-dispatch #{tmp\ 3748}# (quote (any any)))))
#{e\ 3743}#)))
(#{global-extend\ 2679}#
'core
'syntax
(letrec ((#{regen\ 3760}#
(lambda (#{x\ 3761}#)
(let ((#{atom-key\ 3762}# (car #{x\ 3761}#)))
(if (memv #{atom-key\ 3762}# (quote (ref)))
(#{build-lexical-reference\ 2648}#
'value
#f
(cadr #{x\ 3761}#)
(cadr #{x\ 3761}#))
(if (memv #{atom-key\ 3762}# (quote (primitive)))
(#{build-primref\ 2658}# #f (cadr #{x\ 3761}#))
(if (memv #{atom-key\ 3762}# (quote (quote)))
(#{build-data\ 2659}# #f (cadr #{x\ 3761}#))
(if (memv #{atom-key\ 3762}# (quote (lambda)))
(if (list? (cadr #{x\ 3761}#))
(#{build-simple-lambda\ 2655}#
#f
(cadr #{x\ 3761}#)
#f
(cadr #{x\ 3761}#)
#f
(#{regen\ 3760}# (caddr #{x\ 3761}#)))
(error "how did we get here" #{x\ 3761}#))
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}# #f (car #{x\ 3761}#))
(map #{regen\ 3760}#
(cdr #{x\ 3761}#))))))))))
(#{gen-vector\ 3759}#
(lambda (#{x\ 3763}#)
(if (eq? (car #{x\ 3763}#) (quote list))
(cons (quote vector) (cdr #{x\ 3763}#))
(if (eq? (car #{x\ 3763}#) (quote quote))
(list 'quote
(list->vector (cadr #{x\ 3763}#)))
(list (quote list->vector) #{x\ 3763}#)))))
(#{gen-append\ 3758}#
(lambda (#{x\ 3764}# #{y\ 3765}#)
(if (equal? #{y\ 3765}# (quote (quote ())))
#{x\ 3764}#
(list (quote append) #{x\ 3764}# #{y\ 3765}#))))
(#{gen-cons\ 3757}#
(lambda (#{x\ 3766}# #{y\ 3767}#)
(let ((#{atom-key\ 3768}# (car #{y\ 3767}#)))
(if (memv #{atom-key\ 3768}# (quote (quote)))
(if (eq? (car #{x\ 3766}#) (quote quote))
(list 'quote
(cons (cadr #{x\ 3766}#) (cadr #{y\ 3767}#)))
(if (eq? (cadr #{y\ 3767}#) (quote ()))
(list (quote list) #{x\ 3766}#)
(list (quote cons) #{x\ 3766}# #{y\ 3767}#)))
(if (memv #{atom-key\ 3768}# (quote (list)))
(cons 'list
(cons #{x\ 3766}# (cdr #{y\ 3767}#)))
(list (quote cons) #{x\ 3766}# #{y\ 3767}#))))))
(#{gen-map\ 3756}#
(lambda (#{e\ 3769}# #{map-env\ 3770}#)
(let ((#{formals\ 3771}# (map cdr #{map-env\ 3770}#))
(#{actuals\ 3772}#
(map (lambda (#{x\ 3773}#)
(list (quote ref) (car #{x\ 3773}#)))
#{map-env\ 3770}#)))
(if (eq? (car #{e\ 3769}#) (quote ref))
(car #{actuals\ 3772}#)
(if (and-map
(lambda (#{x\ 3774}#)
(if (eq? (car #{x\ 3774}#) (quote ref))
(memq (cadr #{x\ 3774}#) #{formals\ 3771}#)
#f))
(cdr #{e\ 3769}#))
(cons 'map
(cons (list 'primitive
(car #{e\ 3769}#))
(map (let ((#{r\ 3775}#
(map cons
#{formals\ 3771}#
#{actuals\ 3772}#)))
(lambda (#{x\ 3776}#)
(cdr (assq (cadr #{x\ 3776}#)
#{r\ 3775}#))))
(cdr #{e\ 3769}#))))
(cons 'map
(cons (list 'lambda
#{formals\ 3771}#
#{e\ 3769}#)
#{actuals\ 3772}#)))))))
(#{gen-mappend\ 3755}#
(lambda (#{e\ 3777}# #{map-env\ 3778}#)
(list 'apply
'(primitive append)
(#{gen-map\ 3756}# #{e\ 3777}# #{map-env\ 3778}#))))
(#{gen-ref\ 3754}#
(lambda (#{src\ 3779}#
#{var\ 3780}#
#{level\ 3781}#
#{maps\ 3782}#)
(if (#{fx=\ 2638}# #{level\ 3781}# 0)
(values #{var\ 3780}# #{maps\ 3782}#)
(if (null? #{maps\ 3782}#)
(syntax-violation
'syntax
"missing ellipsis"
#{src\ 3779}#)
(call-with-values
(lambda ()
(#{gen-ref\ 3754}#
#{src\ 3779}#
#{var\ 3780}#
(#{fx-\ 2637}# #{level\ 3781}# 1)
(cdr #{maps\ 3782}#)))
(lambda (#{outer-var\ 3783}# #{outer-maps\ 3784}#)
(let ((#{b\ 3785}#
(assq #{outer-var\ 3783}#
(car #{maps\ 3782}#))))
(if #{b\ 3785}#
(values (cdr #{b\ 3785}#) #{maps\ 3782}#)
(let ((#{inner-var\ 3786}#
(#{gen-var\ 2731}# (quote tmp))))
(values
#{inner-var\ 3786}#
(cons (cons (cons #{outer-var\ 3783}#
#{inner-var\ 3786}#)
(car #{maps\ 3782}#))
#{outer-maps\ 3784}#)))))))))))
(#{gen-syntax\ 3753}#
(lambda (#{src\ 3787}#
#{e\ 3788}#
#{r\ 3789}#
#{maps\ 3790}#
#{ellipsis?\ 3791}#
#{mod\ 3792}#)
(if (#{id?\ 2681}# #{e\ 3788}#)
(let ((#{label\ 3793}#
(#{id-var-name\ 2703}#
#{e\ 3788}#
'(()))))
(let ((#{b\ 3794}#
(#{lookup\ 2678}#
#{label\ 3793}#
#{r\ 3789}#
#{mod\ 3792}#)))
(if (eq? (#{binding-type\ 2673}# #{b\ 3794}#)
'syntax)
(call-with-values
(lambda ()
(let ((#{var.lev\ 3795}#
(#{binding-value\ 2674}#
#{b\ 3794}#)))
(#{gen-ref\ 3754}#
#{src\ 3787}#
(car #{var.lev\ 3795}#)
(cdr #{var.lev\ 3795}#)
#{maps\ 3790}#)))
(lambda (#{var\ 3796}# #{maps\ 3797}#)
(values
(list (quote ref) #{var\ 3796}#)
#{maps\ 3797}#)))
(if (#{ellipsis?\ 3791}# #{e\ 3788}#)
(syntax-violation
'syntax
"misplaced ellipsis"
#{src\ 3787}#)
(values
(list (quote quote) #{e\ 3788}#)
#{maps\ 3790}#)))))
((lambda (#{tmp\ 3798}#)
((lambda (#{tmp\ 3799}#)
(if (if #{tmp\ 3799}#
(apply (lambda (#{dots\ 3800}# #{e\ 3801}#)
(#{ellipsis?\ 3791}#
#{dots\ 3800}#))
#{tmp\ 3799}#)
#f)
(apply (lambda (#{dots\ 3802}# #{e\ 3803}#)
(#{gen-syntax\ 3753}#
#{src\ 3787}#
#{e\ 3803}#
#{r\ 3789}#
#{maps\ 3790}#
(lambda (#{x\ 3804}#) #f)
#{mod\ 3792}#))
#{tmp\ 3799}#)
((lambda (#{tmp\ 3805}#)
(if (if #{tmp\ 3805}#
(apply (lambda (#{x\ 3806}#
#{dots\ 3807}#
#{y\ 3808}#)
(#{ellipsis?\ 3791}#
#{dots\ 3807}#))
#{tmp\ 3805}#)
#f)
(apply (lambda (#{x\ 3809}#
#{dots\ 3810}#
#{y\ 3811}#)
(letrec ((#{f\ 3812}#
(lambda (#{y\ 3813}#
#{k\ 3814}#)
((lambda (#{tmp\ 3818}#)
((lambda (#{tmp\ 3819}#)
(if (if #{tmp\ 3819}#
(apply (lambda (#{dots\ 3820}#
#{y\ 3821}#)
(#{ellipsis?\ 3791}#
#{dots\ 3820}#))
#{tmp\ 3819}#)
#f)
(apply (lambda (#{dots\ 3822}#
#{y\ 3823}#)
(#{f\ 3812}#
#{y\ 3823}#
(lambda (#{maps\ 3824}#)
(call-with-values
(lambda ()
(#{k\ 3814}#
(cons '()
#{maps\ 3824}#)))
(lambda (#{x\ 3825}#
#{maps\ 3826}#)
(if (null? (car #{maps\ 3826}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 3787}#)
(values
(#{gen-mappend\ 3755}#
#{x\ 3825}#
(car #{maps\ 3826}#))
(cdr #{maps\ 3826}#))))))))
#{tmp\ 3819}#)
((lambda (#{_\ 3827}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 3753}#
#{src\ 3787}#
#{y\ 3813}#
#{r\ 3789}#
#{maps\ 3790}#
#{ellipsis?\ 3791}#
#{mod\ 3792}#))
(lambda (#{y\ 3828}#
#{maps\ 3829}#)
(call-with-values
(lambda ()
(#{k\ 3814}#
#{maps\ 3829}#))
(lambda (#{x\ 3830}#
#{maps\ 3831}#)
(values
(#{gen-append\ 3758}#
#{x\ 3830}#
#{y\ 3828}#)
#{maps\ 3831}#))))))
#{tmp\ 3818}#)))
($sc-dispatch
#{tmp\ 3818}#
'(any . any))))
#{y\ 3813}#))))
(#{f\ 3812}#
#{y\ 3811}#
(lambda (#{maps\ 3815}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 3753}#
#{src\ 3787}#
#{x\ 3809}#
#{r\ 3789}#
(cons '()
#{maps\ 3815}#)
#{ellipsis?\ 3791}#
#{mod\ 3792}#))
(lambda (#{x\ 3816}#
#{maps\ 3817}#)
(if (null? (car #{maps\ 3817}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 3787}#)
(values
(#{gen-map\ 3756}#
#{x\ 3816}#
(car #{maps\ 3817}#))
(cdr #{maps\ 3817}#)))))))))
#{tmp\ 3805}#)
((lambda (#{tmp\ 3832}#)
(if #{tmp\ 3832}#
(apply (lambda (#{x\ 3833}#
#{y\ 3834}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 3753}#
#{src\ 3787}#
#{x\ 3833}#
#{r\ 3789}#
#{maps\ 3790}#
#{ellipsis?\ 3791}#
#{mod\ 3792}#))
(lambda (#{x\ 3835}#
#{maps\ 3836}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 3753}#
#{src\ 3787}#
#{y\ 3834}#
#{r\ 3789}#
#{maps\ 3836}#
#{ellipsis?\ 3791}#
#{mod\ 3792}#))
(lambda (#{y\ 3837}#
#{maps\ 3838}#)
(values
(#{gen-cons\ 3757}#
#{x\ 3835}#
#{y\ 3837}#)
#{maps\ 3838}#))))))
#{tmp\ 3832}#)
((lambda (#{tmp\ 3839}#)
(if #{tmp\ 3839}#
(apply (lambda (#{e1\ 3840}#
#{e2\ 3841}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 3753}#
#{src\ 3787}#
(cons #{e1\ 3840}#
#{e2\ 3841}#)
#{r\ 3789}#
#{maps\ 3790}#
#{ellipsis?\ 3791}#
#{mod\ 3792}#))
(lambda (#{e\ 3843}#
#{maps\ 3844}#)
(values
(#{gen-vector\ 3759}#
#{e\ 3843}#)
#{maps\ 3844}#))))
#{tmp\ 3839}#)
((lambda (#{_\ 3845}#)
(values
(list 'quote
#{e\ 3788}#)
#{maps\ 3790}#))
#{tmp\ 3798}#)))
($sc-dispatch
#{tmp\ 3798}#
'#(vector (any . each-any))))))
($sc-dispatch
#{tmp\ 3798}#
'(any . any)))))
($sc-dispatch
#{tmp\ 3798}#
'(any any . any)))))
($sc-dispatch #{tmp\ 3798}# (quote (any any)))))
#{e\ 3788}#)))))
(lambda (#{e\ 3846}#
#{r\ 3847}#
#{w\ 3848}#
#{s\ 3849}#
#{mod\ 3850}#)
(let ((#{e\ 3851}#
(#{source-wrap\ 2710}#
#{e\ 3846}#
#{w\ 3848}#
#{s\ 3849}#
#{mod\ 3850}#)))
((lambda (#{tmp\ 3852}#)
((lambda (#{tmp\ 3853}#)
(if #{tmp\ 3853}#
(apply (lambda (#{_\ 3854}# #{x\ 3855}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 3753}#
#{e\ 3851}#
#{x\ 3855}#
#{r\ 3847}#
'()
#{ellipsis?\ 2725}#
#{mod\ 3850}#))
(lambda (#{e\ 3856}# #{maps\ 3857}#)
(#{regen\ 3760}# #{e\ 3856}#))))
#{tmp\ 3853}#)
((lambda (#{_\ 3858}#)
(syntax-violation
'syntax
"bad `syntax' form"
#{e\ 3851}#))
#{tmp\ 3852}#)))
($sc-dispatch #{tmp\ 3852}# (quote (any any)))))
#{e\ 3851}#)))))
(#{global-extend\ 2679}#
'core
'lambda
(lambda (#{e\ 3859}#
#{r\ 3860}#
#{w\ 3861}#
#{s\ 3862}#
#{mod\ 3863}#)
((lambda (#{tmp\ 3864}#)
((lambda (#{tmp\ 3865}#)
(if (if #{tmp\ 3865}#
(apply (lambda (#{_\ 3866}#
#{args\ 3867}#
#{docstring\ 3868}#
#{e1\ 3869}#
#{e2\ 3870}#)
(string? (syntax->datum #{docstring\ 3868}#)))
#{tmp\ 3865}#)
#f)
(apply (lambda (#{_\ 3871}#
#{args\ 3872}#
#{docstring\ 3873}#
#{e1\ 3874}#
#{e2\ 3875}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 2726}# #{args\ 3872}#))
(lambda (#{req\ 3876}#
#{opt\ 3877}#
#{rest\ 3878}#
#{kw\ 3879}#)
(#{chi-simple-lambda\ 2727}#
#{e\ 3859}#
#{r\ 3860}#
#{w\ 3861}#
#{s\ 3862}#
#{mod\ 3863}#
#{req\ 3876}#
#{rest\ 3878}#
(syntax->datum #{docstring\ 3873}#)
(cons #{e1\ 3874}# #{e2\ 3875}#)))))
#{tmp\ 3865}#)
((lambda (#{tmp\ 3881}#)
(if #{tmp\ 3881}#
(apply (lambda (#{_\ 3882}#
#{args\ 3883}#
#{e1\ 3884}#
#{e2\ 3885}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 2726}# #{args\ 3883}#))
(lambda (#{req\ 3886}#
#{opt\ 3887}#
#{rest\ 3888}#
#{kw\ 3889}#)
(#{chi-simple-lambda\ 2727}#
#{e\ 3859}#
#{r\ 3860}#
#{w\ 3861}#
#{s\ 3862}#
#{mod\ 3863}#
#{req\ 3886}#
#{rest\ 3888}#
#f
(cons #{e1\ 3884}# #{e2\ 3885}#)))))
#{tmp\ 3881}#)
((lambda (#{_\ 3891}#)
(syntax-violation
'lambda
"bad lambda"
#{e\ 3859}#))
#{tmp\ 3864}#)))
($sc-dispatch
#{tmp\ 3864}#
'(any any any . each-any)))))
($sc-dispatch
#{tmp\ 3864}#
'(any any any any . each-any))))
#{e\ 3859}#)))
(#{global-extend\ 2679}#
'core
'lambda*
(lambda (#{e\ 3892}#
#{r\ 3893}#
#{w\ 3894}#
#{s\ 3895}#
#{mod\ 3896}#)
((lambda (#{tmp\ 3897}#)
((lambda (#{tmp\ 3898}#)
(if #{tmp\ 3898}#
(apply (lambda (#{_\ 3899}#
#{args\ 3900}#
#{e1\ 3901}#
#{e2\ 3902}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 2729}#
#{e\ 3892}#
#{r\ 3893}#
#{w\ 3894}#
#{s\ 3895}#
#{mod\ 3896}#
#{lambda*-formals\ 2728}#
(list (cons #{args\ 3900}#
(cons #{e1\ 3901}#
#{e2\ 3902}#)))))
(lambda (#{docstring\ 3904}# #{lcase\ 3905}#)
(#{build-case-lambda\ 2656}#
#{s\ 3895}#
#{docstring\ 3904}#
#{lcase\ 3905}#))))
#{tmp\ 3898}#)
((lambda (#{_\ 3906}#)
(syntax-violation
'lambda
"bad lambda*"
#{e\ 3892}#))
#{tmp\ 3897}#)))
($sc-dispatch
#{tmp\ 3897}#
'(any any any . each-any))))
#{e\ 3892}#)))
(#{global-extend\ 2679}#
'core
'case-lambda
(lambda (#{e\ 3907}#
#{r\ 3908}#
#{w\ 3909}#
#{s\ 3910}#
#{mod\ 3911}#)
((lambda (#{tmp\ 3912}#)
((lambda (#{tmp\ 3913}#)
(if #{tmp\ 3913}#
(apply (lambda (#{_\ 3914}#
#{args\ 3915}#
#{e1\ 3916}#
#{e2\ 3917}#
#{args*\ 3918}#
#{e1*\ 3919}#
#{e2*\ 3920}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 2729}#
#{e\ 3907}#
#{r\ 3908}#
#{w\ 3909}#
#{s\ 3910}#
#{mod\ 3911}#
#{lambda-formals\ 2726}#
(cons (cons #{args\ 3915}#
(cons #{e1\ 3916}# #{e2\ 3917}#))
(map (lambda (#{tmp\ 3924}#
#{tmp\ 3923}#
#{tmp\ 3922}#)
(cons #{tmp\ 3922}#
(cons #{tmp\ 3923}#
#{tmp\ 3924}#)))
#{e2*\ 3920}#
#{e1*\ 3919}#
#{args*\ 3918}#))))
(lambda (#{docstring\ 3926}# #{lcase\ 3927}#)
(#{build-case-lambda\ 2656}#
#{s\ 3910}#
#{docstring\ 3926}#
#{lcase\ 3927}#))))
#{tmp\ 3913}#)
((lambda (#{_\ 3928}#)
(syntax-violation
'case-lambda
"bad case-lambda"
#{e\ 3907}#))
#{tmp\ 3912}#)))
($sc-dispatch
#{tmp\ 3912}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
#{e\ 3907}#)))
(#{global-extend\ 2679}#
'core
'case-lambda*
(lambda (#{e\ 3929}#
#{r\ 3930}#
#{w\ 3931}#
#{s\ 3932}#
#{mod\ 3933}#)
((lambda (#{tmp\ 3934}#)
((lambda (#{tmp\ 3935}#)
(if #{tmp\ 3935}#
(apply (lambda (#{_\ 3936}#
#{args\ 3937}#
#{e1\ 3938}#
#{e2\ 3939}#
#{args*\ 3940}#
#{e1*\ 3941}#
#{e2*\ 3942}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 2729}#
#{e\ 3929}#
#{r\ 3930}#
#{w\ 3931}#
#{s\ 3932}#
#{mod\ 3933}#
#{lambda*-formals\ 2728}#
(cons (cons #{args\ 3937}#
(cons #{e1\ 3938}# #{e2\ 3939}#))
(map (lambda (#{tmp\ 3946}#
#{tmp\ 3945}#
#{tmp\ 3944}#)
(cons #{tmp\ 3944}#
(cons #{tmp\ 3945}#
#{tmp\ 3946}#)))
#{e2*\ 3942}#
#{e1*\ 3941}#
#{args*\ 3940}#))))
(lambda (#{docstring\ 3948}# #{lcase\ 3949}#)
(#{build-case-lambda\ 2656}#
#{s\ 3932}#
#{docstring\ 3948}#
#{lcase\ 3949}#))))
#{tmp\ 3935}#)
((lambda (#{_\ 3950}#)
(syntax-violation
'case-lambda
"bad case-lambda*"
#{e\ 3929}#))
#{tmp\ 3934}#)))
($sc-dispatch
#{tmp\ 3934}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
#{e\ 3929}#)))
(#{global-extend\ 2679}#
'core
'let
(letrec ((#{chi-let\ 3951}#
(lambda (#{e\ 3952}#
#{r\ 3953}#
#{w\ 3954}#
#{s\ 3955}#
#{mod\ 3956}#
#{constructor\ 3957}#
#{ids\ 3958}#
#{vals\ 3959}#
#{exps\ 3960}#)
(if (not (#{valid-bound-ids?\ 2706}# #{ids\ 3958}#))
(syntax-violation
'let
"duplicate bound variable"
#{e\ 3952}#)
(let ((#{labels\ 3961}#
(#{gen-labels\ 2687}# #{ids\ 3958}#))
(#{new-vars\ 3962}#
(map #{gen-var\ 2731}# #{ids\ 3958}#)))
(let ((#{nw\ 3963}#
(#{make-binding-wrap\ 2698}#
#{ids\ 3958}#
#{labels\ 3961}#
#{w\ 3954}#))
(#{nr\ 3964}#
(#{extend-var-env\ 2676}#
#{labels\ 3961}#
#{new-vars\ 3962}#
#{r\ 3953}#)))
(#{constructor\ 3957}#
#{s\ 3955}#
(map syntax->datum #{ids\ 3958}#)
#{new-vars\ 3962}#
(map (lambda (#{x\ 3965}#)
(#{chi\ 2717}#
#{x\ 3965}#
#{r\ 3953}#
#{w\ 3954}#
#{mod\ 3956}#))
#{vals\ 3959}#)
(#{chi-body\ 2721}#
#{exps\ 3960}#
(#{source-wrap\ 2710}#
#{e\ 3952}#
#{nw\ 3963}#
#{s\ 3955}#
#{mod\ 3956}#)
#{nr\ 3964}#
#{nw\ 3963}#
#{mod\ 3956}#))))))))
(lambda (#{e\ 3966}#
#{r\ 3967}#
#{w\ 3968}#
#{s\ 3969}#
#{mod\ 3970}#)
((lambda (#{tmp\ 3971}#)
((lambda (#{tmp\ 3972}#)
(if (if #{tmp\ 3972}#
(apply (lambda (#{_\ 3973}#
#{id\ 3974}#
#{val\ 3975}#
#{e1\ 3976}#
#{e2\ 3977}#)
(and-map #{id?\ 2681}# #{id\ 3974}#))
#{tmp\ 3972}#)
#f)
(apply (lambda (#{_\ 3979}#
#{id\ 3980}#
#{val\ 3981}#
#{e1\ 3982}#
#{e2\ 3983}#)
(#{chi-let\ 3951}#
#{e\ 3966}#
#{r\ 3967}#
#{w\ 3968}#
#{s\ 3969}#
#{mod\ 3970}#
#{build-let\ 2661}#
#{id\ 3980}#
#{val\ 3981}#
(cons #{e1\ 3982}# #{e2\ 3983}#)))
#{tmp\ 3972}#)
((lambda (#{tmp\ 3987}#)
(if (if #{tmp\ 3987}#
(apply (lambda (#{_\ 3988}#
#{f\ 3989}#
#{id\ 3990}#
#{val\ 3991}#
#{e1\ 3992}#
#{e2\ 3993}#)
(if (#{id?\ 2681}# #{f\ 3989}#)
(and-map #{id?\ 2681}# #{id\ 3990}#)
#f))
#{tmp\ 3987}#)
#f)
(apply (lambda (#{_\ 3995}#
#{f\ 3996}#
#{id\ 3997}#
#{val\ 3998}#
#{e1\ 3999}#
#{e2\ 4000}#)
(#{chi-let\ 3951}#
#{e\ 3966}#
#{r\ 3967}#
#{w\ 3968}#
#{s\ 3969}#
#{mod\ 3970}#
#{build-named-let\ 2662}#
(cons #{f\ 3996}# #{id\ 3997}#)
#{val\ 3998}#
(cons #{e1\ 3999}# #{e2\ 4000}#)))
#{tmp\ 3987}#)
((lambda (#{_\ 4004}#)
(syntax-violation
'let
"bad let"
(#{source-wrap\ 2710}#
#{e\ 3966}#
#{w\ 3968}#
#{s\ 3969}#
#{mod\ 3970}#)))
#{tmp\ 3971}#)))
($sc-dispatch
#{tmp\ 3971}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 3971}#
'(any #(each (any any)) any . each-any))))
#{e\ 3966}#))))
(#{global-extend\ 2679}#
'core
'letrec
(lambda (#{e\ 4005}#
#{r\ 4006}#
#{w\ 4007}#
#{s\ 4008}#
#{mod\ 4009}#)
((lambda (#{tmp\ 4010}#)
((lambda (#{tmp\ 4011}#)
(if (if #{tmp\ 4011}#
(apply (lambda (#{_\ 4012}#
#{id\ 4013}#
#{val\ 4014}#
#{e1\ 4015}#
#{e2\ 4016}#)
(and-map #{id?\ 2681}# #{id\ 4013}#))
#{tmp\ 4011}#)
#f)
(apply (lambda (#{_\ 4018}#
#{id\ 4019}#
#{val\ 4020}#
#{e1\ 4021}#
#{e2\ 4022}#)
(let ((#{ids\ 4023}# #{id\ 4019}#))
(if (not (#{valid-bound-ids?\ 2706}#
#{ids\ 4023}#))
(syntax-violation
'letrec
"duplicate bound variable"
#{e\ 4005}#)
(let ((#{labels\ 4025}#
(#{gen-labels\ 2687}# #{ids\ 4023}#))
(#{new-vars\ 4026}#
(map #{gen-var\ 2731}# #{ids\ 4023}#)))
(let ((#{w\ 4027}#
(#{make-binding-wrap\ 2698}#
#{ids\ 4023}#
#{labels\ 4025}#
#{w\ 4007}#))
(#{r\ 4028}#
(#{extend-var-env\ 2676}#
#{labels\ 4025}#
#{new-vars\ 4026}#
#{r\ 4006}#)))
(#{build-letrec\ 2663}#
#{s\ 4008}#
(map syntax->datum #{ids\ 4023}#)
#{new-vars\ 4026}#
(map (lambda (#{x\ 4029}#)
(#{chi\ 2717}#
#{x\ 4029}#
#{r\ 4028}#
#{w\ 4027}#
#{mod\ 4009}#))
#{val\ 4020}#)
(#{chi-body\ 2721}#
(cons #{e1\ 4021}# #{e2\ 4022}#)
(#{source-wrap\ 2710}#
#{e\ 4005}#
#{w\ 4027}#
#{s\ 4008}#
#{mod\ 4009}#)
#{r\ 4028}#
#{w\ 4027}#
#{mod\ 4009}#)))))))
#{tmp\ 4011}#)
((lambda (#{_\ 4032}#)
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 2710}#
#{e\ 4005}#
#{w\ 4007}#
#{s\ 4008}#
#{mod\ 4009}#)))
#{tmp\ 4010}#)))
($sc-dispatch
#{tmp\ 4010}#
'(any #(each (any any)) any . each-any))))
#{e\ 4005}#)))
(#{global-extend\ 2679}#
'core
'set!
(lambda (#{e\ 4033}#
#{r\ 4034}#
#{w\ 4035}#
#{s\ 4036}#
#{mod\ 4037}#)
((lambda (#{tmp\ 4038}#)
((lambda (#{tmp\ 4039}#)
(if (if #{tmp\ 4039}#
(apply (lambda (#{_\ 4040}# #{id\ 4041}# #{val\ 4042}#)
(#{id?\ 2681}# #{id\ 4041}#))
#{tmp\ 4039}#)
#f)
(apply (lambda (#{_\ 4043}# #{id\ 4044}# #{val\ 4045}#)
(let ((#{val\ 4046}#
(#{chi\ 2717}#
#{val\ 4045}#
#{r\ 4034}#
#{w\ 4035}#
#{mod\ 4037}#))
(#{n\ 4047}#
(#{id-var-name\ 2703}#
#{id\ 4044}#
#{w\ 4035}#)))
(let ((#{b\ 4048}#
(#{lookup\ 2678}#
#{n\ 4047}#
#{r\ 4034}#
#{mod\ 4037}#)))
(let ((#{atom-key\ 4049}#
(#{binding-type\ 2673}# #{b\ 4048}#)))
(if (memv #{atom-key\ 4049}#
'(lexical))
(#{build-lexical-assignment\ 2649}#
#{s\ 4036}#
(syntax->datum #{id\ 4044}#)
(#{binding-value\ 2674}# #{b\ 4048}#)
#{val\ 4046}#)
(if (memv #{atom-key\ 4049}#
'(global))
(#{build-global-assignment\ 2652}#
#{s\ 4036}#
#{n\ 4047}#
#{val\ 4046}#
#{mod\ 4037}#)
(if (memv #{atom-key\ 4049}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 2709}#
#{id\ 4044}#
#{w\ 4035}#
#{mod\ 4037}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 2710}#
#{e\ 4033}#
#{w\ 4035}#
#{s\ 4036}#
#{mod\ 4037}#)))))))))
#{tmp\ 4039}#)
((lambda (#{tmp\ 4050}#)
(if #{tmp\ 4050}#
(apply (lambda (#{_\ 4051}#
#{head\ 4052}#
#{tail\ 4053}#
#{val\ 4054}#)
(call-with-values
(lambda ()
(#{syntax-type\ 2715}#
#{head\ 4052}#
#{r\ 4034}#
'(())
#f
#f
#{mod\ 4037}#
#t))
(lambda (#{type\ 4055}#
#{value\ 4056}#
#{ee\ 4057}#
#{ww\ 4058}#
#{ss\ 4059}#
#{modmod\ 4060}#)
(if (memv #{type\ 4055}#
'(module-ref))
(let ((#{val\ 4061}#
(#{chi\ 2717}#
#{val\ 4054}#
#{r\ 4034}#
#{w\ 4035}#
#{mod\ 4037}#)))
(call-with-values
(lambda ()
(#{value\ 4056}#
(cons #{head\ 4052}#
#{tail\ 4053}#)))
(lambda (#{id\ 4063}# #{mod\ 4064}#)
(#{build-global-assignment\ 2652}#
#{s\ 4036}#
#{id\ 4063}#
#{val\ 4061}#
#{mod\ 4064}#))))
(#{build-application\ 2646}#
#{s\ 4036}#
(#{chi\ 2717}#
(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\ 4052}#)
#{r\ 4034}#
#{w\ 4035}#
#{mod\ 4037}#)
(map (lambda (#{e\ 4065}#)
(#{chi\ 2717}#
#{e\ 4065}#
#{r\ 4034}#
#{w\ 4035}#
#{mod\ 4037}#))
(append
#{tail\ 4053}#
(list #{val\ 4054}#))))))))
#{tmp\ 4050}#)
((lambda (#{_\ 4067}#)
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 2710}#
#{e\ 4033}#
#{w\ 4035}#
#{s\ 4036}#
#{mod\ 4037}#)))
#{tmp\ 4038}#)))
($sc-dispatch
#{tmp\ 4038}#
'(any (any . each-any) any)))))
($sc-dispatch
#{tmp\ 4038}#
'(any any any))))
#{e\ 4033}#)))
(#{global-extend\ 2679}#
'module-ref
'@
(lambda (#{e\ 4068}#)
((lambda (#{tmp\ 4069}#)
((lambda (#{tmp\ 4070}#)
(if (if #{tmp\ 4070}#
(apply (lambda (#{_\ 4071}# #{mod\ 4072}# #{id\ 4073}#)
(if (and-map #{id?\ 2681}# #{mod\ 4072}#)
(#{id?\ 2681}# #{id\ 4073}#)
#f))
#{tmp\ 4070}#)
#f)
(apply (lambda (#{_\ 4075}# #{mod\ 4076}# #{id\ 4077}#)
(values
(syntax->datum #{id\ 4077}#)
(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\ 4076}#))))
#{tmp\ 4070}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4069}#)))
($sc-dispatch
#{tmp\ 4069}#
'(any each-any any))))
#{e\ 4068}#)))
(#{global-extend\ 2679}#
'module-ref
'@@
(lambda (#{e\ 4079}#)
((lambda (#{tmp\ 4080}#)
((lambda (#{tmp\ 4081}#)
(if (if #{tmp\ 4081}#
(apply (lambda (#{_\ 4082}# #{mod\ 4083}# #{id\ 4084}#)
(if (and-map #{id?\ 2681}# #{mod\ 4083}#)
(#{id?\ 2681}# #{id\ 4084}#)
#f))
#{tmp\ 4081}#)
#f)
(apply (lambda (#{_\ 4086}# #{mod\ 4087}# #{id\ 4088}#)
(values
(syntax->datum #{id\ 4088}#)
(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\ 4087}#))))
#{tmp\ 4081}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4080}#)))
($sc-dispatch
#{tmp\ 4080}#
'(any each-any any))))
#{e\ 4079}#)))
(#{global-extend\ 2679}#
'core
'if
(lambda (#{e\ 4090}#
#{r\ 4091}#
#{w\ 4092}#
#{s\ 4093}#
#{mod\ 4094}#)
((lambda (#{tmp\ 4095}#)
((lambda (#{tmp\ 4096}#)
(if #{tmp\ 4096}#
(apply (lambda (#{_\ 4097}# #{test\ 4098}# #{then\ 4099}#)
(#{build-conditional\ 2647}#
#{s\ 4093}#
(#{chi\ 2717}#
#{test\ 4098}#
#{r\ 4091}#
#{w\ 4092}#
#{mod\ 4094}#)
(#{chi\ 2717}#
#{then\ 4099}#
#{r\ 4091}#
#{w\ 4092}#
#{mod\ 4094}#)
(#{build-void\ 2645}# #f)))
#{tmp\ 4096}#)
((lambda (#{tmp\ 4100}#)
(if #{tmp\ 4100}#
(apply (lambda (#{_\ 4101}#
#{test\ 4102}#
#{then\ 4103}#
#{else\ 4104}#)
(#{build-conditional\ 2647}#
#{s\ 4093}#
(#{chi\ 2717}#
#{test\ 4102}#
#{r\ 4091}#
#{w\ 4092}#
#{mod\ 4094}#)
(#{chi\ 2717}#
#{then\ 4103}#
#{r\ 4091}#
#{w\ 4092}#
#{mod\ 4094}#)
(#{chi\ 2717}#
#{else\ 4104}#
#{r\ 4091}#
#{w\ 4092}#
#{mod\ 4094}#)))
#{tmp\ 4100}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4095}#)))
($sc-dispatch
#{tmp\ 4095}#
'(any any any any)))))
($sc-dispatch
#{tmp\ 4095}#
'(any any any))))
#{e\ 4090}#)))
(#{global-extend\ 2679}#
'begin
'begin
'())
(#{global-extend\ 2679}#
'define
'define
'())
(#{global-extend\ 2679}#
'define-syntax
'define-syntax
'())
(#{global-extend\ 2679}#
'eval-when
'eval-when
'())
(#{global-extend\ 2679}#
'core
'syntax-case
(letrec ((#{gen-syntax-case\ 4108}#
(lambda (#{x\ 4109}#
#{keys\ 4110}#
#{clauses\ 4111}#
#{r\ 4112}#
#{mod\ 4113}#)
(if (null? #{clauses\ 4111}#)
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}#
#f
'syntax-violation)
(list (#{build-data\ 2659}# #f #f)
(#{build-data\ 2659}#
#f
"source expression failed to match any pattern")
#{x\ 4109}#))
((lambda (#{tmp\ 4114}#)
((lambda (#{tmp\ 4115}#)
(if #{tmp\ 4115}#
(apply (lambda (#{pat\ 4116}# #{exp\ 4117}#)
(if (if (#{id?\ 2681}# #{pat\ 4116}#)
(and-map
(lambda (#{x\ 4118}#)
(not (#{free-id=?\ 2704}#
#{pat\ 4116}#
#{x\ 4118}#)))
(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\ 4110}#))
#f)
(let ((#{labels\ 4119}#
(list (#{gen-label\ 2686}#)))
(#{var\ 4120}#
(#{gen-var\ 2731}#
#{pat\ 4116}#)))
(#{build-application\ 2646}#
#f
(#{build-simple-lambda\ 2655}#
#f
(list (syntax->datum
#{pat\ 4116}#))
#f
(list #{var\ 4120}#)
#f
(#{chi\ 2717}#
#{exp\ 4117}#
(#{extend-env\ 2675}#
#{labels\ 4119}#
(list (cons 'syntax
(cons #{var\ 4120}#
0)))
#{r\ 4112}#)
(#{make-binding-wrap\ 2698}#
(list #{pat\ 4116}#)
#{labels\ 4119}#
'(()))
#{mod\ 4113}#))
(list #{x\ 4109}#)))
(#{gen-clause\ 4107}#
#{x\ 4109}#
#{keys\ 4110}#
(cdr #{clauses\ 4111}#)
#{r\ 4112}#
#{pat\ 4116}#
#t
#{exp\ 4117}#
#{mod\ 4113}#)))
#{tmp\ 4115}#)
((lambda (#{tmp\ 4121}#)
(if #{tmp\ 4121}#
(apply (lambda (#{pat\ 4122}#
#{fender\ 4123}#
#{exp\ 4124}#)
(#{gen-clause\ 4107}#
#{x\ 4109}#
#{keys\ 4110}#
(cdr #{clauses\ 4111}#)
#{r\ 4112}#
#{pat\ 4122}#
#{fender\ 4123}#
#{exp\ 4124}#
#{mod\ 4113}#))
#{tmp\ 4121}#)
((lambda (#{_\ 4125}#)
(syntax-violation
'syntax-case
"invalid clause"
(car #{clauses\ 4111}#)))
#{tmp\ 4114}#)))
($sc-dispatch
#{tmp\ 4114}#
'(any any any)))))
($sc-dispatch #{tmp\ 4114}# (quote (any any)))))
(car #{clauses\ 4111}#)))))
(#{gen-clause\ 4107}#
(lambda (#{x\ 4126}#
#{keys\ 4127}#
#{clauses\ 4128}#
#{r\ 4129}#
#{pat\ 4130}#
#{fender\ 4131}#
#{exp\ 4132}#
#{mod\ 4133}#)
(call-with-values
(lambda ()
(#{convert-pattern\ 4105}#
#{pat\ 4130}#
#{keys\ 4127}#))
(lambda (#{p\ 4134}# #{pvars\ 4135}#)
(if (not (#{distinct-bound-ids?\ 2707}#
(map car #{pvars\ 4135}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
#{pat\ 4130}#)
(if (not (and-map
(lambda (#{x\ 4136}#)
(not (#{ellipsis?\ 2725}#
(car #{x\ 4136}#))))
#{pvars\ 4135}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
#{pat\ 4130}#)
(let ((#{y\ 4137}#
(#{gen-var\ 2731}# (quote tmp))))
(#{build-application\ 2646}#
#f
(#{build-simple-lambda\ 2655}#
#f
(list (quote tmp))
#f
(list #{y\ 4137}#)
#f
(let ((#{y\ 4138}#
(#{build-lexical-reference\ 2648}#
'value
#f
'tmp
#{y\ 4137}#)))
(#{build-conditional\ 2647}#
#f
((lambda (#{tmp\ 4139}#)
((lambda (#{tmp\ 4140}#)
(if #{tmp\ 4140}#
(apply (lambda () #{y\ 4138}#)
#{tmp\ 4140}#)
((lambda (#{_\ 4141}#)
(#{build-conditional\ 2647}#
#f
#{y\ 4138}#
(#{build-dispatch-call\ 4106}#
#{pvars\ 4135}#
#{fender\ 4131}#
#{y\ 4138}#
#{r\ 4129}#
#{mod\ 4133}#)
(#{build-data\ 2659}#
#f
#f)))
#{tmp\ 4139}#)))
($sc-dispatch
#{tmp\ 4139}#
'#(atom #t))))
#{fender\ 4131}#)
(#{build-dispatch-call\ 4106}#
#{pvars\ 4135}#
#{exp\ 4132}#
#{y\ 4138}#
#{r\ 4129}#
#{mod\ 4133}#)
(#{gen-syntax-case\ 4108}#
#{x\ 4126}#
#{keys\ 4127}#
#{clauses\ 4128}#
#{r\ 4129}#
#{mod\ 4133}#))))
(list (if (eq? #{p\ 4134}# (quote any))
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}#
#f
'list)
(list #{x\ 4126}#))
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}#
#f
'$sc-dispatch)
(list #{x\ 4126}#
(#{build-data\ 2659}#
#f
#{p\ 4134}#)))))))))))))
(#{build-dispatch-call\ 4106}#
(lambda (#{pvars\ 4142}#
#{exp\ 4143}#
#{y\ 4144}#
#{r\ 4145}#
#{mod\ 4146}#)
(let ((#{ids\ 4147}# (map car #{pvars\ 4142}#))
(#{levels\ 4148}# (map cdr #{pvars\ 4142}#)))
(let ((#{labels\ 4149}#
(#{gen-labels\ 2687}# #{ids\ 4147}#))
(#{new-vars\ 4150}#
(map #{gen-var\ 2731}# #{ids\ 4147}#)))
(#{build-application\ 2646}#
#f
(#{build-primref\ 2658}# #f (quote apply))
(list (#{build-simple-lambda\ 2655}#
#f
(map syntax->datum #{ids\ 4147}#)
#f
#{new-vars\ 4150}#
#f
(#{chi\ 2717}#
#{exp\ 4143}#
(#{extend-env\ 2675}#
#{labels\ 4149}#
(map (lambda (#{var\ 4151}#
#{level\ 4152}#)
(cons 'syntax
(cons #{var\ 4151}#
#{level\ 4152}#)))
#{new-vars\ 4150}#
(map cdr #{pvars\ 4142}#))
#{r\ 4145}#)
(#{make-binding-wrap\ 2698}#
#{ids\ 4147}#
#{labels\ 4149}#
'(()))
#{mod\ 4146}#))
#{y\ 4144}#))))))
(#{convert-pattern\ 4105}#
(lambda (#{pattern\ 4153}# #{keys\ 4154}#)
(letrec ((#{cvt\ 4155}#
(lambda (#{p\ 4156}# #{n\ 4157}# #{ids\ 4158}#)
(if (#{id?\ 2681}# #{p\ 4156}#)
(if (#{bound-id-member?\ 2708}#
#{p\ 4156}#
#{keys\ 4154}#)
(values
(vector (quote free-id) #{p\ 4156}#)
#{ids\ 4158}#)
(values
'any
(cons (cons #{p\ 4156}# #{n\ 4157}#)
#{ids\ 4158}#)))
((lambda (#{tmp\ 4159}#)
((lambda (#{tmp\ 4160}#)
(if (if #{tmp\ 4160}#
(apply (lambda (#{x\ 4161}#
#{dots\ 4162}#)
(#{ellipsis?\ 2725}#
#{dots\ 4162}#))
#{tmp\ 4160}#)
#f)
(apply (lambda (#{x\ 4163}#
#{dots\ 4164}#)
(call-with-values
(lambda ()
(#{cvt\ 4155}#
#{x\ 4163}#
(#{fx+\ 2636}#
#{n\ 4157}#
1)
#{ids\ 4158}#))
(lambda (#{p\ 4165}#
#{ids\ 4166}#)
(values
(if (eq? #{p\ 4165}#
'any)
'each-any
(vector
'each
#{p\ 4165}#))
#{ids\ 4166}#))))
#{tmp\ 4160}#)
((lambda (#{tmp\ 4167}#)
(if #{tmp\ 4167}#
(apply (lambda (#{x\ 4168}#
#{y\ 4169}#)
(call-with-values
(lambda ()
(#{cvt\ 4155}#
#{y\ 4169}#
#{n\ 4157}#
#{ids\ 4158}#))
(lambda (#{y\ 4170}#
#{ids\ 4171}#)
(call-with-values
(lambda ()
(#{cvt\ 4155}#
#{x\ 4168}#
#{n\ 4157}#
#{ids\ 4171}#))
(lambda (#{x\ 4172}#
#{ids\ 4173}#)
(values
(cons #{x\ 4172}#
#{y\ 4170}#)
#{ids\ 4173}#))))))
#{tmp\ 4167}#)
((lambda (#{tmp\ 4174}#)
(if #{tmp\ 4174}#
(apply (lambda ()
(values
'()
#{ids\ 4158}#))
#{tmp\ 4174}#)
((lambda (#{tmp\ 4175}#)
(if #{tmp\ 4175}#
(apply (lambda (#{x\ 4176}#)
(call-with-values
(lambda ()
(#{cvt\ 4155}#
#{x\ 4176}#
#{n\ 4157}#
#{ids\ 4158}#))
(lambda (#{p\ 4178}#
#{ids\ 4179}#)
(values
(vector
'vector
#{p\ 4178}#)
#{ids\ 4179}#))))
#{tmp\ 4175}#)
((lambda (#{x\ 4180}#)
(values
(vector
'atom
(#{strip\ 2730}#
#{p\ 4156}#
'(())))
#{ids\ 4158}#))
#{tmp\ 4159}#)))
($sc-dispatch
#{tmp\ 4159}#
'#(vector
each-any)))))
($sc-dispatch
#{tmp\ 4159}#
'()))))
($sc-dispatch
#{tmp\ 4159}#
'(any . any)))))
($sc-dispatch
#{tmp\ 4159}#
'(any any))))
#{p\ 4156}#)))))
(#{cvt\ 4155}# #{pattern\ 4153}# 0 (quote ()))))))
(lambda (#{e\ 4181}#
#{r\ 4182}#
#{w\ 4183}#
#{s\ 4184}#
#{mod\ 4185}#)
(let ((#{e\ 4186}#
(#{source-wrap\ 2710}#
#{e\ 4181}#
#{w\ 4183}#
#{s\ 4184}#
#{mod\ 4185}#)))
((lambda (#{tmp\ 4187}#)
((lambda (#{tmp\ 4188}#)
(if #{tmp\ 4188}#
(apply (lambda (#{_\ 4189}#
#{val\ 4190}#
#{key\ 4191}#
#{m\ 4192}#)
(if (and-map
(lambda (#{x\ 4193}#)
(if (#{id?\ 2681}# #{x\ 4193}#)
(not (#{ellipsis?\ 2725}#
#{x\ 4193}#))
#f))
#{key\ 4191}#)
(let ((#{x\ 4195}#
(#{gen-var\ 2731}# (quote tmp))))
(#{build-application\ 2646}#
#{s\ 4184}#
(#{build-simple-lambda\ 2655}#
#f
(list (quote tmp))
#f
(list #{x\ 4195}#)
#f
(#{gen-syntax-case\ 4108}#
(#{build-lexical-reference\ 2648}#
'value
#f
'tmp
#{x\ 4195}#)
#{key\ 4191}#
#{m\ 4192}#
#{r\ 4182}#
#{mod\ 4185}#))
(list (#{chi\ 2717}#
#{val\ 4190}#
#{r\ 4182}#
'(())
#{mod\ 4185}#))))
(syntax-violation
'syntax-case
"invalid literals list"
#{e\ 4186}#)))
#{tmp\ 4188}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4187}#)))
($sc-dispatch
#{tmp\ 4187}#
'(any any each-any . each-any))))
#{e\ 4186}#)))))
(set! sc-expand
(lambda (#{x\ 4198}# . #{rest\ 4199}#)
(if (if (pair? #{x\ 4198}#)
(equal? (car #{x\ 4198}#) #{noexpand\ 2634}#)
#f)
(cadr #{x\ 4198}#)
(let ((#{m\ 4200}#
(if (null? #{rest\ 4199}#)
'e
(car #{rest\ 4199}#)))
(#{esew\ 4201}#
(if (let ((#{t\ 4202}# (null? #{rest\ 4199}#)))
(if #{t\ 4202}#
#{t\ 4202}#
(null? (cdr #{rest\ 4199}#))))
'(eval)
(cadr #{rest\ 4199}#))))
(with-fluid*
#{*mode*\ 2635}#
#{m\ 4200}#
(lambda ()
(#{chi-top\ 2716}#
#{x\ 4198}#
'()
'((top))
#{m\ 4200}#
#{esew\ 4201}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
(lambda (#{x\ 4203}#)
(#{nonsymbol-id?\ 2680}# #{x\ 4203}#)))
(set! datum->syntax
(lambda (#{id\ 4204}# #{datum\ 4205}#)
(#{make-syntax-object\ 2664}#
#{datum\ 4205}#
(#{syntax-object-wrap\ 2667}# #{id\ 4204}#)
#f)))
(set! syntax->datum
(lambda (#{x\ 4206}#)
(#{strip\ 2730}# #{x\ 4206}# (quote (())))))
(set! generate-temporaries
(lambda (#{ls\ 4207}#)
(begin
(let ((#{x\ 4208}# #{ls\ 4207}#))
(if (not (list? #{x\ 4208}#))
(syntax-violation
'generate-temporaries
"invalid argument"
#{x\ 4208}#)))
(map (lambda (#{x\ 4209}#)
(#{wrap\ 2709}# (gensym) (quote ((top))) #f))
#{ls\ 4207}#))))
(set! free-identifier=?
(lambda (#{x\ 4210}# #{y\ 4211}#)
(begin
(let ((#{x\ 4212}# #{x\ 4210}#))
(if (not (#{nonsymbol-id?\ 2680}# #{x\ 4212}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 4212}#)))
(let ((#{x\ 4213}# #{y\ 4211}#))
(if (not (#{nonsymbol-id?\ 2680}# #{x\ 4213}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 4213}#)))
(#{free-id=?\ 2704}# #{x\ 4210}# #{y\ 4211}#))))
(set! bound-identifier=?
(lambda (#{x\ 4214}# #{y\ 4215}#)
(begin
(let ((#{x\ 4216}# #{x\ 4214}#))
(if (not (#{nonsymbol-id?\ 2680}# #{x\ 4216}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 4216}#)))
(let ((#{x\ 4217}# #{y\ 4215}#))
(if (not (#{nonsymbol-id?\ 2680}# #{x\ 4217}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 4217}#)))
(#{bound-id=?\ 2705}# #{x\ 4214}# #{y\ 4215}#))))
(set! syntax-violation
(lambda (#{who\ 4218}#
#{message\ 4219}#
#{form\ 4220}#
.
#{subform\ 4221}#)
(begin
(let ((#{x\ 4222}# #{who\ 4218}#))
(if (not ((lambda (#{x\ 4223}#)
(let ((#{t\ 4224}# (not #{x\ 4223}#)))
(if #{t\ 4224}#
#{t\ 4224}#
(let ((#{t\ 4225}# (string? #{x\ 4223}#)))
(if #{t\ 4225}#
#{t\ 4225}#
(symbol? #{x\ 4223}#))))))
#{x\ 4222}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 4222}#)))
(let ((#{x\ 4226}# #{message\ 4219}#))
(if (not (string? #{x\ 4226}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 4226}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
(if #{who\ 4218}# "~a: " "")
"~a "
(if (null? #{subform\ 4221}#)
"in ~a"
"in subform `~s' of `~s'"))
(let ((#{tail\ 4227}#
(cons #{message\ 4219}#
(map (lambda (#{x\ 4228}#)
(#{strip\ 2730}# #{x\ 4228}# (quote (()))))
(append
#{subform\ 4221}#
(list #{form\ 4220}#))))))
(if #{who\ 4218}#
(cons #{who\ 4218}# #{tail\ 4227}#)
#{tail\ 4227}#))
#f))))
(letrec ((#{match\ 4233}#
(lambda (#{e\ 4234}#
#{p\ 4235}#
#{w\ 4236}#
#{r\ 4237}#
#{mod\ 4238}#)
(if (not #{r\ 4237}#)
#f
(if (eq? #{p\ 4235}# (quote any))
(cons (#{wrap\ 2709}#
#{e\ 4234}#
#{w\ 4236}#
#{mod\ 4238}#)
#{r\ 4237}#)
(if (#{syntax-object?\ 2665}# #{e\ 4234}#)
(#{match*\ 4232}#
(#{syntax-object-expression\ 2666}# #{e\ 4234}#)
#{p\ 4235}#
(#{join-wraps\ 2700}#
#{w\ 4236}#
(#{syntax-object-wrap\ 2667}# #{e\ 4234}#))
#{r\ 4237}#
(#{syntax-object-module\ 2668}# #{e\ 4234}#))
(#{match*\ 4232}#
#{e\ 4234}#
#{p\ 4235}#
#{w\ 4236}#
#{r\ 4237}#
#{mod\ 4238}#))))))
(#{match*\ 4232}#
(lambda (#{e\ 4239}#
#{p\ 4240}#
#{w\ 4241}#
#{r\ 4242}#
#{mod\ 4243}#)
(if (null? #{p\ 4240}#)
(if (null? #{e\ 4239}#) #{r\ 4242}# #f)
(if (pair? #{p\ 4240}#)
(if (pair? #{e\ 4239}#)
(#{match\ 4233}#
(car #{e\ 4239}#)
(car #{p\ 4240}#)
#{w\ 4241}#
(#{match\ 4233}#
(cdr #{e\ 4239}#)
(cdr #{p\ 4240}#)
#{w\ 4241}#
#{r\ 4242}#
#{mod\ 4243}#)
#{mod\ 4243}#)
#f)
(if (eq? #{p\ 4240}# (quote each-any))
(let ((#{l\ 4244}#
(#{match-each-any\ 4230}#
#{e\ 4239}#
#{w\ 4241}#
#{mod\ 4243}#)))
(if #{l\ 4244}#
(cons #{l\ 4244}# #{r\ 4242}#)
#f))
(let ((#{atom-key\ 4245}# (vector-ref #{p\ 4240}# 0)))
(if (memv #{atom-key\ 4245}# (quote (each)))
(if (null? #{e\ 4239}#)
(#{match-empty\ 4231}#
(vector-ref #{p\ 4240}# 1)
#{r\ 4242}#)
(let ((#{l\ 4246}#
(#{match-each\ 4229}#
#{e\ 4239}#
(vector-ref #{p\ 4240}# 1)
#{w\ 4241}#
#{mod\ 4243}#)))
(if #{l\ 4246}#
(letrec ((#{collect\ 4247}#
(lambda (#{l\ 4248}#)
(if (null? (car #{l\ 4248}#))
#{r\ 4242}#
(cons (map car #{l\ 4248}#)
(#{collect\ 4247}#
(map cdr
#{l\ 4248}#)))))))
(#{collect\ 4247}# #{l\ 4246}#))
#f)))
(if (memv #{atom-key\ 4245}# (quote (free-id)))
(if (#{id?\ 2681}# #{e\ 4239}#)
(if (#{free-id=?\ 2704}#
(#{wrap\ 2709}#
#{e\ 4239}#
#{w\ 4241}#
#{mod\ 4243}#)
(vector-ref #{p\ 4240}# 1))
#{r\ 4242}#
#f)
#f)
(if (memv #{atom-key\ 4245}# (quote (atom)))
(if (equal?
(vector-ref #{p\ 4240}# 1)
(#{strip\ 2730}#
#{e\ 4239}#
#{w\ 4241}#))
#{r\ 4242}#
#f)
(if (memv #{atom-key\ 4245}# (quote (vector)))
(if (vector? #{e\ 4239}#)
(#{match\ 4233}#
(vector->list #{e\ 4239}#)
(vector-ref #{p\ 4240}# 1)
#{w\ 4241}#
#{r\ 4242}#
#{mod\ 4243}#)
#f)))))))))))
(#{match-empty\ 4231}#
(lambda (#{p\ 4249}# #{r\ 4250}#)
(if (null? #{p\ 4249}#)
#{r\ 4250}#
(if (eq? #{p\ 4249}# (quote any))
(cons (quote ()) #{r\ 4250}#)
(if (pair? #{p\ 4249}#)
(#{match-empty\ 4231}#
(car #{p\ 4249}#)
(#{match-empty\ 4231}#
(cdr #{p\ 4249}#)
#{r\ 4250}#))
(if (eq? #{p\ 4249}# (quote each-any))
(cons (quote ()) #{r\ 4250}#)
(let ((#{atom-key\ 4251}#
(vector-ref #{p\ 4249}# 0)))
(if (memv #{atom-key\ 4251}# (quote (each)))
(#{match-empty\ 4231}#
(vector-ref #{p\ 4249}# 1)
#{r\ 4250}#)
(if (memv #{atom-key\ 4251}#
'(free-id atom))
#{r\ 4250}#
(if (memv #{atom-key\ 4251}# (quote (vector)))
(#{match-empty\ 4231}#
(vector-ref #{p\ 4249}# 1)
#{r\ 4250}#)))))))))))
(#{match-each-any\ 4230}#
(lambda (#{e\ 4252}# #{w\ 4253}# #{mod\ 4254}#)
(if (pair? #{e\ 4252}#)
(let ((#{l\ 4255}#
(#{match-each-any\ 4230}#
(cdr #{e\ 4252}#)
#{w\ 4253}#
#{mod\ 4254}#)))
(if #{l\ 4255}#
(cons (#{wrap\ 2709}#
(car #{e\ 4252}#)
#{w\ 4253}#
#{mod\ 4254}#)
#{l\ 4255}#)
#f))
(if (null? #{e\ 4252}#)
'()
(if (#{syntax-object?\ 2665}# #{e\ 4252}#)
(#{match-each-any\ 4230}#
(#{syntax-object-expression\ 2666}# #{e\ 4252}#)
(#{join-wraps\ 2700}#
#{w\ 4253}#
(#{syntax-object-wrap\ 2667}# #{e\ 4252}#))
#{mod\ 4254}#)
#f)))))
(#{match-each\ 4229}#
(lambda (#{e\ 4256}#
#{p\ 4257}#
#{w\ 4258}#
#{mod\ 4259}#)
(if (pair? #{e\ 4256}#)
(let ((#{first\ 4260}#
(#{match\ 4233}#
(car #{e\ 4256}#)
#{p\ 4257}#
#{w\ 4258}#
'()
#{mod\ 4259}#)))
(if #{first\ 4260}#
(let ((#{rest\ 4261}#
(#{match-each\ 4229}#
(cdr #{e\ 4256}#)
#{p\ 4257}#
#{w\ 4258}#
#{mod\ 4259}#)))
(if #{rest\ 4261}#
(cons #{first\ 4260}# #{rest\ 4261}#)
#f))
#f))
(if (null? #{e\ 4256}#)
'()
(if (#{syntax-object?\ 2665}# #{e\ 4256}#)
(#{match-each\ 4229}#
(#{syntax-object-expression\ 2666}# #{e\ 4256}#)
#{p\ 4257}#
(#{join-wraps\ 2700}#
#{w\ 4258}#
(#{syntax-object-wrap\ 2667}# #{e\ 4256}#))
(#{syntax-object-module\ 2668}# #{e\ 4256}#))
#f))))))
(set! $sc-dispatch
(lambda (#{e\ 4262}# #{p\ 4263}#)
(if (eq? #{p\ 4263}# (quote any))
(list #{e\ 4262}#)
(if (#{syntax-object?\ 2665}# #{e\ 4262}#)
(#{match*\ 4232}#
(#{syntax-object-expression\ 2666}# #{e\ 4262}#)
#{p\ 4263}#
(#{syntax-object-wrap\ 2667}# #{e\ 4262}#)
'()
(#{syntax-object-module\ 2668}# #{e\ 4262}#))
(#{match*\ 4232}#
#{e\ 4262}#
#{p\ 4263}#
'(())
'()
#f)))))))))
(define with-syntax
(make-syncase-macro
'macro
(lambda (#{x\ 4264}#)
((lambda (#{tmp\ 4265}#)
((lambda (#{tmp\ 4266}#)
(if #{tmp\ 4266}#
(apply (lambda (#{_\ 4267}# #{e1\ 4268}# #{e2\ 4269}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ e1 e2)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons #{e1\ 4268}# #{e2\ 4269}#)))
#{tmp\ 4266}#)
((lambda (#{tmp\ 4271}#)
(if #{tmp\ 4271}#
(apply (lambda (#{_\ 4272}#
#{out\ 4273}#
#{in\ 4274}#
#{e1\ 4275}#
#{e2\ 4276}#)
(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\ 4274}#
'()
(list #{out\ 4273}#
(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\ 4275}#
#{e2\ 4276}#)))))
#{tmp\ 4271}#)
((lambda (#{tmp\ 4278}#)
(if #{tmp\ 4278}#
(apply (lambda (#{_\ 4279}#
#{out\ 4280}#
#{in\ 4281}#
#{e1\ 4282}#
#{e2\ 4283}#)
(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\ 4281}#)
'()
(list #{out\ 4280}#
(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\ 4282}#
#{e2\ 4283}#)))))
#{tmp\ 4278}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4265}#)))
($sc-dispatch
#{tmp\ 4265}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 4265}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 4265}#
'(any () any . each-any))))
#{x\ 4264}#))))
(define syntax-rules
(make-syncase-macro
'macro
(lambda (#{x\ 4287}#)
((lambda (#{tmp\ 4288}#)
((lambda (#{tmp\ 4289}#)
(if #{tmp\ 4289}#
(apply (lambda (#{_\ 4290}#
#{k\ 4291}#
#{keyword\ 4292}#
#{pattern\ 4293}#
#{template\ 4294}#)
(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\ 4291}#
(map (lambda (#{tmp\ 4297}#
#{tmp\ 4296}#)
(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\ 4296}#)
(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\ 4297}#)))
#{template\ 4294}#
#{pattern\ 4293}#))))))
#{tmp\ 4289}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4288}#)))
($sc-dispatch
#{tmp\ 4288}#
'(any each-any . #(each ((any . any) any))))))
#{x\ 4287}#))))
(define let*
(make-extended-syncase-macro
(module-ref (current-module) (quote let*))
'macro
(lambda (#{x\ 4298}#)
((lambda (#{tmp\ 4299}#)
((lambda (#{tmp\ 4300}#)
(if (if #{tmp\ 4300}#
(apply (lambda (#{let*\ 4301}#
#{x\ 4302}#
#{v\ 4303}#
#{e1\ 4304}#
#{e2\ 4305}#)
(and-map identifier? #{x\ 4302}#))
#{tmp\ 4300}#)
#f)
(apply (lambda (#{let*\ 4307}#
#{x\ 4308}#
#{v\ 4309}#
#{e1\ 4310}#
#{e2\ 4311}#)
(letrec ((#{f\ 4312}#
(lambda (#{bindings\ 4313}#)
(if (null? #{bindings\ 4313}#)
(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\ 4310}#
#{e2\ 4311}#)))
((lambda (#{tmp\ 4317}#)
((lambda (#{tmp\ 4318}#)
(if #{tmp\ 4318}#
(apply (lambda (#{body\ 4319}#
#{binding\ 4320}#)
(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\ 4320}#)
#{body\ 4319}#))
#{tmp\ 4318}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4317}#)))
($sc-dispatch
#{tmp\ 4317}#
'(any any))))
(list (#{f\ 4312}#
(cdr #{bindings\ 4313}#))
(car #{bindings\ 4313}#)))))))
(#{f\ 4312}# (map list #{x\ 4308}# #{v\ 4309}#))))
#{tmp\ 4300}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4299}#)))
($sc-dispatch
#{tmp\ 4299}#
'(any #(each (any any)) any . each-any))))
#{x\ 4298}#))))
(define do
(make-extended-syncase-macro
(module-ref (current-module) (quote do))
'macro
(lambda (#{orig-x\ 4321}#)
((lambda (#{tmp\ 4322}#)
((lambda (#{tmp\ 4323}#)
(if #{tmp\ 4323}#
(apply (lambda (#{_\ 4324}#
#{var\ 4325}#
#{init\ 4326}#
#{step\ 4327}#
#{e0\ 4328}#
#{e1\ 4329}#
#{c\ 4330}#)
((lambda (#{tmp\ 4331}#)
((lambda (#{tmp\ 4332}#)
(if #{tmp\ 4332}#
(apply (lambda (#{step\ 4333}#)
((lambda (#{tmp\ 4334}#)
((lambda (#{tmp\ 4335}#)
(if #{tmp\ 4335}#
(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\ 4325}#
#{init\ 4326}#)
(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\ 4328}#)
(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\ 4330}#
(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\ 4333}#)))))))
#{tmp\ 4335}#)
((lambda (#{tmp\ 4340}#)
(if #{tmp\ 4340}#
(apply (lambda (#{e1\ 4341}#
#{e2\ 4342}#)
(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\ 4325}#
#{init\ 4326}#)
(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\ 4328}#
(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\ 4341}#
#{e2\ 4342}#))
(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\ 4330}#
(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\ 4333}#)))))))
#{tmp\ 4340}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4334}#)))
($sc-dispatch
#{tmp\ 4334}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 4334}#
'())))
#{e1\ 4329}#))
#{tmp\ 4332}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4331}#)))
($sc-dispatch #{tmp\ 4331}# (quote each-any))))
(map (lambda (#{v\ 4349}# #{s\ 4350}#)
((lambda (#{tmp\ 4351}#)
((lambda (#{tmp\ 4352}#)
(if #{tmp\ 4352}#
(apply (lambda () #{v\ 4349}#)
#{tmp\ 4352}#)
((lambda (#{tmp\ 4353}#)
(if #{tmp\ 4353}#
(apply (lambda (#{e\ 4354}#)
#{e\ 4354}#)
#{tmp\ 4353}#)
((lambda (#{_\ 4355}#)
(syntax-violation
'do
"bad step expression"
#{orig-x\ 4321}#
#{s\ 4350}#))
#{tmp\ 4351}#)))
($sc-dispatch
#{tmp\ 4351}#
'(any)))))
($sc-dispatch #{tmp\ 4351}# (quote ()))))
#{s\ 4350}#))
#{var\ 4325}#
#{step\ 4327}#)))
#{tmp\ 4323}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4322}#)))
($sc-dispatch
#{tmp\ 4322}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
#{orig-x\ 4321}#))))
(define quasiquote
(make-extended-syncase-macro
(module-ref (current-module) (quote quasiquote))
'macro
(letrec ((#{quasicons\ 4358}#
(lambda (#{x\ 4362}# #{y\ 4363}#)
((lambda (#{tmp\ 4364}#)
((lambda (#{tmp\ 4365}#)
(if #{tmp\ 4365}#
(apply (lambda (#{x\ 4366}# #{y\ 4367}#)
((lambda (#{tmp\ 4368}#)
((lambda (#{tmp\ 4369}#)
(if #{tmp\ 4369}#
(apply (lambda (#{dy\ 4370}#)
((lambda (#{tmp\ 4371}#)
((lambda (#{tmp\ 4372}#)
(if #{tmp\ 4372}#
(apply (lambda (#{dx\ 4373}#)
(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\ 4373}#
#{dy\ 4370}#)))
#{tmp\ 4372}#)
((lambda (#{_\ 4374}#)
(if (null? #{dy\ 4370}#)
(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\ 4366}#)
(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\ 4366}#
#{y\ 4367}#)))
#{tmp\ 4371}#)))
($sc-dispatch
#{tmp\ 4371}#
'(#(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\ 4366}#))
#{tmp\ 4369}#)
((lambda (#{tmp\ 4375}#)
(if #{tmp\ 4375}#
(apply (lambda (#{stuff\ 4376}#)
(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\ 4366}#
#{stuff\ 4376}#)))
#{tmp\ 4375}#)
((lambda (#{else\ 4377}#)
(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\ 4366}#
#{y\ 4367}#))
#{tmp\ 4368}#)))
($sc-dispatch
#{tmp\ 4368}#
'(#(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\ 4368}#
'(#(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\ 4367}#))
#{tmp\ 4365}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4364}#)))
($sc-dispatch #{tmp\ 4364}# (quote (any any)))))
(list #{x\ 4362}# #{y\ 4363}#))))
(#{quasiappend\ 4359}#
(lambda (#{x\ 4378}# #{y\ 4379}#)
((lambda (#{tmp\ 4380}#)
((lambda (#{tmp\ 4381}#)
(if #{tmp\ 4381}#
(apply (lambda (#{x\ 4382}# #{y\ 4383}#)
((lambda (#{tmp\ 4384}#)
((lambda (#{tmp\ 4385}#)
(if #{tmp\ 4385}#
(apply (lambda () #{x\ 4382}#)
#{tmp\ 4385}#)
((lambda (#{_\ 4386}#)
(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\ 4382}#
#{y\ 4383}#))
#{tmp\ 4384}#)))
($sc-dispatch
#{tmp\ 4384}#
'(#(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\ 4383}#))
#{tmp\ 4381}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4380}#)))
($sc-dispatch #{tmp\ 4380}# (quote (any any)))))
(list #{x\ 4378}# #{y\ 4379}#))))
(#{quasivector\ 4360}#
(lambda (#{x\ 4387}#)
((lambda (#{tmp\ 4388}#)
((lambda (#{x\ 4389}#)
((lambda (#{tmp\ 4390}#)
((lambda (#{tmp\ 4391}#)
(if #{tmp\ 4391}#
(apply (lambda (#{x\ 4392}#)
(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\ 4392}#)))
#{tmp\ 4391}#)
((lambda (#{tmp\ 4394}#)
(if #{tmp\ 4394}#
(apply (lambda (#{x\ 4395}#)
(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\ 4395}#))
#{tmp\ 4394}#)
((lambda (#{_\ 4397}#)
(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\ 4389}#))
#{tmp\ 4390}#)))
($sc-dispatch
#{tmp\ 4390}#
'(#(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\ 4390}#
'(#(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\ 4389}#))
#{tmp\ 4388}#))
#{x\ 4387}#)))
(#{quasi\ 4361}#
(lambda (#{p\ 4398}# #{lev\ 4399}#)
((lambda (#{tmp\ 4400}#)
((lambda (#{tmp\ 4401}#)
(if #{tmp\ 4401}#
(apply (lambda (#{p\ 4402}#)
(if (= #{lev\ 4399}# 0)
#{p\ 4402}#
(#{quasicons\ 4358}#
'(#(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\ 4361}#
(list #{p\ 4402}#)
(- #{lev\ 4399}# 1)))))
#{tmp\ 4401}#)
((lambda (#{tmp\ 4403}#)
(if (if #{tmp\ 4403}#
(apply (lambda (#{args\ 4404}#)
(= #{lev\ 4399}# 0))
#{tmp\ 4403}#)
#f)
(apply (lambda (#{args\ 4405}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
#{p\ 4398}#
(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\ 4405}#)))
#{tmp\ 4403}#)
((lambda (#{tmp\ 4406}#)
(if #{tmp\ 4406}#
(apply (lambda (#{p\ 4407}# #{q\ 4408}#)
(if (= #{lev\ 4399}# 0)
(#{quasiappend\ 4359}#
#{p\ 4407}#
(#{quasi\ 4361}#
#{q\ 4408}#
#{lev\ 4399}#))
(#{quasicons\ 4358}#
(#{quasicons\ 4358}#
'(#(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\ 4361}#
(list #{p\ 4407}#)
(- #{lev\ 4399}# 1)))
(#{quasi\ 4361}#
#{q\ 4408}#
#{lev\ 4399}#))))
#{tmp\ 4406}#)
((lambda (#{tmp\ 4409}#)
(if (if #{tmp\ 4409}#
(apply (lambda (#{args\ 4410}#
#{q\ 4411}#)
(= #{lev\ 4399}# 0))
#{tmp\ 4409}#)
#f)
(apply (lambda (#{args\ 4412}#
#{q\ 4413}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes exactly one argument"
#{p\ 4398}#
(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\ 4412}#)))
#{tmp\ 4409}#)
((lambda (#{tmp\ 4414}#)
(if #{tmp\ 4414}#
(apply (lambda (#{p\ 4415}#)
(#{quasicons\ 4358}#
'(#(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\ 4361}#
(list #{p\ 4415}#)
(+ #{lev\ 4399}#
1))))
#{tmp\ 4414}#)
((lambda (#{tmp\ 4416}#)
(if #{tmp\ 4416}#
(apply (lambda (#{p\ 4417}#
#{q\ 4418}#)
(#{quasicons\ 4358}#
(#{quasi\ 4361}#
#{p\ 4417}#
#{lev\ 4399}#)
(#{quasi\ 4361}#
#{q\ 4418}#
#{lev\ 4399}#)))
#{tmp\ 4416}#)
((lambda (#{tmp\ 4419}#)
(if #{tmp\ 4419}#
(apply (lambda (#{x\ 4420}#)
(#{quasivector\ 4360}#
(#{quasi\ 4361}#
#{x\ 4420}#
#{lev\ 4399}#)))
#{tmp\ 4419}#)
((lambda (#{p\ 4422}#)
(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\ 4422}#))
#{tmp\ 4400}#)))
($sc-dispatch
#{tmp\ 4400}#
'#(vector each-any)))))
($sc-dispatch
#{tmp\ 4400}#
'(any . any)))))
($sc-dispatch
#{tmp\ 4400}#
'(#(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\ 4400}#
'((#(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\ 4400}#
'((#(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\ 4400}#
'(#(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\ 4400}#
'(#(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\ 4398}#))))
(lambda (#{x\ 4423}#)
((lambda (#{tmp\ 4424}#)
((lambda (#{tmp\ 4425}#)
(if #{tmp\ 4425}#
(apply (lambda (#{_\ 4426}# #{e\ 4427}#)
(#{quasi\ 4361}# #{e\ 4427}# 0))
#{tmp\ 4425}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4424}#)))
($sc-dispatch #{tmp\ 4424}# (quote (any any)))))
#{x\ 4423}#)))))
(define include
(make-syncase-macro
'macro
(lambda (#{x\ 4428}#)
(letrec ((#{read-file\ 4429}#
(lambda (#{fn\ 4430}# #{k\ 4431}#)
(let ((#{p\ 4432}# (open-input-file #{fn\ 4430}#)))
(letrec ((#{f\ 4433}#
(lambda (#{x\ 4434}#)
(if (eof-object? #{x\ 4434}#)
(begin
(close-input-port #{p\ 4432}#)
'())
(cons (datum->syntax
#{k\ 4431}#
#{x\ 4434}#)
(#{f\ 4433}# (read #{p\ 4432}#)))))))
(#{f\ 4433}# (read #{p\ 4432}#)))))))
((lambda (#{tmp\ 4435}#)
((lambda (#{tmp\ 4436}#)
(if #{tmp\ 4436}#
(apply (lambda (#{k\ 4437}# #{filename\ 4438}#)
(let ((#{fn\ 4439}#
(syntax->datum #{filename\ 4438}#)))
((lambda (#{tmp\ 4440}#)
((lambda (#{tmp\ 4441}#)
(if #{tmp\ 4441}#
(apply (lambda (#{exp\ 4442}#)
(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\ 4442}#))
#{tmp\ 4441}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4440}#)))
($sc-dispatch #{tmp\ 4440}# (quote each-any))))
(#{read-file\ 4429}# #{fn\ 4439}# #{k\ 4437}#))))
#{tmp\ 4436}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4435}#)))
($sc-dispatch #{tmp\ 4435}# (quote (any any)))))
#{x\ 4428}#)))))
(define include-from-path
(make-syncase-macro
'macro
(lambda (#{x\ 4444}#)
((lambda (#{tmp\ 4445}#)
((lambda (#{tmp\ 4446}#)
(if #{tmp\ 4446}#
(apply (lambda (#{k\ 4447}# #{filename\ 4448}#)
(let ((#{fn\ 4449}# (syntax->datum #{filename\ 4448}#)))
((lambda (#{tmp\ 4450}#)
((lambda (#{fn\ 4451}#)
(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\ 4451}#))
#{tmp\ 4450}#))
(let ((#{t\ 4452}# (%search-load-path #{fn\ 4449}#)))
(if #{t\ 4452}#
#{t\ 4452}#
(syntax-violation
'include-from-path
"file not found in path"
#{x\ 4444}#
#{filename\ 4448}#))))))
#{tmp\ 4446}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4445}#)))
($sc-dispatch #{tmp\ 4445}# (quote (any any)))))
#{x\ 4444}#))))
(define unquote
(make-syncase-macro
'macro
(lambda (#{x\ 4453}#)
((lambda (#{tmp\ 4454}#)
((lambda (#{tmp\ 4455}#)
(if #{tmp\ 4455}#
(apply (lambda (#{_\ 4456}# #{e\ 4457}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
#{x\ 4453}#))
#{tmp\ 4455}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4454}#)))
($sc-dispatch #{tmp\ 4454}# (quote (any any)))))
#{x\ 4453}#))))
(define unquote-splicing
(make-syncase-macro
'macro
(lambda (#{x\ 4458}#)
((lambda (#{tmp\ 4459}#)
((lambda (#{tmp\ 4460}#)
(if #{tmp\ 4460}#
(apply (lambda (#{_\ 4461}# #{e\ 4462}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
#{x\ 4458}#))
#{tmp\ 4460}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4459}#)))
($sc-dispatch #{tmp\ 4459}# (quote (any any)))))
#{x\ 4458}#))))
(define case
(make-extended-syncase-macro
(module-ref (current-module) (quote case))
'macro
(lambda (#{x\ 4463}#)
((lambda (#{tmp\ 4464}#)
((lambda (#{tmp\ 4465}#)
(if #{tmp\ 4465}#
(apply (lambda (#{_\ 4466}#
#{e\ 4467}#
#{m1\ 4468}#
#{m2\ 4469}#)
((lambda (#{tmp\ 4470}#)
((lambda (#{body\ 4471}#)
(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\ 4467}#))
#{body\ 4471}#))
#{tmp\ 4470}#))
(letrec ((#{f\ 4472}#
(lambda (#{clause\ 4473}# #{clauses\ 4474}#)
(if (null? #{clauses\ 4474}#)
((lambda (#{tmp\ 4476}#)
((lambda (#{tmp\ 4477}#)
(if #{tmp\ 4477}#
(apply (lambda (#{e1\ 4478}#
#{e2\ 4479}#)
(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\ 4478}#
#{e2\ 4479}#)))
#{tmp\ 4477}#)
((lambda (#{tmp\ 4481}#)
(if #{tmp\ 4481}#
(apply (lambda (#{k\ 4482}#
#{e1\ 4483}#
#{e2\ 4484}#)
(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\ 4482}#))
(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\ 4483}#
#{e2\ 4484}#))))
#{tmp\ 4481}#)
((lambda (#{_\ 4487}#)
(syntax-violation
'case
"bad clause"
#{x\ 4463}#
#{clause\ 4473}#))
#{tmp\ 4476}#)))
($sc-dispatch
#{tmp\ 4476}#
'(each-any
any
.
each-any)))))
($sc-dispatch
#{tmp\ 4476}#
'(#(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\ 4473}#)
((lambda (#{tmp\ 4488}#)
((lambda (#{rest\ 4489}#)
((lambda (#{tmp\ 4490}#)
((lambda (#{tmp\ 4491}#)
(if #{tmp\ 4491}#
(apply (lambda (#{k\ 4492}#
#{e1\ 4493}#
#{e2\ 4494}#)
(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\ 4492}#))
(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\ 4493}#
#{e2\ 4494}#))
#{rest\ 4489}#))
#{tmp\ 4491}#)
((lambda (#{_\ 4497}#)
(syntax-violation
'case
"bad clause"
#{x\ 4463}#
#{clause\ 4473}#))
#{tmp\ 4490}#)))
($sc-dispatch
#{tmp\ 4490}#
'(each-any
any
.
each-any))))
#{clause\ 4473}#))
#{tmp\ 4488}#))
(#{f\ 4472}#
(car #{clauses\ 4474}#)
(cdr #{clauses\ 4474}#)))))))
(#{f\ 4472}# #{m1\ 4468}# #{m2\ 4469}#))))
#{tmp\ 4465}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4464}#)))
($sc-dispatch
#{tmp\ 4464}#
'(any any any . each-any))))
#{x\ 4463}#))))
(define identifier-syntax
(make-syncase-macro
'macro
(lambda (#{x\ 4498}#)
((lambda (#{tmp\ 4499}#)
((lambda (#{tmp\ 4500}#)
(if #{tmp\ 4500}#
(apply (lambda (#{_\ 4501}# #{e\ 4502}#)
(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\ 4502}#))
(list (cons #{_\ 4501}#
'(#(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\ 4502}#
'(#(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\ 4500}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4499}#)))
($sc-dispatch #{tmp\ 4499}# (quote (any any)))))
#{x\ 4498}#))))
(define define*
(make-syncase-macro
'macro
(lambda (#{x\ 4503}#)
((lambda (#{tmp\ 4504}#)
((lambda (#{tmp\ 4505}#)
(if #{tmp\ 4505}#
(apply (lambda (#{dummy\ 4506}#
#{id\ 4507}#
#{args\ 4508}#
#{b0\ 4509}#
#{b1\ 4510}#)
(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\ 4507}#
(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\ 4508}#
(cons #{b0\ 4509}# #{b1\ 4510}#)))))
#{tmp\ 4505}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4504}#)))
($sc-dispatch
#{tmp\ 4504}#
'(any (any . any) any . each-any))))
#{x\ 4503}#))))