mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
* libguile/eval.c: So, ladies & gents, a new evaluator. It's similar to the old one, in that we memoize and then evaluate, but in this incarnation, memoization of an expression happens before evaluation, not lazily as the expression is evaluated. This makes the evaluation itself much cleaner, in addition to being threadsafe. In addition, since this C evaluator will in the future just serve to bootstrap the Scheme evaluator, we don't have to pay much concern for debugging conveniences. So the environment is just a list of values, and the memoizer pre-computes where it's going to find each individual value in the environment. Interface changes are commented below, with eval.h. (scm_evaluator_traps): No need to reset the debug mode after rnning te traps thing. But really, the whole traps system needs some love. * libguile/memoize.h: * libguile/memoize.c: New memoizer, which runs before evaluation, checking all syntax before evaluation begins. Significantly, no debugging information is left for lexical variables, which is not so great for interactive debugging; perhaps we should change this to have a var list in the future as per the classic interpreters. But it's quite fast, and the resulting code is quite good. Also note that it doesn't produce ilocs, memoized code is a smob whose type is in the first word of the smob itself. * libguile/eval.h (scm_sym_and, scm_sym_begin, scm_sym_case) (scm_sym_cond, scm_sym_define, scm_sym_do, scm_sym_if, scm_sym_lambda) (scm_sym_let, scm_sym_letstar, scm_sym_letrec, scm_sym_quote) (scm_sym_quasiquote, scm_sym_unquote, scm_sym_uq_splicing, scm_sym_at) (scm_sym_atat, scm_sym_atapply, scm_sym_atcall_cc) (scm_sym_at_call_with_values, scm_sym_delay, scm_sym_eval_when) (scm_sym_arrow, scm_sym_else, scm_sym_apply, scm_sym_set_x) (scm_sym_args): Remove public declaration of these symbols. (scm_ilookup, scm_lookupcar, scm_eval_car, scm_eval_body) (scm_eval_args, scm_i_eval_x, scm_i_eval): Remove public declaration of these functions. (scm_ceval, scm_deval, scm_ceval_ptr): Remove declarations of these deprecated functions. (scm_i_print_iloc, scm_i_print_isym, scm_i_unmemocopy_expr) (scm_i_unmemocopy_body): Remove declarations of these internal functions. (scm_primitive_eval_x, scm_eval_x): Redefine as macros for their less destructive siblings. * libguile/Makefile.am: Add memoize.[ch] to the build. * libguile/debug.h (scm_debug_mode_p, scm_check_entry_p) (scm_check_apply_p, scm_check_exit_p, scm_check_memoize_p) (scm_debug_eframe_size): Remove these vars that were tied to the old evaluator's execution model. (SCM_RESET_DEBUG_MODE): Remove, no more need for this. (SCM_MEMOIZEDP, SCM_MEMOIZED_EXP, SCM_MEMOIZED_ENV): Remove macros referring to old memoized code representation. (scm_local_eval, scm_procedure_environment, scm_memoized_environment) (scm_make_memoized, scm_memoized_p): Remove functions operating on old memoized code representation. (scm_memcons, scm_mem_to_proc, scm_proc_to_mem): Remove debug-only code for old evaluator. * libguile/debug.c: Remove code to correspond with debug.h removals. (scm_debug_options): No need to set the debug mode or frame limit here, as we don't have C stack limits any more. Perhaps this is a bug, but as long as we can compile eval.scm, we should be fine. * libguile/init.c (scm_i_init_guile): Init memoize.c. * libguile/modules.c (scm_top_level_env, scm_env_top_level) (scm_env_module, scm_system_module_env_p): Remove these functions. * libguile/print.c (iprin1): No more need to handle isyms. Adapt to new form of interpreted procedures. * libguile/procprop.c (scm_i_procedure_arity): Adapt to new form of interpreted procedures. * libguile/procs.c (scm_thunk_p): Adapt to new form of interpreted procedures. * libguile/procs.h (SCM_CLOSURE_FORMALS): Removed, this exists no more. (SCM_CLOSURE_NUM_REQUIRED_ARGS, SCM_CLOSURE_HAS_REST_ARGS): New accessors. * libguile/srcprop.c (scm_source_properties, scm_source_property) (scm_set_source_property_x): Remove special cases for memoized code. * libguile/stacks.c (read_frame): Remove a source-property case for interpreted code. (NEXT_FRAME): Remove a case that I don't fully understand, that seems to be designed to skip over apply frames. Will be obsolete in the futures. (read_frames): Default source value for interpreted frames to #f. (narrow_stack): Don't pay attention to the system_module thing. * libguile/tags.h: Remove isyms and ilocs. Whee! * libguile/validate.h (SCM_VALIDATE_MEMOIZED): Fix to use the new MEMOIZED_P formulation. * module/ice-9/psyntax-pp.scm (do, quasiquote, case): Adapt for these no longer being primitive macros. * module/ice-9/boot-9.scm: Whitespace change, but just a poke to force a rebuild due to and/or/cond/... not being primitives any more. * module/ice-9/deprecated.scm (unmemoize-expr): Deprecate, it's unmemoize-expression now. * test-suite/tests/eval.test ("define set procedure-name"): XFAIL a couple of tests here; I don't know what to do about them. I reckon the expander should ensure that defined values are named. * test-suite/tests/chars.test ("basic char handling"): Fix expected exception when trying to apply a char.
14435 lines
925 KiB
Scheme
14435 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-syncase-macro
|
|
'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-syncase-macro
|
|
'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-syncase-macro
|
|
'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}#))))
|
|
|