diff options
author | Andy Wingo <wingo@pobox.com> | 2011-04-11 23:30:52 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-04-11 23:30:52 +0200 |
commit | 21c05db45b69f8a62b84c36abc86cb935fa967d7 (patch) | |
tree | 743df01da540e7fd628f54894e7d5fbe94b03996 /module | |
parent | 4db853d747ac115f799c93e2de93f5159ad84109 (diff) | |
parent | c89b45299329d034875429804f18768c1ea96713 (diff) | |
download | guile-21c05db45b69f8a62b84c36abc86cb935fa967d7.tar.gz |
Merge remote branch 'origin/stable-2.0'
Conflicts:
GUILE-VERSION
test-suite/tests/srfi-4.test
Diffstat (limited to 'module')
36 files changed, 15178 insertions, 14892 deletions
diff --git a/module/Makefile.am b/module/Makefile.am index 994090015..2685a3a63 100644 --- a/module/Makefile.am +++ b/module/Makefile.am @@ -73,9 +73,8 @@ ETAGS_ARGS += \ ice-9/compile-psyntax.scm \ ice-9/ChangeLog-2008 -include $(top_srcdir)/am/pre-inst-guile ice-9/psyntax-pp.scm.gen: - $(preinstguile) --no-auto-compile -s $(srcdir)/ice-9/compile-psyntax.scm \ + $(top_builddir_absolute)/meta/guile --no-auto-compile -s $(srcdir)/ice-9/compile-psyntax.scm \ $(srcdir)/ice-9/psyntax.scm $(srcdir)/ice-9/psyntax-pp.scm .PHONY: ice-9/psyntax-pp.scm.gen @@ -180,12 +179,14 @@ ICE_9_SOURCES = \ ice-9/r5rs.scm \ ice-9/deprecated.scm \ ice-9/and-let-star.scm \ + ice-9/binary-ports.scm \ ice-9/calling.scm \ ice-9/common-list.scm \ ice-9/control.scm \ ice-9/curried-definitions.scm \ ice-9/debug.scm \ ice-9/documentation.scm \ + ice-9/eval-string.scm \ ice-9/expect.scm \ ice-9/format.scm \ ice-9/futures.scm \ @@ -268,7 +269,6 @@ SRFI_SOURCES = \ srfi/srfi-98.scm RNRS_SOURCES = \ - rnrs.scm \ rnrs/base.scm \ rnrs/conditions.scm \ rnrs/control.scm \ @@ -293,7 +293,8 @@ RNRS_SOURCES = \ rnrs/io/ports.scm \ rnrs/records/inspection.scm \ rnrs/records/procedural.scm \ - rnrs/records/syntactic.scm + rnrs/records/syntactic.scm \ + rnrs.scm EXTRA_DIST += scripts/ChangeLog-2008 EXTRA_DIST += scripts/README diff --git a/module/ice-9/binary-ports.scm b/module/ice-9/binary-ports.scm new file mode 100644 index 000000000..c07900b0d --- /dev/null +++ b/module/ice-9/binary-ports.scm @@ -0,0 +1,50 @@ +;;;; binary-ports.scm --- Binary IO on ports + +;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +;;;; +;;;; This library is free software; you can redistribute it and/or +;;;; modify it under the terms of the GNU Lesser General Public +;;;; License as published by the Free Software Foundation; either +;;;; version 3 of the License, or (at your option) any later version. +;;;; +;;;; This library is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;;; Lesser General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU Lesser General Public +;;;; License along with this library; if not, write to the Free Software +;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +;;; Author: Ludovic Courtès <ludo@gnu.org> + +;;; Commentary: +;;; +;;; The I/O port API of the R6RS is provided by this module. In many areas +;;; it complements or refines Guile's own historical port API. For instance, +;;; it allows for binary I/O with bytevectors. +;;; +;;; Code: + +(define-module (ice-9 binary-ports) + #:use-module (rnrs bytevectors) + #:export (eof-object + open-bytevector-input-port + make-custom-binary-input-port + get-u8 + lookahead-u8 + get-bytevector-n + get-bytevector-n! + get-bytevector-some + get-bytevector-all + get-string-n! + put-u8 + put-bytevector + open-bytevector-output-port + make-custom-binary-output-port)) + +;; Note that this extension also defines %make-transcoded-port, which is +;; not exported but is used by (rnrs io ports). + +(load-extension (string-append "libguile-" (effective-version)) + "scm_init_r6rs_ports") diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm index 4b28ad7b1..327e3fa31 100644 --- a/module/ice-9/boot-9.scm +++ b/module/ice-9/boot-9.scm @@ -538,7 +538,7 @@ If there is no handler at all, Guile prints an error and then exits." ((subr msg args . rest) (if subr (format port "In procedure ~a: " subr)) - (apply format port msg args)) + (apply format port msg (or args '()))) (_ (default-printer))) args)) @@ -1987,29 +1987,27 @@ VALUE." ;; Newly used modules must be appended rather than consed, so that ;; `module-variable' traverses the use list starting from the first ;; used module. - (set-module-uses! module - (append (filter (lambda (m) - (not - (equal? (module-name m) - (module-name interface)))) - (module-uses module)) - (list interface))) + (set-module-uses! module (append (module-uses module) + (list interface))) (hash-clear! (module-import-obarray module)) (module-modified module)))) ;; MODULE-USE-INTERFACES! module interfaces ;; -;; Same as MODULE-USE! but add multiple interfaces and check for duplicates +;; Same as MODULE-USE!, but only notifies module observers after all +;; interfaces are added to the inports list. ;; (define (module-use-interfaces! module interfaces) - (let ((prev (filter (lambda (used) - (and-map (lambda (iface) - (not (equal? (module-name used) - (module-name iface)))) - interfaces)) - (module-uses module)))) - (set-module-uses! module - (append prev interfaces)) + (let* ((cur (module-uses module)) + (new (let lp ((in interfaces) (out '())) + (if (null? in) + (reverse out) + (lp (cdr in) + (let ((iface (car in))) + (if (or (memq iface cur) (memq iface out)) + out + (cons iface out)))))))) + (set-module-uses! module (append cur new)) (hash-clear! (module-import-obarray module)) (module-modified module))) @@ -3406,6 +3404,7 @@ module '(ice-9 q) '(make-q q-length))}." srfi-4 ;; homogenous numeric vectors srfi-6 ;; open-input-string etc, in the guile core srfi-13 ;; string library + srfi-23 ;; `error` procedure srfi-14 ;; character sets srfi-55 ;; require-extension srfi-61 ;; general cond clause @@ -3498,6 +3497,42 @@ module '(ice-9 q) '(make-q q-length))}." x))))) +;;; Defining transparently inlinable procedures +;;; + +(define-syntax define-inlinable + ;; Define a macro and a procedure such that direct calls are inlined, via + ;; the macro expansion, whereas references in non-call contexts refer to + ;; the procedure. Inspired by the `define-integrable' macro by Dybvig et al. + (lambda (x) + ;; Use a space in the prefix to avoid potential -Wunused-toplevel + ;; warning + (define prefix (string->symbol "% ")) + (define (make-procedure-name name) + (datum->syntax name + (symbol-append prefix (syntax->datum name) + '-procedure))) + + (syntax-case x () + ((_ (name formals ...) body ...) + (identifier? #'name) + (with-syntax ((proc-name (make-procedure-name #'name)) + ((args ...) (generate-temporaries #'(formals ...)))) + #`(begin + (define (proc-name formals ...) + body ...) + (define-syntax name + (lambda (x) + (syntax-case x () + ((_ args ...) + #'((lambda (formals ...) + body ...) + args ...)) + (_ + (identifier? x) + #'proc-name)))))))))) + + (define using-readline? (let ((using-readline? (make-fluid))) diff --git a/module/ice-9/eval-string.scm b/module/ice-9/eval-string.scm new file mode 100644 index 000000000..27448d73f --- /dev/null +++ b/module/ice-9/eval-string.scm @@ -0,0 +1,88 @@ +;;; Evaluating code from users + +;;; Copyright (C) 2011 Free Software Foundation, Inc. + +;;;; This library is free software; you can redistribute it and/or +;;;; modify it under the terms of the GNU Lesser General Public +;;;; License as published by the Free Software Foundation; either +;;;; version 3 of the License, or (at your option) any later version. +;;;; +;;;; This library is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;;; Lesser General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU Lesser General Public +;;;; License along with this library; if not, write to the Free Software +;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +;;; Code: + +(define-module (ice-9 eval-string) + #:use-module (system base compile) + #:use-module (system base language) + #:use-module (system vm program) + #:replace (eval-string)) + +(define (ensure-language x) + (if (language? x) + x + (lookup-language x))) + +(define* (read-and-eval port #:key (lang (current-language))) + (with-fluids ((*current-language* (ensure-language lang))) + (define (read) + ((language-reader (current-language)) port (current-module))) + (define (eval exp) + ((language-evaluator (current-language)) exp (current-module))) + + (let ((exp (read))) + (if (eof-object? exp) + ;; The behavior of read-and-compile and of the old + ;; eval-string. + *unspecified* + (let lp ((exp exp)) + (call-with-values + (lambda () (eval exp)) + (lambda vals + (let ((next (read))) + (cond + ((eof-object? next) + (apply values vals)) + (else + (lp next))))))))))) + +(define* (eval-string str #:key + (module (current-module)) + (file #f) + (line #f) + (column #f) + (lang (current-language)) + (compile? #f)) + (define (maybe-with-module module thunk) + (if module + (save-module-excursion + (lambda () + (set-current-module module) + (thunk))) + (thunk))) + + (let ((lang (ensure-language lang))) + (call-with-input-string + str + (lambda (port) + (maybe-with-module + module + (lambda () + (if module + (set-current-module module)) + (if file + (set-port-filename! port file)) + (if line + (set-port-line! port line)) + (if column + (set-port-column! port line)) + + (if (or compile? (not (language-evaluator lang))) + ((make-program (read-and-compile port #:from lang #:to 'objcode))) + (read-and-eval port #:lang lang)))))))) diff --git a/module/ice-9/popen.scm b/module/ice-9/popen.scm index c5b02f7f1..5445ecb6b 100644 --- a/module/ice-9/popen.scm +++ b/module/ice-9/popen.scm @@ -1,6 +1,6 @@ ;; popen emulation, for non-stdio based ports. -;;;; Copyright (C) 1998, 1999, 2000, 2001, 2003, 2006, 2010 Free Software Foundation, Inc. +;;;; Copyright (C) 1998, 1999, 2000, 2001, 2003, 2006, 2010, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -139,6 +139,10 @@ A port to the process (based on pipes) is created and returned. @var{modes} specifies whether an input, an output or an input-output port to the process is created: it should be the value of @code{OPEN_READ}, @code{OPEN_WRITE} or @code{OPEN_BOTH}." + + ;; Until we get GC hooks working again, pump the guardian here. + (reap-pipes) + (let* ((port/pid (apply open-process mode command args)) (port (car port/pid))) (pipe-guardian port) diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm index 207e72c2f..16c6a90a4 100644 --- a/module/ice-9/psyntax-pp.scm +++ b/module/ice-9/psyntax-pp.scm @@ -2,1203 +2,2025 @@ (if #f #f) (letrec* - ((#{and-map*\ 37}# - (lambda (#{f\ 201}# #{first\ 202}# . #{rest\ 203}#) + ((#{and-map* 38}# + (lambda (#{f 202}# #{first 203}# . #{rest 204}#) (begin - (let ((#{t\ 209}# (null? #{first\ 202}#))) - (if #{t\ 209}# - #{t\ 209}# - (if (null? #{rest\ 203}#) + (let ((#{t 210}# (null? #{first 203}#))) + (if #{t 210}# + #{t 210}# + (if (null? #{rest 204}#) (letrec* - ((#{andmap\ 213}# - (lambda (#{first\ 214}#) + ((#{andmap 214}# + (lambda (#{first 215}#) (begin - (let ((#{x\ 217}# (car #{first\ 214}#)) - (#{first\ 218}# (cdr #{first\ 214}#))) - (if (null? #{first\ 218}#) - (#{f\ 201}# #{x\ 217}#) - (if (#{f\ 201}# #{x\ 217}#) - (#{andmap\ 213}# #{first\ 218}#) + (let ((#{x 218}# (car #{first 215}#)) + (#{first 219}# (cdr #{first 215}#))) + (if (null? #{first 219}#) + (#{f 202}# #{x 218}#) + (if (#{f 202}# #{x 218}#) + (#{andmap 214}# #{first 219}#) #f))))))) - (begin (#{andmap\ 213}# #{first\ 202}#))) + (begin (#{andmap 214}# #{first 203}#))) (letrec* - ((#{andmap\ 224}# - (lambda (#{first\ 225}# #{rest\ 226}#) + ((#{andmap 225}# + (lambda (#{first 226}# #{rest 227}#) (begin - (let ((#{x\ 231}# (car #{first\ 225}#)) - (#{xr\ 232}# (map car #{rest\ 226}#)) - (#{first\ 233}# (cdr #{first\ 225}#)) - (#{rest\ 234}# (map cdr #{rest\ 226}#))) - (if (null? #{first\ 233}#) - (@apply #{f\ 201}# #{x\ 231}# #{xr\ 232}#) - (if (@apply #{f\ 201}# #{x\ 231}# #{xr\ 232}#) - (#{andmap\ 224}# #{first\ 233}# #{rest\ 234}#) + (let ((#{x 232}# (car #{first 226}#)) + (#{xr 233}# (map car #{rest 227}#)) + (#{first 234}# (cdr #{first 226}#)) + (#{rest 235}# (map cdr #{rest 227}#))) + (if (null? #{first 234}#) + (@apply #{f 202}# #{x 232}# #{xr 233}#) + (if (@apply #{f 202}# #{x 232}# #{xr 233}#) + (#{andmap 225}# #{first 234}# #{rest 235}#) #f))))))) (begin - (#{andmap\ 224}# #{first\ 202}# #{rest\ 203}#)))))))))) + (#{andmap 225}# #{first 203}# #{rest 204}#)))))))))) (begin - (let ((#{make-primitive-ref\ 243}# (if #f #f)) - (#{fx+\ 282}# (if #f #f)) - (#{fx-\ 284}# (if #f #f)) - (#{fx=\ 286}# (if #f #f)) - (#{fx<\ 288}# (if #f #f)) - (#{set-syntax-object-expression!\ 353}# - (if #f #f)) - (#{set-syntax-object-wrap!\ 355}# (if #f #f)) - (#{set-syntax-object-module!\ 357}# (if #f #f)) - (#{ribcage?\ 399}# (if #f #f))) - (letrec* - ((#{make-void\ 239}# - (lambda (#{src\ 751}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #{src\ 751}#))) - (#{make-const\ 241}# - (lambda (#{src\ 753}# #{exp\ 754}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #{src\ 753}# - #{exp\ 754}#))) - (#{make-lexical-ref\ 245}# - (lambda (#{src\ 761}# #{name\ 762}# #{gensym\ 763}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #{src\ 761}# - #{name\ 762}# - #{gensym\ 763}#))) - (#{make-lexical-set\ 247}# - (lambda (#{src\ 767}# - #{name\ 768}# - #{gensym\ 769}# - #{exp\ 770}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 4) - #{src\ 767}# - #{name\ 768}# - #{gensym\ 769}# - #{exp\ 770}#))) - (#{make-module-ref\ 249}# - (lambda (#{src\ 775}# - #{mod\ 776}# - #{name\ 777}# - #{public?\ 778}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 5) - #{src\ 775}# - #{mod\ 776}# - #{name\ 777}# - #{public?\ 778}#))) - (#{make-module-set\ 251}# - (lambda (#{src\ 783}# - #{mod\ 784}# - #{name\ 785}# - #{public?\ 786}# - #{exp\ 787}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 6) - #{src\ 783}# - #{mod\ 784}# - #{name\ 785}# - #{public?\ 786}# - #{exp\ 787}#))) - (#{make-toplevel-ref\ 253}# - (lambda (#{src\ 793}# #{name\ 794}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 7) - #{src\ 793}# - #{name\ 794}#))) - (#{make-toplevel-set\ 255}# - (lambda (#{src\ 797}# #{name\ 798}# #{exp\ 799}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 8) - #{src\ 797}# - #{name\ 798}# - #{exp\ 799}#))) - (#{make-toplevel-define\ 257}# - (lambda (#{src\ 803}# #{name\ 804}# #{exp\ 805}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 9) - #{src\ 803}# - #{name\ 804}# - #{exp\ 805}#))) - (#{make-conditional\ 259}# - (lambda (#{src\ 809}# - #{test\ 810}# - #{consequent\ 811}# - #{alternate\ 812}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 10) - #{src\ 809}# - #{test\ 810}# - #{consequent\ 811}# - #{alternate\ 812}#))) - (#{make-application\ 261}# - (lambda (#{src\ 817}# #{proc\ 818}# #{args\ 819}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 11) - #{src\ 817}# - #{proc\ 818}# - #{args\ 819}#))) - (#{make-sequence\ 263}# - (lambda (#{src\ 823}# #{exps\ 824}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #{src\ 823}# - #{exps\ 824}#))) - (#{make-lambda\ 265}# - (lambda (#{src\ 827}# #{meta\ 828}# #{body\ 829}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 13) - #{src\ 827}# - #{meta\ 828}# - #{body\ 829}#))) - (#{make-lambda-case\ 267}# - (lambda (#{src\ 833}# - #{req\ 834}# - #{opt\ 835}# - #{rest\ 836}# - #{kw\ 837}# - #{inits\ 838}# - #{gensyms\ 839}# - #{body\ 840}# - #{alternate\ 841}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{src\ 833}# - #{req\ 834}# - #{opt\ 835}# - #{rest\ 836}# - #{kw\ 837}# - #{inits\ 838}# - #{gensyms\ 839}# - #{body\ 840}# - #{alternate\ 841}#))) - (#{make-let\ 269}# - (lambda (#{src\ 851}# - #{names\ 852}# - #{gensyms\ 853}# - #{vals\ 854}# - #{body\ 855}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #{src\ 851}# - #{names\ 852}# - #{gensyms\ 853}# - #{vals\ 854}# - #{body\ 855}#))) - (#{make-letrec\ 271}# - (lambda (#{src\ 861}# - #{in-order?\ 862}# - #{names\ 863}# - #{gensyms\ 864}# - #{vals\ 865}# - #{body\ 866}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 16) - #{src\ 861}# - #{in-order?\ 862}# - #{names\ 863}# - #{gensyms\ 864}# - #{vals\ 865}# - #{body\ 866}#))) - (#{make-dynlet\ 273}# - (lambda (#{src\ 873}# - #{fluids\ 874}# - #{vals\ 875}# - #{body\ 876}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 17) - #{src\ 873}# - #{fluids\ 874}# - #{vals\ 875}# - #{body\ 876}#))) - (#{lambda?\ 276}# - (lambda (#{x\ 881}#) - (if (struct? #{x\ 881}#) - (eq? (struct-vtable #{x\ 881}#) - (vector-ref %expanded-vtables 13)) - #f))) - (#{lambda-meta\ 278}# - (lambda (#{x\ 885}#) (struct-ref #{x\ 885}# 1))) - (#{set-lambda-meta!\ 280}# - (lambda (#{x\ 887}# #{v\ 888}#) - (struct-set! #{x\ 887}# 1 #{v\ 888}#))) - (#{top-level-eval-hook\ 290}# - (lambda (#{x\ 891}# #{mod\ 892}#) - (primitive-eval #{x\ 891}#))) - (#{local-eval-hook\ 292}# - (lambda (#{x\ 895}# #{mod\ 896}#) - (primitive-eval #{x\ 895}#))) - (#{put-global-definition-hook\ 295}# - (lambda (#{symbol\ 899}# #{type\ 900}# #{val\ 901}#) - (module-define! - (current-module) - #{symbol\ 899}# - (make-syntax-transformer - #{symbol\ 899}# - #{type\ 900}# - #{val\ 901}#)))) - (#{get-global-definition-hook\ 297}# - (lambda (#{symbol\ 905}# #{module\ 906}#) + (letrec* + ((#{make-void 240}# + (lambda (#{src 798}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 0) + #{src 798}#))) + (#{make-const 242}# + (lambda (#{src 800}# #{exp 801}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #{src 800}# + #{exp 801}#))) + (#{make-lexical-ref 246}# + (lambda (#{src 808}# #{name 809}# #{gensym 810}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + #{src 808}# + #{name 809}# + #{gensym 810}#))) + (#{make-lexical-set 248}# + (lambda (#{src 814}# + #{name 815}# + #{gensym 816}# + #{exp 817}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 4) + #{src 814}# + #{name 815}# + #{gensym 816}# + #{exp 817}#))) + (#{make-module-ref 250}# + (lambda (#{src 822}# + #{mod 823}# + #{name 824}# + #{public? 825}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 5) + #{src 822}# + #{mod 823}# + #{name 824}# + #{public? 825}#))) + (#{make-module-set 252}# + (lambda (#{src 830}# + #{mod 831}# + #{name 832}# + #{public? 833}# + #{exp 834}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 6) + #{src 830}# + #{mod 831}# + #{name 832}# + #{public? 833}# + #{exp 834}#))) + (#{make-toplevel-ref 254}# + (lambda (#{src 840}# #{name 841}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 7) + #{src 840}# + #{name 841}#))) + (#{make-toplevel-set 256}# + (lambda (#{src 844}# #{name 845}# #{exp 846}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 8) + #{src 844}# + #{name 845}# + #{exp 846}#))) + (#{make-toplevel-define 258}# + (lambda (#{src 850}# #{name 851}# #{exp 852}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 9) + #{src 850}# + #{name 851}# + #{exp 852}#))) + (#{make-conditional 260}# + (lambda (#{src 856}# + #{test 857}# + #{consequent 858}# + #{alternate 859}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 10) + #{src 856}# + #{test 857}# + #{consequent 858}# + #{alternate 859}#))) + (#{make-application 262}# + (lambda (#{src 864}# #{proc 865}# #{args 866}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 11) + #{src 864}# + #{proc 865}# + #{args 866}#))) + (#{make-sequence 264}# + (lambda (#{src 870}# #{exps 871}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #{src 870}# + #{exps 871}#))) + (#{make-lambda 266}# + (lambda (#{src 874}# #{meta 875}# #{body 876}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 13) + #{src 874}# + #{meta 875}# + #{body 876}#))) + (#{make-lambda-case 268}# + (lambda (#{src 880}# + #{req 881}# + #{opt 882}# + #{rest 883}# + #{kw 884}# + #{inits 885}# + #{gensyms 886}# + #{body 887}# + #{alternate 888}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + #{src 880}# + #{req 881}# + #{opt 882}# + #{rest 883}# + #{kw 884}# + #{inits 885}# + #{gensyms 886}# + #{body 887}# + #{alternate 888}#))) + (#{make-let 270}# + (lambda (#{src 898}# + #{names 899}# + #{gensyms 900}# + #{vals 901}# + #{body 902}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + #{src 898}# + #{names 899}# + #{gensyms 900}# + #{vals 901}# + #{body 902}#))) + (#{make-letrec 272}# + (lambda (#{src 908}# + #{in-order? 909}# + #{names 910}# + #{gensyms 911}# + #{vals 912}# + #{body 913}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 16) + #{src 908}# + #{in-order? 909}# + #{names 910}# + #{gensyms 911}# + #{vals 912}# + #{body 913}#))) + (#{make-dynlet 274}# + (lambda (#{src 920}# + #{fluids 921}# + #{vals 922}# + #{body 923}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 17) + #{src 920}# + #{fluids 921}# + #{vals 922}# + #{body 923}#))) + (#{lambda? 277}# + (lambda (#{x 928}#) + (if (struct? #{x 928}#) + (eq? (struct-vtable #{x 928}#) + (vector-ref %expanded-vtables 13)) + #f))) + (#{lambda-meta 279}# + (lambda (#{x 932}#) (struct-ref #{x 932}# 1))) + (#{set-lambda-meta! 281}# + (lambda (#{x 934}# #{v 935}#) + (struct-set! #{x 934}# 1 #{v 935}#))) + (#{top-level-eval-hook 287}# + (lambda (#{x 938}# #{mod 939}#) + (primitive-eval #{x 938}#))) + (#{local-eval-hook 289}# + (lambda (#{x 942}# #{mod 943}#) + (primitive-eval #{x 942}#))) + (#{put-global-definition-hook 292}# + (lambda (#{symbol 946}# #{type 947}# #{val 948}#) + (module-define! + (current-module) + #{symbol 946}# + (make-syntax-transformer + #{symbol 946}# + #{type 947}# + #{val 948}#)))) + (#{get-global-definition-hook 294}# + (lambda (#{symbol 952}# #{module 953}#) + (begin + (if (if (not #{module 953}#) (current-module) #f) + (warn "module system is booted, we should have a module" + #{symbol 952}#)) (begin - (if (if (not #{module\ 906}#) (current-module) #f) - (warn "module system is booted, we should have a module" - #{symbol\ 905}#)) - (begin - (let ((#{v\ 912}# (module-variable - (if #{module\ 906}# - (resolve-module (cdr #{module\ 906}#)) - (current-module)) - #{symbol\ 905}#))) - (if #{v\ 912}# - (if (variable-bound? #{v\ 912}#) - (begin - (let ((#{val\ 917}# (variable-ref #{v\ 912}#))) - (if (macro? #{val\ 917}#) - (if (macro-type #{val\ 917}#) - (cons (macro-type #{val\ 917}#) - (macro-binding #{val\ 917}#)) - #f) - #f))) - #f) - #f)))))) - (#{decorate-source\ 299}# - (lambda (#{e\ 921}# #{s\ 922}#) + (let ((#{v 959}# (module-variable + (if #{module 953}# + (resolve-module (cdr #{module 953}#)) + (current-module)) + #{symbol 952}#))) + (if #{v 959}# + (if (variable-bound? #{v 959}#) + (begin + (let ((#{val 964}# (variable-ref #{v 959}#))) + (if (macro? #{val 964}#) + (if (macro-type #{val 964}#) + (cons (macro-type #{val 964}#) + (macro-binding #{val 964}#)) + #f) + #f))) + #f) + #f)))))) + (#{decorate-source 296}# + (lambda (#{e 968}# #{s 969}#) + (begin + (if (if (pair? #{e 968}#) #{s 969}# #f) + (set-source-properties! #{e 968}# #{s 969}#)) + #{e 968}#))) + (#{maybe-name-value! 298}# + (lambda (#{name 974}# #{val 975}#) + (if (#{lambda? 277}# #{val 975}#) (begin - (if (if (pair? #{e\ 921}#) #{s\ 922}# #f) - (set-source-properties! #{e\ 921}# #{s\ 922}#)) - #{e\ 921}#))) - (#{maybe-name-value!\ 301}# - (lambda (#{name\ 927}# #{val\ 928}#) - (if (#{lambda?\ 276}# #{val\ 928}#) - (begin - (let ((#{meta\ 932}# - (#{lambda-meta\ 278}# #{val\ 928}#))) - (if (not (assq 'name #{meta\ 932}#)) - (#{set-lambda-meta!\ 280}# - #{val\ 928}# - (cons (cons 'name #{name\ 927}#) #{meta\ 932}#)))))))) - (#{build-void\ 303}# - (lambda (#{source\ 933}#) - (#{make-void\ 239}# #{source\ 933}#))) - (#{build-application\ 305}# - (lambda (#{source\ 935}# - #{fun-exp\ 936}# - #{arg-exps\ 937}#) - (#{make-application\ 261}# - #{source\ 935}# - #{fun-exp\ 936}# - #{arg-exps\ 937}#))) - (#{build-conditional\ 307}# - (lambda (#{source\ 941}# - #{test-exp\ 942}# - #{then-exp\ 943}# - #{else-exp\ 944}#) - (#{make-conditional\ 259}# - #{source\ 941}# - #{test-exp\ 942}# - #{then-exp\ 943}# - #{else-exp\ 944}#))) - (#{build-dynlet\ 309}# - (lambda (#{source\ 949}# - #{fluids\ 950}# - #{vals\ 951}# - #{body\ 952}#) - (#{make-dynlet\ 273}# - #{source\ 949}# - #{fluids\ 950}# - #{vals\ 951}# - #{body\ 952}#))) - (#{build-lexical-reference\ 311}# - (lambda (#{type\ 957}# - #{source\ 958}# - #{name\ 959}# - #{var\ 960}#) - (#{make-lexical-ref\ 245}# - #{source\ 958}# - #{name\ 959}# - #{var\ 960}#))) - (#{build-lexical-assignment\ 313}# - (lambda (#{source\ 965}# - #{name\ 966}# - #{var\ 967}# - #{exp\ 968}#) + (let ((#{meta 979}# (#{lambda-meta 279}# #{val 975}#))) + (if (not (assq 'name #{meta 979}#)) + (#{set-lambda-meta! 281}# + #{val 975}# + (cons (cons 'name #{name 974}#) #{meta 979}#)))))))) + (#{build-void 300}# + (lambda (#{source 980}#) + (#{make-void 240}# #{source 980}#))) + (#{build-application 302}# + (lambda (#{source 982}# #{fun-exp 983}# #{arg-exps 984}#) + (#{make-application 262}# + #{source 982}# + #{fun-exp 983}# + #{arg-exps 984}#))) + (#{build-conditional 304}# + (lambda (#{source 988}# + #{test-exp 989}# + #{then-exp 990}# + #{else-exp 991}#) + (#{make-conditional 260}# + #{source 988}# + #{test-exp 989}# + #{then-exp 990}# + #{else-exp 991}#))) + (#{build-dynlet 306}# + (lambda (#{source 996}# + #{fluids 997}# + #{vals 998}# + #{body 999}#) + (#{make-dynlet 274}# + #{source 996}# + #{fluids 997}# + #{vals 998}# + #{body 999}#))) + (#{build-lexical-reference 308}# + (lambda (#{type 1004}# + #{source 1005}# + #{name 1006}# + #{var 1007}#) + (#{make-lexical-ref 246}# + #{source 1005}# + #{name 1006}# + #{var 1007}#))) + (#{build-lexical-assignment 310}# + (lambda (#{source 1012}# + #{name 1013}# + #{var 1014}# + #{exp 1015}#) + (begin + (#{maybe-name-value! 298}# + #{name 1013}# + #{exp 1015}#) + (#{make-lexical-set 248}# + #{source 1012}# + #{name 1013}# + #{var 1014}# + #{exp 1015}#)))) + (#{analyze-variable 312}# + (lambda (#{mod 1020}# + #{var 1021}# + #{modref-cont 1022}# + #{bare-cont 1023}#) + (if (not #{mod 1020}#) + (#{bare-cont 1023}# #{var 1021}#) (begin - (#{maybe-name-value!\ 301}# - #{name\ 966}# - #{exp\ 968}#) - (#{make-lexical-set\ 247}# - #{source\ 965}# - #{name\ 966}# - #{var\ 967}# - #{exp\ 968}#)))) - (#{analyze-variable\ 315}# - (lambda (#{mod\ 973}# - #{var\ 974}# - #{modref-cont\ 975}# - #{bare-cont\ 976}#) - (if (not #{mod\ 973}#) - (#{bare-cont\ 976}# #{var\ 974}#) - (begin - (let ((#{kind\ 983}# (car #{mod\ 973}#)) - (#{mod\ 984}# (cdr #{mod\ 973}#))) - (if (eqv? #{kind\ 983}# 'public) - (#{modref-cont\ 975}# - #{mod\ 984}# - #{var\ 974}# - #t) - (if (eqv? #{kind\ 983}# 'private) - (if (not (equal? - #{mod\ 984}# - (module-name (current-module)))) - (#{modref-cont\ 975}# - #{mod\ 984}# - #{var\ 974}# - #f) - (#{bare-cont\ 976}# #{var\ 974}#)) - (if (eqv? #{kind\ 983}# 'bare) - (#{bare-cont\ 976}# #{var\ 974}#) - (if (eqv? #{kind\ 983}# 'hygiene) - (if (if (not (equal? - #{mod\ 984}# - (module-name (current-module)))) - (module-variable - (resolve-module #{mod\ 984}#) - #{var\ 974}#) - #f) - (#{modref-cont\ 975}# - #{mod\ 984}# - #{var\ 974}# + (let ((#{kind 1030}# (car #{mod 1020}#)) + (#{mod 1031}# (cdr #{mod 1020}#))) + (if (eqv? #{kind 1030}# 'public) + (#{modref-cont 1022}# + #{mod 1031}# + #{var 1021}# + #t) + (if (eqv? #{kind 1030}# 'private) + (if (not (equal? + #{mod 1031}# + (module-name (current-module)))) + (#{modref-cont 1022}# + #{mod 1031}# + #{var 1021}# + #f) + (#{bare-cont 1023}# #{var 1021}#)) + (if (eqv? #{kind 1030}# 'bare) + (#{bare-cont 1023}# #{var 1021}#) + (if (eqv? #{kind 1030}# 'hygiene) + (if (if (not (equal? + #{mod 1031}# + (module-name (current-module)))) + (module-variable + (resolve-module #{mod 1031}#) + #{var 1021}#) #f) - (#{bare-cont\ 976}# #{var\ 974}#)) - (syntax-violation - #f - "bad module kind" - #{var\ 974}# - #{mod\ 984}#)))))))))) - (#{build-global-reference\ 317}# - (lambda (#{source\ 992}# #{var\ 993}# #{mod\ 994}#) - (#{analyze-variable\ 315}# - #{mod\ 994}# - #{var\ 993}# - (lambda (#{mod\ 998}# #{var\ 999}# #{public?\ 1000}#) - (#{make-module-ref\ 249}# - #{source\ 992}# - #{mod\ 998}# - #{var\ 999}# - #{public?\ 1000}#)) - (lambda (#{var\ 1004}#) - (#{make-toplevel-ref\ 253}# - #{source\ 992}# - #{var\ 1004}#))))) - (#{build-global-assignment\ 319}# - (lambda (#{source\ 1006}# - #{var\ 1007}# - #{exp\ 1008}# - #{mod\ 1009}#) - (begin - (#{maybe-name-value!\ 301}# - #{var\ 1007}# - #{exp\ 1008}#) - (#{analyze-variable\ 315}# - #{mod\ 1009}# - #{var\ 1007}# - (lambda (#{mod\ 1014}# #{var\ 1015}# #{public?\ 1016}#) - (#{make-module-set\ 251}# - #{source\ 1006}# - #{mod\ 1014}# - #{var\ 1015}# - #{public?\ 1016}# - #{exp\ 1008}#)) - (lambda (#{var\ 1020}#) - (#{make-toplevel-set\ 255}# - #{source\ 1006}# - #{var\ 1020}# - #{exp\ 1008}#)))))) - (#{build-global-definition\ 321}# - (lambda (#{source\ 1022}# #{var\ 1023}# #{exp\ 1024}#) - (begin - (#{maybe-name-value!\ 301}# - #{var\ 1023}# - #{exp\ 1024}#) - (#{make-toplevel-define\ 257}# - #{source\ 1022}# - #{var\ 1023}# - #{exp\ 1024}#)))) - (#{build-simple-lambda\ 323}# - (lambda (#{src\ 1028}# - #{req\ 1029}# - #{rest\ 1030}# - #{vars\ 1031}# - #{meta\ 1032}# - #{exp\ 1033}#) - (#{make-lambda\ 265}# - #{src\ 1028}# - #{meta\ 1032}# - (#{make-lambda-case\ 267}# - #{src\ 1028}# - #{req\ 1029}# - #f - #{rest\ 1030}# - #f - '() - #{vars\ 1031}# - #{exp\ 1033}# - #f)))) - (#{build-case-lambda\ 325}# - (lambda (#{src\ 1040}# #{meta\ 1041}# #{body\ 1042}#) - (#{make-lambda\ 265}# - #{src\ 1040}# - #{meta\ 1041}# - #{body\ 1042}#))) - (#{build-lambda-case\ 327}# - (lambda (#{src\ 1046}# - #{req\ 1047}# - #{opt\ 1048}# - #{rest\ 1049}# - #{kw\ 1050}# - #{inits\ 1051}# - #{vars\ 1052}# - #{body\ 1053}# - #{else-case\ 1054}#) - (#{make-lambda-case\ 267}# - #{src\ 1046}# - #{req\ 1047}# - #{opt\ 1048}# - #{rest\ 1049}# - #{kw\ 1050}# - #{inits\ 1051}# - #{vars\ 1052}# - #{body\ 1053}# - #{else-case\ 1054}#))) - (#{build-primref\ 329}# - (lambda (#{src\ 1064}# #{name\ 1065}#) - (if (equal? (module-name (current-module)) '(guile)) - (#{make-toplevel-ref\ 253}# - #{src\ 1064}# - #{name\ 1065}#) - (#{make-module-ref\ 249}# - #{src\ 1064}# - '(guile) - #{name\ 1065}# - #f)))) - (#{build-data\ 331}# - (lambda (#{src\ 1068}# #{exp\ 1069}#) - (#{make-const\ 241}# #{src\ 1068}# #{exp\ 1069}#))) - (#{build-sequence\ 333}# - (lambda (#{src\ 1072}# #{exps\ 1073}#) - (if (null? (cdr #{exps\ 1073}#)) - (car #{exps\ 1073}#) - (#{make-sequence\ 263}# - #{src\ 1072}# - #{exps\ 1073}#)))) - (#{build-let\ 335}# - (lambda (#{src\ 1076}# - #{ids\ 1077}# - #{vars\ 1078}# - #{val-exps\ 1079}# - #{body-exp\ 1080}#) + (#{modref-cont 1022}# + #{mod 1031}# + #{var 1021}# + #f) + (#{bare-cont 1023}# #{var 1021}#)) + (syntax-violation + #f + "bad module kind" + #{var 1021}# + #{mod 1031}#)))))))))) + (#{build-global-reference 314}# + (lambda (#{source 1039}# #{var 1040}# #{mod 1041}#) + (#{analyze-variable 312}# + #{mod 1041}# + #{var 1040}# + (lambda (#{mod 1045}# #{var 1046}# #{public? 1047}#) + (#{make-module-ref 250}# + #{source 1039}# + #{mod 1045}# + #{var 1046}# + #{public? 1047}#)) + (lambda (#{var 1051}#) + (#{make-toplevel-ref 254}# + #{source 1039}# + #{var 1051}#))))) + (#{build-global-assignment 316}# + (lambda (#{source 1053}# + #{var 1054}# + #{exp 1055}# + #{mod 1056}#) + (begin + (#{maybe-name-value! 298}# + #{var 1054}# + #{exp 1055}#) + (#{analyze-variable 312}# + #{mod 1056}# + #{var 1054}# + (lambda (#{mod 1061}# #{var 1062}# #{public? 1063}#) + (#{make-module-set 252}# + #{source 1053}# + #{mod 1061}# + #{var 1062}# + #{public? 1063}# + #{exp 1055}#)) + (lambda (#{var 1067}#) + (#{make-toplevel-set 256}# + #{source 1053}# + #{var 1067}# + #{exp 1055}#)))))) + (#{build-global-definition 318}# + (lambda (#{source 1069}# #{var 1070}# #{exp 1071}#) + (begin + (#{maybe-name-value! 298}# + #{var 1070}# + #{exp 1071}#) + (#{make-toplevel-define 258}# + #{source 1069}# + #{var 1070}# + #{exp 1071}#)))) + (#{build-simple-lambda 320}# + (lambda (#{src 1075}# + #{req 1076}# + #{rest 1077}# + #{vars 1078}# + #{meta 1079}# + #{exp 1080}#) + (#{make-lambda 266}# + #{src 1075}# + #{meta 1079}# + (#{make-lambda-case 268}# + #{src 1075}# + #{req 1076}# + #f + #{rest 1077}# + #f + '() + #{vars 1078}# + #{exp 1080}# + #f)))) + (#{build-case-lambda 322}# + (lambda (#{src 1087}# #{meta 1088}# #{body 1089}#) + (#{make-lambda 266}# + #{src 1087}# + #{meta 1088}# + #{body 1089}#))) + (#{build-lambda-case 324}# + (lambda (#{src 1093}# + #{req 1094}# + #{opt 1095}# + #{rest 1096}# + #{kw 1097}# + #{inits 1098}# + #{vars 1099}# + #{body 1100}# + #{else-case 1101}#) + (#{make-lambda-case 268}# + #{src 1093}# + #{req 1094}# + #{opt 1095}# + #{rest 1096}# + #{kw 1097}# + #{inits 1098}# + #{vars 1099}# + #{body 1100}# + #{else-case 1101}#))) + (#{build-primref 326}# + (lambda (#{src 1111}# #{name 1112}#) + (if (equal? (module-name (current-module)) '(guile)) + (#{make-toplevel-ref 254}# + #{src 1111}# + #{name 1112}#) + (#{make-module-ref 250}# + #{src 1111}# + '(guile) + #{name 1112}# + #f)))) + (#{build-data 328}# + (lambda (#{src 1115}# #{exp 1116}#) + (#{make-const 242}# #{src 1115}# #{exp 1116}#))) + (#{build-sequence 330}# + (lambda (#{src 1119}# #{exps 1120}#) + (if (null? (cdr #{exps 1120}#)) + (car #{exps 1120}#) + (#{make-sequence 264}# + #{src 1119}# + #{exps 1120}#)))) + (#{build-let 332}# + (lambda (#{src 1123}# + #{ids 1124}# + #{vars 1125}# + #{val-exps 1126}# + #{body-exp 1127}#) + (begin + (for-each + #{maybe-name-value! 298}# + #{ids 1124}# + #{val-exps 1126}#) + (if (null? #{vars 1125}#) + #{body-exp 1127}# + (#{make-let 270}# + #{src 1123}# + #{ids 1124}# + #{vars 1125}# + #{val-exps 1126}# + #{body-exp 1127}#))))) + (#{build-named-let 334}# + (lambda (#{src 1133}# + #{ids 1134}# + #{vars 1135}# + #{val-exps 1136}# + #{body-exp 1137}#) + (begin + (let ((#{f 1147}# (car #{vars 1135}#)) + (#{f-name 1148}# (car #{ids 1134}#)) + (#{vars 1149}# (cdr #{vars 1135}#)) + (#{ids 1150}# (cdr #{ids 1134}#))) + (begin + (let ((#{proc 1152}# + (#{build-simple-lambda 320}# + #{src 1133}# + #{ids 1150}# + #f + #{vars 1149}# + '() + #{body-exp 1137}#))) + (begin + (#{maybe-name-value! 298}# + #{f-name 1148}# + #{proc 1152}#) + (for-each + #{maybe-name-value! 298}# + #{ids 1150}# + #{val-exps 1136}#) + (#{make-letrec 272}# + #{src 1133}# + #f + (list #{f-name 1148}#) + (list #{f 1147}#) + (list #{proc 1152}#) + (#{build-application 302}# + #{src 1133}# + (#{build-lexical-reference 308}# + 'fun + #{src 1133}# + #{f-name 1148}# + #{f 1147}#) + #{val-exps 1136}#))))))))) + (#{build-letrec 336}# + (lambda (#{src 1153}# + #{in-order? 1154}# + #{ids 1155}# + #{vars 1156}# + #{val-exps 1157}# + #{body-exp 1158}#) + (if (null? #{vars 1156}#) + #{body-exp 1158}# (begin (for-each - #{maybe-name-value!\ 301}# - #{ids\ 1077}# - #{val-exps\ 1079}#) - (if (null? #{vars\ 1078}#) - #{body-exp\ 1080}# - (#{make-let\ 269}# - #{src\ 1076}# - #{ids\ 1077}# - #{vars\ 1078}# - #{val-exps\ 1079}# - #{body-exp\ 1080}#))))) - (#{build-named-let\ 337}# - (lambda (#{src\ 1086}# - #{ids\ 1087}# - #{vars\ 1088}# - #{val-exps\ 1089}# - #{body-exp\ 1090}#) - (begin - (let ((#{f\ 1100}# (car #{vars\ 1088}#)) - (#{f-name\ 1101}# (car #{ids\ 1087}#)) - (#{vars\ 1102}# (cdr #{vars\ 1088}#)) - (#{ids\ 1103}# (cdr #{ids\ 1087}#))) - (begin - (let ((#{proc\ 1105}# - (#{build-simple-lambda\ 323}# - #{src\ 1086}# - #{ids\ 1103}# - #f - #{vars\ 1102}# - '() - #{body-exp\ 1090}#))) - (begin - (#{maybe-name-value!\ 301}# - #{f-name\ 1101}# - #{proc\ 1105}#) - (for-each - #{maybe-name-value!\ 301}# - #{ids\ 1103}# - #{val-exps\ 1089}#) - (#{make-letrec\ 271}# - #{src\ 1086}# - #f - (list #{f-name\ 1101}#) - (list #{f\ 1100}#) - (list #{proc\ 1105}#) - (#{build-application\ 305}# - #{src\ 1086}# - (#{build-lexical-reference\ 311}# - 'fun - #{src\ 1086}# - #{f-name\ 1101}# - #{f\ 1100}#) - #{val-exps\ 1089}#))))))))) - (#{build-letrec\ 339}# - (lambda (#{src\ 1106}# - #{in-order?\ 1107}# - #{ids\ 1108}# - #{vars\ 1109}# - #{val-exps\ 1110}# - #{body-exp\ 1111}#) - (if (null? #{vars\ 1109}#) - #{body-exp\ 1111}# + #{maybe-name-value! 298}# + #{ids 1155}# + #{val-exps 1157}#) + (#{make-letrec 272}# + #{src 1153}# + #{in-order? 1154}# + #{ids 1155}# + #{vars 1156}# + #{val-exps 1157}# + #{body-exp 1158}#))))) + (#{make-syntax-object 340}# + (lambda (#{expression 1165}# + #{wrap 1166}# + #{module 1167}#) + (vector + 'syntax-object + #{expression 1165}# + #{wrap 1166}# + #{module 1167}#))) + (#{syntax-object? 342}# + (lambda (#{x 1171}#) + (if (vector? #{x 1171}#) + (if (= (vector-length #{x 1171}#) 4) + (eq? (vector-ref #{x 1171}# 0) 'syntax-object) + #f) + #f))) + (#{syntax-object-expression 344}# + (lambda (#{x 1176}#) (vector-ref #{x 1176}# 1))) + (#{syntax-object-wrap 346}# + (lambda (#{x 1178}#) (vector-ref #{x 1178}# 2))) + (#{syntax-object-module 348}# + (lambda (#{x 1180}#) (vector-ref #{x 1180}# 3))) + (#{source-annotation 357}# + (lambda (#{x 1194}#) + (if (#{syntax-object? 342}# #{x 1194}#) + (#{source-annotation 357}# + (#{syntax-object-expression 344}# #{x 1194}#)) + (if (pair? #{x 1194}#) (begin - (for-each - #{maybe-name-value!\ 301}# - #{ids\ 1108}# - #{val-exps\ 1110}#) - (#{make-letrec\ 271}# - #{src\ 1106}# - #{in-order?\ 1107}# - #{ids\ 1108}# - #{vars\ 1109}# - #{val-exps\ 1110}# - #{body-exp\ 1111}#))))) - (#{make-syntax-object\ 343}# - (lambda (#{expression\ 1118}# - #{wrap\ 1119}# - #{module\ 1120}#) - (vector - 'syntax-object - #{expression\ 1118}# - #{wrap\ 1119}# - #{module\ 1120}#))) - (#{syntax-object?\ 345}# - (lambda (#{x\ 1124}#) - (if (vector? #{x\ 1124}#) - (if (= (vector-length #{x\ 1124}#) 4) - (eq? (vector-ref #{x\ 1124}# 0) 'syntax-object) - #f) - #f))) - (#{syntax-object-expression\ 347}# - (lambda (#{x\ 1129}#) (vector-ref #{x\ 1129}# 1))) - (#{syntax-object-wrap\ 349}# - (lambda (#{x\ 1131}#) (vector-ref #{x\ 1131}# 2))) - (#{syntax-object-module\ 351}# - (lambda (#{x\ 1133}#) (vector-ref #{x\ 1133}# 3))) - (#{source-annotation\ 360}# - (lambda (#{x\ 1147}#) - (if (#{syntax-object?\ 345}# #{x\ 1147}#) - (#{source-annotation\ 360}# - (#{syntax-object-expression\ 347}# #{x\ 1147}#)) - (if (pair? #{x\ 1147}#) - (begin - (let ((#{props\ 1154}# (source-properties #{x\ 1147}#))) - (if (pair? #{props\ 1154}#) #{props\ 1154}# #f))) - #f)))) - (#{extend-env\ 367}# - (lambda (#{labels\ 1156}# #{bindings\ 1157}# #{r\ 1158}#) - (if (null? #{labels\ 1156}#) - #{r\ 1158}# - (#{extend-env\ 367}# - (cdr #{labels\ 1156}#) - (cdr #{bindings\ 1157}#) - (cons (cons (car #{labels\ 1156}#) - (car #{bindings\ 1157}#)) - #{r\ 1158}#))))) - (#{extend-var-env\ 369}# - (lambda (#{labels\ 1162}# #{vars\ 1163}# #{r\ 1164}#) - (if (null? #{labels\ 1162}#) - #{r\ 1164}# - (#{extend-var-env\ 369}# - (cdr #{labels\ 1162}#) - (cdr #{vars\ 1163}#) - (cons (cons (car #{labels\ 1162}#) - (cons 'lexical (car #{vars\ 1163}#))) - #{r\ 1164}#))))) - (#{macros-only-env\ 371}# - (lambda (#{r\ 1169}#) - (if (null? #{r\ 1169}#) - '() - (begin - (let ((#{a\ 1172}# (car #{r\ 1169}#))) - (if (eq? (car (cdr #{a\ 1172}#)) 'macro) - (cons #{a\ 1172}# - (#{macros-only-env\ 371}# (cdr #{r\ 1169}#))) - (#{macros-only-env\ 371}# (cdr #{r\ 1169}#)))))))) - (#{lookup\ 373}# - (lambda (#{x\ 1173}# #{r\ 1174}# #{mod\ 1175}#) + (let ((#{props 1201}# (source-properties #{x 1194}#))) + (if (pair? #{props 1201}#) #{props 1201}# #f))) + #f)))) + (#{extend-env 364}# + (lambda (#{labels 1203}# #{bindings 1204}# #{r 1205}#) + (if (null? #{labels 1203}#) + #{r 1205}# + (#{extend-env 364}# + (cdr #{labels 1203}#) + (cdr #{bindings 1204}#) + (cons (cons (car #{labels 1203}#) + (car #{bindings 1204}#)) + #{r 1205}#))))) + (#{extend-var-env 366}# + (lambda (#{labels 1209}# #{vars 1210}# #{r 1211}#) + (if (null? #{labels 1209}#) + #{r 1211}# + (#{extend-var-env 366}# + (cdr #{labels 1209}#) + (cdr #{vars 1210}#) + (cons (cons (car #{labels 1209}#) + (cons 'lexical (car #{vars 1210}#))) + #{r 1211}#))))) + (#{macros-only-env 368}# + (lambda (#{r 1216}#) + (if (null? #{r 1216}#) + '() (begin - (let ((#{t\ 1181}# (assq #{x\ 1173}# #{r\ 1174}#))) - (if #{t\ 1181}# - (cdr #{t\ 1181}#) - (if (symbol? #{x\ 1173}#) - (begin - (let ((#{t\ 1187}# - (#{get-global-definition-hook\ 297}# - #{x\ 1173}# - #{mod\ 1175}#))) - (if #{t\ 1187}# #{t\ 1187}# '(global)))) - '(displaced-lexical))))))) - (#{global-extend\ 375}# - (lambda (#{type\ 1192}# #{sym\ 1193}# #{val\ 1194}#) - (#{put-global-definition-hook\ 295}# - #{sym\ 1193}# - #{type\ 1192}# - #{val\ 1194}#))) - (#{nonsymbol-id?\ 377}# - (lambda (#{x\ 1198}#) - (if (#{syntax-object?\ 345}# #{x\ 1198}#) + (let ((#{a 1219}# (car #{r 1216}#))) + (if (eq? (car (cdr #{a 1219}#)) 'macro) + (cons #{a 1219}# + (#{macros-only-env 368}# (cdr #{r 1216}#))) + (#{macros-only-env 368}# (cdr #{r 1216}#)))))))) + (#{lookup 370}# + (lambda (#{x 1220}# #{r 1221}# #{mod 1222}#) + (begin + (let ((#{t 1228}# (assq #{x 1220}# #{r 1221}#))) + (if #{t 1228}# + (cdr #{t 1228}#) + (if (symbol? #{x 1220}#) + (begin + (let ((#{t 1234}# + (#{get-global-definition-hook 294}# + #{x 1220}# + #{mod 1222}#))) + (if #{t 1234}# #{t 1234}# '(global)))) + '(displaced-lexical))))))) + (#{global-extend 372}# + (lambda (#{type 1239}# #{sym 1240}# #{val 1241}#) + (#{put-global-definition-hook 292}# + #{sym 1240}# + #{type 1239}# + #{val 1241}#))) + (#{nonsymbol-id? 374}# + (lambda (#{x 1245}#) + (if (#{syntax-object? 342}# #{x 1245}#) + (symbol? + (#{syntax-object-expression 344}# #{x 1245}#)) + #f))) + (#{id? 376}# + (lambda (#{x 1249}#) + (if (symbol? #{x 1249}#) + #t + (if (#{syntax-object? 342}# #{x 1249}#) (symbol? - (#{syntax-object-expression\ 347}# #{x\ 1198}#)) - #f))) - (#{id?\ 379}# - (lambda (#{x\ 1202}#) - (if (symbol? #{x\ 1202}#) - #t - (if (#{syntax-object?\ 345}# #{x\ 1202}#) - (symbol? - (#{syntax-object-expression\ 347}# #{x\ 1202}#)) - #f)))) - (#{id-sym-name&marks\ 382}# - (lambda (#{x\ 1209}# #{w\ 1210}#) - (if (#{syntax-object?\ 345}# #{x\ 1209}#) - (values - (#{syntax-object-expression\ 347}# #{x\ 1209}#) - (#{join-marks\ 429}# - (car #{w\ 1210}#) - (car (#{syntax-object-wrap\ 349}# #{x\ 1209}#)))) - (values #{x\ 1209}# (car #{w\ 1210}#))))) - (#{gen-label\ 392}# - (lambda () (symbol->string (gensym "i")))) - (#{gen-labels\ 394}# - (lambda (#{ls\ 1216}#) - (if (null? #{ls\ 1216}#) - '() - (cons (#{gen-label\ 392}#) - (#{gen-labels\ 394}# (cdr #{ls\ 1216}#)))))) - (#{make-ribcage\ 397}# - (lambda (#{symnames\ 1218}# - #{marks\ 1219}# - #{labels\ 1220}#) - (vector - 'ribcage - #{symnames\ 1218}# - #{marks\ 1219}# - #{labels\ 1220}#))) - (#{ribcage-symnames\ 401}# - (lambda (#{x\ 1229}#) (vector-ref #{x\ 1229}# 1))) - (#{ribcage-marks\ 403}# - (lambda (#{x\ 1231}#) (vector-ref #{x\ 1231}# 2))) - (#{ribcage-labels\ 405}# - (lambda (#{x\ 1233}#) (vector-ref #{x\ 1233}# 3))) - (#{set-ribcage-symnames!\ 407}# - (lambda (#{x\ 1235}# #{update\ 1236}#) - (vector-set! #{x\ 1235}# 1 #{update\ 1236}#))) - (#{set-ribcage-marks!\ 409}# - (lambda (#{x\ 1239}# #{update\ 1240}#) - (vector-set! #{x\ 1239}# 2 #{update\ 1240}#))) - (#{set-ribcage-labels!\ 411}# - (lambda (#{x\ 1243}# #{update\ 1244}#) - (vector-set! #{x\ 1243}# 3 #{update\ 1244}#))) - (#{anti-mark\ 417}# - (lambda (#{w\ 1247}#) - (cons (cons #f (car #{w\ 1247}#)) - (cons 'shift (cdr #{w\ 1247}#))))) - (#{extend-ribcage!\ 421}# - (lambda (#{ribcage\ 1253}# #{id\ 1254}# #{label\ 1255}#) - (begin - (#{set-ribcage-symnames!\ 407}# - #{ribcage\ 1253}# - (cons (#{syntax-object-expression\ 347}# #{id\ 1254}#) - (#{ribcage-symnames\ 401}# #{ribcage\ 1253}#))) - (#{set-ribcage-marks!\ 409}# - #{ribcage\ 1253}# - (cons (car (#{syntax-object-wrap\ 349}# #{id\ 1254}#)) - (#{ribcage-marks\ 403}# #{ribcage\ 1253}#))) - (#{set-ribcage-labels!\ 411}# - #{ribcage\ 1253}# - (cons #{label\ 1255}# - (#{ribcage-labels\ 405}# #{ribcage\ 1253}#)))))) - (#{make-binding-wrap\ 423}# - (lambda (#{ids\ 1260}# #{labels\ 1261}# #{w\ 1262}#) - (if (null? #{ids\ 1260}#) - #{w\ 1262}# - (cons (car #{w\ 1262}#) - (cons (begin - (let ((#{labelvec\ 1269}# - (list->vector #{labels\ 1261}#))) - (begin - (let ((#{n\ 1271}# - (vector-length #{labelvec\ 1269}#))) - (begin - (let ((#{symnamevec\ 1274}# - (make-vector #{n\ 1271}#)) - (#{marksvec\ 1275}# - (make-vector #{n\ 1271}#))) - (begin - (letrec* - ((#{f\ 1279}# - (lambda (#{ids\ 1280}# - #{i\ 1281}#) - (if (not (null? #{ids\ 1280}#)) - (call-with-values - (lambda () - (#{id-sym-name&marks\ 382}# - (car #{ids\ 1280}#) - #{w\ 1262}#)) - (lambda (#{symname\ 1282}# - #{marks\ 1283}#) - (begin - (vector-set! - #{symnamevec\ 1274}# - #{i\ 1281}# - #{symname\ 1282}#) - (vector-set! - #{marksvec\ 1275}# - #{i\ 1281}# - #{marks\ 1283}#) - (#{f\ 1279}# - (cdr #{ids\ 1280}#) - (#{fx+\ 282}# - #{i\ 1281}# - 1))))))))) - (begin - (#{f\ 1279}# #{ids\ 1260}# 0))) - (#{make-ribcage\ 397}# - #{symnamevec\ 1274}# - #{marksvec\ 1275}# - #{labelvec\ 1269}#)))))))) - (cdr #{w\ 1262}#)))))) - (#{smart-append\ 425}# - (lambda (#{m1\ 1287}# #{m2\ 1288}#) - (if (null? #{m2\ 1288}#) - #{m1\ 1287}# - (append #{m1\ 1287}# #{m2\ 1288}#)))) - (#{join-wraps\ 427}# - (lambda (#{w1\ 1291}# #{w2\ 1292}#) - (begin - (let ((#{m1\ 1297}# (car #{w1\ 1291}#)) - (#{s1\ 1298}# (cdr #{w1\ 1291}#))) - (if (null? #{m1\ 1297}#) - (if (null? #{s1\ 1298}#) - #{w2\ 1292}# - (cons (car #{w2\ 1292}#) - (#{smart-append\ 425}# - #{s1\ 1298}# - (cdr #{w2\ 1292}#)))) - (cons (#{smart-append\ 425}# - #{m1\ 1297}# - (car #{w2\ 1292}#)) - (#{smart-append\ 425}# - #{s1\ 1298}# - (cdr #{w2\ 1292}#)))))))) - (#{join-marks\ 429}# - (lambda (#{m1\ 1307}# #{m2\ 1308}#) - (#{smart-append\ 425}# #{m1\ 1307}# #{m2\ 1308}#))) - (#{same-marks?\ 431}# - (lambda (#{x\ 1311}# #{y\ 1312}#) - (begin - (let ((#{t\ 1317}# (eq? #{x\ 1311}# #{y\ 1312}#))) - (if #{t\ 1317}# - #{t\ 1317}# - (if (not (null? #{x\ 1311}#)) - (if (not (null? #{y\ 1312}#)) - (if (eq? (car #{x\ 1311}#) (car #{y\ 1312}#)) - (#{same-marks?\ 431}# - (cdr #{x\ 1311}#) - (cdr #{y\ 1312}#)) - #f) + (#{syntax-object-expression 344}# #{x 1249}#)) + #f)))) + (#{id-sym-name&marks 379}# + (lambda (#{x 1256}# #{w 1257}#) + (if (#{syntax-object? 342}# #{x 1256}#) + (values + (#{syntax-object-expression 344}# #{x 1256}#) + (#{join-marks 426}# + (car #{w 1257}#) + (car (#{syntax-object-wrap 346}# #{x 1256}#)))) + (values #{x 1256}# (car #{w 1257}#))))) + (#{gen-label 389}# + (lambda () (symbol->string (gensym "i")))) + (#{gen-labels 391}# + (lambda (#{ls 1263}#) + (if (null? #{ls 1263}#) + '() + (cons (#{gen-label 389}#) + (#{gen-labels 391}# (cdr #{ls 1263}#)))))) + (#{make-ribcage 394}# + (lambda (#{symnames 1265}# + #{marks 1266}# + #{labels 1267}#) + (vector + 'ribcage + #{symnames 1265}# + #{marks 1266}# + #{labels 1267}#))) + (#{ribcage-symnames 398}# + (lambda (#{x 1276}#) (vector-ref #{x 1276}# 1))) + (#{ribcage-marks 400}# + (lambda (#{x 1278}#) (vector-ref #{x 1278}# 2))) + (#{ribcage-labels 402}# + (lambda (#{x 1280}#) (vector-ref #{x 1280}# 3))) + (#{set-ribcage-symnames! 404}# + (lambda (#{x 1282}# #{update 1283}#) + (vector-set! #{x 1282}# 1 #{update 1283}#))) + (#{set-ribcage-marks! 406}# + (lambda (#{x 1286}# #{update 1287}#) + (vector-set! #{x 1286}# 2 #{update 1287}#))) + (#{set-ribcage-labels! 408}# + (lambda (#{x 1290}# #{update 1291}#) + (vector-set! #{x 1290}# 3 #{update 1291}#))) + (#{anti-mark 414}# + (lambda (#{w 1294}#) + (cons (cons #f (car #{w 1294}#)) + (cons 'shift (cdr #{w 1294}#))))) + (#{extend-ribcage! 418}# + (lambda (#{ribcage 1300}# #{id 1301}# #{label 1302}#) + (begin + (#{set-ribcage-symnames! 404}# + #{ribcage 1300}# + (cons (#{syntax-object-expression 344}# #{id 1301}#) + (#{ribcage-symnames 398}# #{ribcage 1300}#))) + (#{set-ribcage-marks! 406}# + #{ribcage 1300}# + (cons (car (#{syntax-object-wrap 346}# #{id 1301}#)) + (#{ribcage-marks 400}# #{ribcage 1300}#))) + (#{set-ribcage-labels! 408}# + #{ribcage 1300}# + (cons #{label 1302}# + (#{ribcage-labels 402}# #{ribcage 1300}#)))))) + (#{make-binding-wrap 420}# + (lambda (#{ids 1307}# #{labels 1308}# #{w 1309}#) + (if (null? #{ids 1307}#) + #{w 1309}# + (cons (car #{w 1309}#) + (cons (begin + (let ((#{labelvec 1316}# + (list->vector #{labels 1308}#))) + (begin + (let ((#{n 1318}# + (vector-length #{labelvec 1316}#))) + (begin + (let ((#{symnamevec 1321}# + (make-vector #{n 1318}#)) + (#{marksvec 1322}# + (make-vector #{n 1318}#))) + (begin + (letrec* + ((#{f 1326}# + (lambda (#{ids 1327}# #{i 1328}#) + (if (not (null? #{ids 1327}#)) + (call-with-values + (lambda () + (#{id-sym-name&marks 379}# + (car #{ids 1327}#) + #{w 1309}#)) + (lambda (#{symname 1329}# + #{marks 1330}#) + (begin + (vector-set! + #{symnamevec 1321}# + #{i 1328}# + #{symname 1329}#) + (vector-set! + #{marksvec 1322}# + #{i 1328}# + #{marks 1330}#) + (#{f 1326}# + (cdr #{ids 1327}#) + (#{1+}# #{i 1328}#))))))))) + (begin (#{f 1326}# #{ids 1307}# 0))) + (#{make-ribcage 394}# + #{symnamevec 1321}# + #{marksvec 1322}# + #{labelvec 1316}#)))))))) + (cdr #{w 1309}#)))))) + (#{smart-append 422}# + (lambda (#{m1 1335}# #{m2 1336}#) + (if (null? #{m2 1336}#) + #{m1 1335}# + (append #{m1 1335}# #{m2 1336}#)))) + (#{join-wraps 424}# + (lambda (#{w1 1339}# #{w2 1340}#) + (begin + (let ((#{m1 1345}# (car #{w1 1339}#)) + (#{s1 1346}# (cdr #{w1 1339}#))) + (if (null? #{m1 1345}#) + (if (null? #{s1 1346}#) + #{w2 1340}# + (cons (car #{w2 1340}#) + (#{smart-append 422}# + #{s1 1346}# + (cdr #{w2 1340}#)))) + (cons (#{smart-append 422}# + #{m1 1345}# + (car #{w2 1340}#)) + (#{smart-append 422}# + #{s1 1346}# + (cdr #{w2 1340}#)))))))) + (#{join-marks 426}# + (lambda (#{m1 1355}# #{m2 1356}#) + (#{smart-append 422}# #{m1 1355}# #{m2 1356}#))) + (#{same-marks? 428}# + (lambda (#{x 1359}# #{y 1360}#) + (begin + (let ((#{t 1365}# (eq? #{x 1359}# #{y 1360}#))) + (if #{t 1365}# + #{t 1365}# + (if (not (null? #{x 1359}#)) + (if (not (null? #{y 1360}#)) + (if (eq? (car #{x 1359}#) (car #{y 1360}#)) + (#{same-marks? 428}# + (cdr #{x 1359}#) + (cdr #{y 1360}#)) #f) - #f)))))) - (#{id-var-name\ 433}# - (lambda (#{id\ 1323}# #{w\ 1324}#) - (letrec* - ((#{search\ 1329}# - (lambda (#{sym\ 1345}# #{subst\ 1346}# #{marks\ 1347}#) - (if (null? #{subst\ 1346}#) - (values #f #{marks\ 1347}#) - (begin - (let ((#{fst\ 1352}# (car #{subst\ 1346}#))) - (if (eq? #{fst\ 1352}# 'shift) - (#{search\ 1329}# - #{sym\ 1345}# - (cdr #{subst\ 1346}#) - (cdr #{marks\ 1347}#)) - (begin - (let ((#{symnames\ 1354}# - (#{ribcage-symnames\ 401}# - #{fst\ 1352}#))) - (if (vector? #{symnames\ 1354}#) - (#{search-vector-rib\ 1333}# - #{sym\ 1345}# - #{subst\ 1346}# - #{marks\ 1347}# - #{symnames\ 1354}# - #{fst\ 1352}#) - (#{search-list-rib\ 1331}# - #{sym\ 1345}# - #{subst\ 1346}# - #{marks\ 1347}# - #{symnames\ 1354}# - #{fst\ 1352}#)))))))))) - (#{search-list-rib\ 1331}# - (lambda (#{sym\ 1355}# - #{subst\ 1356}# - #{marks\ 1357}# - #{symnames\ 1358}# - #{ribcage\ 1359}#) - (letrec* - ((#{f\ 1368}# - (lambda (#{symnames\ 1369}# #{i\ 1370}#) - (if (null? #{symnames\ 1369}#) - (#{search\ 1329}# - #{sym\ 1355}# - (cdr #{subst\ 1356}#) - #{marks\ 1357}#) - (if (if (eq? (car #{symnames\ 1369}#) - #{sym\ 1355}#) - (#{same-marks?\ 431}# - #{marks\ 1357}# - (list-ref - (#{ribcage-marks\ 403}# - #{ribcage\ 1359}#) - #{i\ 1370}#)) - #f) - (values - (list-ref - (#{ribcage-labels\ 405}# #{ribcage\ 1359}#) - #{i\ 1370}#) - #{marks\ 1357}#) - (#{f\ 1368}# - (cdr #{symnames\ 1369}#) - (#{fx+\ 282}# #{i\ 1370}# 1))))))) - (begin (#{f\ 1368}# #{symnames\ 1358}# 0))))) - (#{search-vector-rib\ 1333}# - (lambda (#{sym\ 1378}# - #{subst\ 1379}# - #{marks\ 1380}# - #{symnames\ 1381}# - #{ribcage\ 1382}#) + #f) + #f)))))) + (#{id-var-name 430}# + (lambda (#{id 1371}# #{w 1372}#) + (letrec* + ((#{search 1377}# + (lambda (#{sym 1393}# #{subst 1394}# #{marks 1395}#) + (if (null? #{subst 1394}#) + (values #f #{marks 1395}#) (begin - (let ((#{n\ 1389}# (vector-length #{symnames\ 1381}#))) - (letrec* - ((#{f\ 1392}# - (lambda (#{i\ 1393}#) - (if (#{fx=\ 286}# #{i\ 1393}# #{n\ 1389}#) - (#{search\ 1329}# - #{sym\ 1378}# - (cdr #{subst\ 1379}#) - #{marks\ 1380}#) - (if (if (eq? (vector-ref - #{symnames\ 1381}# - #{i\ 1393}#) - #{sym\ 1378}#) - (#{same-marks?\ 431}# - #{marks\ 1380}# - (vector-ref - (#{ribcage-marks\ 403}# - #{ribcage\ 1382}#) - #{i\ 1393}#)) - #f) - (values - (vector-ref - (#{ribcage-labels\ 405}# - #{ribcage\ 1382}#) - #{i\ 1393}#) - #{marks\ 1380}#) - (#{f\ 1392}# - (#{fx+\ 282}# #{i\ 1393}# 1))))))) - (begin (#{f\ 1392}# 0)))))))) - (begin - (if (symbol? #{id\ 1323}#) + (let ((#{fst 1400}# (car #{subst 1394}#))) + (if (eq? #{fst 1400}# 'shift) + (#{search 1377}# + #{sym 1393}# + (cdr #{subst 1394}#) + (cdr #{marks 1395}#)) + (begin + (let ((#{symnames 1402}# + (#{ribcage-symnames 398}# #{fst 1400}#))) + (if (vector? #{symnames 1402}#) + (#{search-vector-rib 1381}# + #{sym 1393}# + #{subst 1394}# + #{marks 1395}# + #{symnames 1402}# + #{fst 1400}#) + (#{search-list-rib 1379}# + #{sym 1393}# + #{subst 1394}# + #{marks 1395}# + #{symnames 1402}# + #{fst 1400}#)))))))))) + (#{search-list-rib 1379}# + (lambda (#{sym 1403}# + #{subst 1404}# + #{marks 1405}# + #{symnames 1406}# + #{ribcage 1407}#) + (letrec* + ((#{f 1416}# + (lambda (#{symnames 1417}# #{i 1418}#) + (if (null? #{symnames 1417}#) + (#{search 1377}# + #{sym 1403}# + (cdr #{subst 1404}#) + #{marks 1405}#) + (if (if (eq? (car #{symnames 1417}#) #{sym 1403}#) + (#{same-marks? 428}# + #{marks 1405}# + (list-ref + (#{ribcage-marks 400}# #{ribcage 1407}#) + #{i 1418}#)) + #f) + (values + (list-ref + (#{ribcage-labels 402}# #{ribcage 1407}#) + #{i 1418}#) + #{marks 1405}#) + (#{f 1416}# + (cdr #{symnames 1417}#) + (#{1+}# #{i 1418}#))))))) + (begin (#{f 1416}# #{symnames 1406}# 0))))) + (#{search-vector-rib 1381}# + (lambda (#{sym 1427}# + #{subst 1428}# + #{marks 1429}# + #{symnames 1430}# + #{ribcage 1431}#) + (begin + (let ((#{n 1438}# (vector-length #{symnames 1430}#))) + (letrec* + ((#{f 1441}# + (lambda (#{i 1442}#) + (if (= #{i 1442}# #{n 1438}#) + (#{search 1377}# + #{sym 1427}# + (cdr #{subst 1428}#) + #{marks 1429}#) + (if (if (eq? (vector-ref + #{symnames 1430}# + #{i 1442}#) + #{sym 1427}#) + (#{same-marks? 428}# + #{marks 1429}# + (vector-ref + (#{ribcage-marks 400}# + #{ribcage 1431}#) + #{i 1442}#)) + #f) + (values + (vector-ref + (#{ribcage-labels 402}# #{ribcage 1431}#) + #{i 1442}#) + #{marks 1429}#) + (#{f 1441}# (#{1+}# #{i 1442}#))))))) + (begin (#{f 1441}# 0)))))))) + (begin + (if (symbol? #{id 1371}#) + (begin + (let ((#{t 1454}# + (call-with-values + (lambda () + (#{search 1377}# + #{id 1371}# + (cdr #{w 1372}#) + (car #{w 1372}#))) + (lambda (#{x 1458}# . #{ignore 1459}#) + #{x 1458}#)))) + (if #{t 1454}# #{t 1454}# #{id 1371}#))) + (if (#{syntax-object? 342}# #{id 1371}#) (begin - (let ((#{t\ 1403}# - (call-with-values - (lambda () - (#{search\ 1329}# - #{id\ 1323}# - (cdr #{w\ 1324}#) - (car #{w\ 1324}#))) - (lambda (#{x\ 1407}# . #{ignore\ 1408}#) - #{x\ 1407}#)))) - (if #{t\ 1403}# #{t\ 1403}# #{id\ 1323}#))) - (if (#{syntax-object?\ 345}# #{id\ 1323}#) - (begin - (let ((#{id\ 1416}# - (#{syntax-object-expression\ 347}# - #{id\ 1323}#)) - (#{w1\ 1417}# - (#{syntax-object-wrap\ 349}# #{id\ 1323}#))) - (begin - (let ((#{marks\ 1419}# - (#{join-marks\ 429}# - (car #{w\ 1324}#) - (car #{w1\ 1417}#)))) - (call-with-values - (lambda () - (#{search\ 1329}# - #{id\ 1416}# - (cdr #{w\ 1324}#) - #{marks\ 1419}#)) - (lambda (#{new-id\ 1423}# #{marks\ 1424}#) - (begin - (let ((#{t\ 1429}# #{new-id\ 1423}#)) - (if #{t\ 1429}# - #{t\ 1429}# - (begin - (let ((#{t\ 1432}# - (call-with-values - (lambda () - (#{search\ 1329}# - #{id\ 1416}# - (cdr #{w1\ 1417}#) - #{marks\ 1424}#)) - (lambda (#{x\ 1435}# - . - #{ignore\ 1436}#) - #{x\ 1435}#)))) - (if #{t\ 1432}# - #{t\ 1432}# - #{id\ 1416}#)))))))))))) - (syntax-violation - 'id-var-name - "invalid id" - #{id\ 1323}#))))))) - (#{free-id=?\ 435}# - (lambda (#{i\ 1441}# #{j\ 1442}#) - (if (eq? (begin - (let ((#{x\ 1448}# #{i\ 1441}#)) - (if (#{syntax-object?\ 345}# #{x\ 1448}#) - (#{syntax-object-expression\ 347}# #{x\ 1448}#) - #{x\ 1448}#))) + (let ((#{id 1467}# + (#{syntax-object-expression 344}# #{id 1371}#)) + (#{w1 1468}# + (#{syntax-object-wrap 346}# #{id 1371}#))) + (begin + (let ((#{marks 1470}# + (#{join-marks 426}# + (car #{w 1372}#) + (car #{w1 1468}#)))) + (call-with-values + (lambda () + (#{search 1377}# + #{id 1467}# + (cdr #{w 1372}#) + #{marks 1470}#)) + (lambda (#{new-id 1474}# #{marks 1475}#) + (begin + (let ((#{t 1480}# #{new-id 1474}#)) + (if #{t 1480}# + #{t 1480}# + (begin + (let ((#{t 1483}# + (call-with-values + (lambda () + (#{search 1377}# + #{id 1467}# + (cdr #{w1 1468}#) + #{marks 1475}#)) + (lambda (#{x 1486}# + . + #{ignore 1487}#) + #{x 1486}#)))) + (if #{t 1483}# + #{t 1483}# + #{id 1467}#)))))))))))) + (syntax-violation + 'id-var-name + "invalid id" + #{id 1371}#))))))) + (#{free-id=? 432}# + (lambda (#{i 1492}# #{j 1493}#) + (if (eq? (begin + (let ((#{x 1499}# #{i 1492}#)) + (if (#{syntax-object? 342}# #{x 1499}#) + (#{syntax-object-expression 344}# #{x 1499}#) + #{x 1499}#))) + (begin + (let ((#{x 1502}# #{j 1493}#)) + (if (#{syntax-object? 342}# #{x 1502}#) + (#{syntax-object-expression 344}# #{x 1502}#) + #{x 1502}#)))) + (eq? (#{id-var-name 430}# #{i 1492}# '(())) + (#{id-var-name 430}# #{j 1493}# '(()))) + #f))) + (#{bound-id=? 434}# + (lambda (#{i 1506}# #{j 1507}#) + (if (if (#{syntax-object? 342}# #{i 1506}#) + (#{syntax-object? 342}# #{j 1507}#) + #f) + (if (eq? (#{syntax-object-expression 344}# #{i 1506}#) + (#{syntax-object-expression 344}# #{j 1507}#)) + (#{same-marks? 428}# + (car (#{syntax-object-wrap 346}# #{i 1506}#)) + (car (#{syntax-object-wrap 346}# #{j 1507}#))) + #f) + (eq? #{i 1506}# #{j 1507}#)))) + (#{valid-bound-ids? 436}# + (lambda (#{ids 1516}#) + (if (letrec* + ((#{all-ids? 1521}# + (lambda (#{ids 1522}#) (begin - (let ((#{x\ 1451}# #{j\ 1442}#)) - (if (#{syntax-object?\ 345}# #{x\ 1451}#) - (#{syntax-object-expression\ 347}# #{x\ 1451}#) - #{x\ 1451}#)))) - (eq? (#{id-var-name\ 433}# #{i\ 1441}# '(())) - (#{id-var-name\ 433}# #{j\ 1442}# '(()))) - #f))) - (#{bound-id=?\ 437}# - (lambda (#{i\ 1455}# #{j\ 1456}#) - (if (if (#{syntax-object?\ 345}# #{i\ 1455}#) - (#{syntax-object?\ 345}# #{j\ 1456}#) - #f) - (if (eq? (#{syntax-object-expression\ 347}# #{i\ 1455}#) - (#{syntax-object-expression\ 347}# #{j\ 1456}#)) - (#{same-marks?\ 431}# - (car (#{syntax-object-wrap\ 349}# #{i\ 1455}#)) - (car (#{syntax-object-wrap\ 349}# #{j\ 1456}#))) + (let ((#{t 1525}# (null? #{ids 1522}#))) + (if #{t 1525}# + #{t 1525}# + (if (#{id? 376}# (car #{ids 1522}#)) + (#{all-ids? 1521}# (cdr #{ids 1522}#)) + #f))))))) + (begin (#{all-ids? 1521}# #{ids 1516}#))) + (#{distinct-bound-ids? 438}# #{ids 1516}#) + #f))) + (#{distinct-bound-ids? 438}# + (lambda (#{ids 1530}#) + (letrec* + ((#{distinct? 1534}# + (lambda (#{ids 1535}#) + (begin + (let ((#{t 1538}# (null? #{ids 1535}#))) + (if #{t 1538}# + #{t 1538}# + (if (not (#{bound-id-member? 440}# + (car #{ids 1535}#) + (cdr #{ids 1535}#))) + (#{distinct? 1534}# (cdr #{ids 1535}#)) + #f))))))) + (begin (#{distinct? 1534}# #{ids 1530}#))))) + (#{bound-id-member? 440}# + (lambda (#{x 1542}# #{list 1543}#) + (if (not (null? #{list 1543}#)) + (begin + (let ((#{t 1550}# + (#{bound-id=? 434}# + #{x 1542}# + (car #{list 1543}#)))) + (if #{t 1550}# + #{t 1550}# + (#{bound-id-member? 440}# + #{x 1542}# + (cdr #{list 1543}#))))) + #f))) + (#{wrap 442}# + (lambda (#{x 1552}# #{w 1553}# #{defmod 1554}#) + (if (if (null? (car #{w 1553}#)) + (null? (cdr #{w 1553}#)) #f) - (eq? #{i\ 1455}# #{j\ 1456}#)))) - (#{valid-bound-ids?\ 439}# - (lambda (#{ids\ 1465}#) - (if (letrec* - ((#{all-ids?\ 1470}# - (lambda (#{ids\ 1471}#) - (begin - (let ((#{t\ 1474}# (null? #{ids\ 1471}#))) - (if #{t\ 1474}# - #{t\ 1474}# - (if (#{id?\ 379}# (car #{ids\ 1471}#)) - (#{all-ids?\ 1470}# (cdr #{ids\ 1471}#)) - #f))))))) - (begin (#{all-ids?\ 1470}# #{ids\ 1465}#))) - (#{distinct-bound-ids?\ 441}# #{ids\ 1465}#) - #f))) - (#{distinct-bound-ids?\ 441}# - (lambda (#{ids\ 1479}#) + #{x 1552}# + (if (#{syntax-object? 342}# #{x 1552}#) + (#{make-syntax-object 340}# + (#{syntax-object-expression 344}# #{x 1552}#) + (#{join-wraps 424}# + #{w 1553}# + (#{syntax-object-wrap 346}# #{x 1552}#)) + (#{syntax-object-module 348}# #{x 1552}#)) + (if (null? #{x 1552}#) + #{x 1552}# + (#{make-syntax-object 340}# + #{x 1552}# + #{w 1553}# + #{defmod 1554}#)))))) + (#{source-wrap 444}# + (lambda (#{x 1569}# + #{w 1570}# + #{s 1571}# + #{defmod 1572}#) + (#{wrap 442}# + (#{decorate-source 296}# #{x 1569}# #{s 1571}#) + #{w 1570}# + #{defmod 1572}#))) + (#{chi-sequence 446}# + (lambda (#{body 1577}# + #{r 1578}# + #{w 1579}# + #{s 1580}# + #{mod 1581}#) + (#{build-sequence 330}# + #{s 1580}# (letrec* - ((#{distinct?\ 1483}# - (lambda (#{ids\ 1484}#) - (begin - (let ((#{t\ 1487}# (null? #{ids\ 1484}#))) - (if #{t\ 1487}# - #{t\ 1487}# - (if (not (#{bound-id-member?\ 443}# - (car #{ids\ 1484}#) - (cdr #{ids\ 1484}#))) - (#{distinct?\ 1483}# (cdr #{ids\ 1484}#)) - #f))))))) - (begin (#{distinct?\ 1483}# #{ids\ 1479}#))))) - (#{bound-id-member?\ 443}# - (lambda (#{x\ 1491}# #{list\ 1492}#) - (if (not (null? #{list\ 1492}#)) + ((#{dobody 1592}# + (lambda (#{body 1593}# + #{r 1594}# + #{w 1595}# + #{mod 1596}#) + (if (null? #{body 1593}#) + '() + (begin + (let ((#{first 1598}# + (#{chi 456}# + (car #{body 1593}#) + #{r 1594}# + #{w 1595}# + #{mod 1596}#))) + (cons #{first 1598}# + (#{dobody 1592}# + (cdr #{body 1593}#) + #{r 1594}# + #{w 1595}# + #{mod 1596}#)))))))) (begin - (let ((#{t\ 1499}# - (#{bound-id=?\ 437}# - #{x\ 1491}# - (car #{list\ 1492}#)))) - (if #{t\ 1499}# - #{t\ 1499}# - (#{bound-id-member?\ 443}# - #{x\ 1491}# - (cdr #{list\ 1492}#))))) - #f))) - (#{wrap\ 445}# - (lambda (#{x\ 1501}# #{w\ 1502}# #{defmod\ 1503}#) - (if (if (null? (car #{w\ 1502}#)) - (null? (cdr #{w\ 1502}#)) - #f) - #{x\ 1501}# - (if (#{syntax-object?\ 345}# #{x\ 1501}#) - (#{make-syntax-object\ 343}# - (#{syntax-object-expression\ 347}# #{x\ 1501}#) - (#{join-wraps\ 427}# - #{w\ 1502}# - (#{syntax-object-wrap\ 349}# #{x\ 1501}#)) - (#{syntax-object-module\ 351}# #{x\ 1501}#)) - (if (null? #{x\ 1501}#) - #{x\ 1501}# - (#{make-syntax-object\ 343}# - #{x\ 1501}# - #{w\ 1502}# - #{defmod\ 1503}#)))))) - (#{source-wrap\ 447}# - (lambda (#{x\ 1518}# - #{w\ 1519}# - #{s\ 1520}# - #{defmod\ 1521}#) - (#{wrap\ 445}# - (#{decorate-source\ 299}# - #{x\ 1518}# - #{s\ 1520}#) - #{w\ 1519}# - #{defmod\ 1521}#))) - (#{chi-sequence\ 449}# - (lambda (#{body\ 1526}# - #{r\ 1527}# - #{w\ 1528}# - #{s\ 1529}# - #{mod\ 1530}#) - (#{build-sequence\ 333}# - #{s\ 1529}# - (letrec* - ((#{dobody\ 1541}# - (lambda (#{body\ 1542}# - #{r\ 1543}# - #{w\ 1544}# - #{mod\ 1545}#) - (if (null? #{body\ 1542}#) - '() - (begin - (let ((#{first\ 1547}# - (#{chi\ 461}# - (car #{body\ 1542}#) - #{r\ 1543}# - #{w\ 1544}# - #{mod\ 1545}#))) - (cons #{first\ 1547}# - (#{dobody\ 1541}# - (cdr #{body\ 1542}#) - #{r\ 1543}# - #{w\ 1544}# - #{mod\ 1545}#)))))))) - (begin - (#{dobody\ 1541}# - #{body\ 1526}# - #{r\ 1527}# - #{w\ 1528}# - #{mod\ 1530}#)))))) - (#{chi-top-sequence\ 451}# - (lambda (#{body\ 1548}# - #{r\ 1549}# - #{w\ 1550}# - #{s\ 1551}# - #{m\ 1552}# - #{esew\ 1553}# - #{mod\ 1554}#) - (#{build-sequence\ 333}# - #{s\ 1551}# - (letrec* - ((#{dobody\ 1570}# - (lambda (#{body\ 1571}# - #{r\ 1572}# - #{w\ 1573}# - #{m\ 1574}# - #{esew\ 1575}# - #{mod\ 1576}# - #{out\ 1577}#) - (if (null? #{body\ 1571}#) - (reverse #{out\ 1577}#) - (#{dobody\ 1570}# - (cdr #{body\ 1571}#) - #{r\ 1572}# - #{w\ 1573}# - #{m\ 1574}# - #{esew\ 1575}# - #{mod\ 1576}# - (cons (#{chi-top\ 459}# - (car #{body\ 1571}#) - #{r\ 1572}# - #{w\ 1573}# - #{m\ 1574}# - #{esew\ 1575}# - #{mod\ 1576}#) - #{out\ 1577}#)))))) - (begin - (#{dobody\ 1570}# - #{body\ 1548}# - #{r\ 1549}# - #{w\ 1550}# - #{m\ 1552}# - #{esew\ 1553}# - #{mod\ 1554}# - '())))))) - (#{chi-install-global\ 453}# - (lambda (#{name\ 1578}# #{e\ 1579}#) - (#{build-global-definition\ 321}# + (#{dobody 1592}# + #{body 1577}# + #{r 1578}# + #{w 1579}# + #{mod 1581}#)))))) + (#{chi-top-sequence 448}# + (lambda (#{body 1599}# + #{r 1600}# + #{w 1601}# + #{s 1602}# + #{m 1603}# + #{esew 1604}# + #{mod 1605}#) + (letrec* + ((#{scan 1614}# + (lambda (#{body 1615}# + #{r 1616}# + #{w 1617}# + #{s 1618}# + #{m 1619}# + #{esew 1620}# + #{mod 1621}# + #{exps 1622}#) + (if (null? #{body 1615}#) + #{exps 1622}# + (call-with-values + (lambda () + (call-with-values + (lambda () + (begin + (let ((#{e 1635}# (car #{body 1615}#))) + (#{syntax-type 454}# + #{e 1635}# + #{r 1616}# + #{w 1617}# + (begin + (let ((#{t 1638}# + (#{source-annotation 357}# + #{e 1635}#))) + (if #{t 1638}# #{t 1638}# #{s 1618}#))) + #f + #{mod 1621}# + #f)))) + (lambda (#{type 1640}# + #{value 1641}# + #{e 1642}# + #{w 1643}# + #{s 1644}# + #{mod 1645}#) + (if (eqv? #{type 1640}# 'begin-form) + (let ((#{tmp 1653}# #{e 1642}#)) + (let ((#{tmp 1654}# + ($sc-dispatch #{tmp 1653}# '(_)))) + (if #{tmp 1654}# + (@apply + (lambda () #{exps 1622}#) + #{tmp 1654}#) + (let ((#{tmp 1655}# + ($sc-dispatch + #{tmp 1653}# + '(_ any . each-any)))) + (if #{tmp 1655}# + (@apply + (lambda (#{e1 1658}# #{e2 1659}#) + (#{scan 1614}# + (cons #{e1 1658}# #{e2 1659}#) + #{r 1616}# + #{w 1643}# + #{s 1644}# + #{m 1619}# + #{esew 1620}# + #{mod 1645}# + #{exps 1622}#)) + #{tmp 1655}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1653}#)))))) + (if (eqv? #{type 1640}# 'local-syntax-form) + (#{chi-local-syntax 466}# + #{value 1641}# + #{e 1642}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + #{mod 1645}# + (lambda (#{body 1662}# + #{r 1663}# + #{w 1664}# + #{s 1665}# + #{mod 1666}#) + (#{scan 1614}# + #{body 1662}# + #{r 1663}# + #{w 1664}# + #{s 1665}# + #{m 1619}# + #{esew 1620}# + #{mod 1666}# + #{exps 1622}#))) + (if (eqv? #{type 1640}# 'eval-when-form) + (let ((#{tmp 1673}# #{e 1642}#)) + (let ((#{tmp 1674}# + ($sc-dispatch + #{tmp 1673}# + '(_ each-any any . each-any)))) + (if #{tmp 1674}# + (@apply + (lambda (#{x 1678}# + #{e1 1679}# + #{e2 1680}#) + (begin + (let ((#{when-list 1683}# + (#{chi-when-list 452}# + #{e 1642}# + #{x 1678}# + #{w 1643}#)) + (#{body 1684}# + (cons #{e1 1679}# + #{e2 1680}#))) + (if (eq? #{m 1619}# 'e) + (if (memq 'eval + #{when-list 1683}#) + (#{scan 1614}# + #{body 1684}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + (if (memq 'expand + #{when-list 1683}#) + 'c&e + 'e) + '(eval) + #{mod 1645}# + #{exps 1622}#) + (begin + (if (memq 'expand + #{when-list 1683}#) + (#{top-level-eval-hook 287}# + (#{chi-top-sequence 448}# + #{body 1684}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + 'e + '(eval) + #{mod 1645}#) + #{mod 1645}#)) + #{exps 1622}#)) + (if (memq 'load + #{when-list 1683}#) + (if (begin + (let ((#{t 1693}# + (memq 'compile + #{when-list 1683}#))) + (if #{t 1693}# + #{t 1693}# + (begin + (let ((#{t 1696}# + (memq 'expand + #{when-list 1683}#))) + (if #{t 1696}# + #{t 1696}# + (if (eq? #{m 1619}# + 'c&e) + (memq 'eval + #{when-list 1683}#) + #f))))))) + (#{scan 1614}# + #{body 1684}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + 'c&e + '(compile load) + #{mod 1645}# + #{exps 1622}#) + (if (if (eq? #{m 1619}# + 'c) + #t + (eq? #{m 1619}# + 'c&e)) + (#{scan 1614}# + #{body 1684}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + 'c + '(load) + #{mod 1645}# + #{exps 1622}#) + #{exps 1622}#)) + (if (begin + (let ((#{t 1704}# + (memq 'compile + #{when-list 1683}#))) + (if #{t 1704}# + #{t 1704}# + (begin + (let ((#{t 1707}# + (memq 'expand + #{when-list 1683}#))) + (if #{t 1707}# + #{t 1707}# + (if (eq? #{m 1619}# + 'c&e) + (memq 'eval + #{when-list 1683}#) + #f))))))) + (begin + (#{top-level-eval-hook 287}# + (#{chi-top-sequence 448}# + #{body 1684}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + 'e + '(eval) + #{mod 1645}#) + #{mod 1645}#) + #{exps 1622}#) + #{exps 1622}#)))))) + #{tmp 1674}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1673}#)))) + (if (eqv? #{type 1640}# 'define-syntax-form) + (begin + (let ((#{n 1715}# + (#{id-var-name 430}# + #{value 1641}# + #{w 1643}#)) + (#{r 1716}# + (#{macros-only-env 368}# + #{r 1616}#))) + (if (eqv? #{m 1619}# 'c) + (if (memq 'compile #{esew 1620}#) + (begin + (let ((#{e 1719}# + (#{chi-install-global 450}# + #{n 1715}# + (#{chi 456}# + #{e 1642}# + #{r 1716}# + #{w 1643}# + #{mod 1645}#)))) + (begin + (#{top-level-eval-hook 287}# + #{e 1719}# + #{mod 1645}#) + (if (memq 'load + #{esew 1620}#) + (cons #{e 1719}# + #{exps 1622}#) + #{exps 1622}#)))) + (if (memq 'load #{esew 1620}#) + (cons (#{chi-install-global 450}# + #{n 1715}# + (#{chi 456}# + #{e 1642}# + #{r 1716}# + #{w 1643}# + #{mod 1645}#)) + #{exps 1622}#) + #{exps 1622}#)) + (if (eqv? #{m 1619}# 'c&e) + (begin + (let ((#{e 1722}# + (#{chi-install-global 450}# + #{n 1715}# + (#{chi 456}# + #{e 1642}# + #{r 1716}# + #{w 1643}# + #{mod 1645}#)))) + (begin + (#{top-level-eval-hook 287}# + #{e 1722}# + #{mod 1645}#) + (cons #{e 1722}# + #{exps 1622}#)))) + (begin + (if (memq 'eval #{esew 1620}#) + (#{top-level-eval-hook 287}# + (#{chi-install-global 450}# + #{n 1715}# + (#{chi 456}# + #{e 1642}# + #{r 1716}# + #{w 1643}# + #{mod 1645}#)) + #{mod 1645}#)) + #{exps 1622}#))))) + (if (eqv? #{type 1640}# 'define-form) + (begin + (let ((#{n 1727}# + (#{id-var-name 430}# + #{value 1641}# + #{w 1643}#))) + (begin + (let ((#{type 1729}# + (car (#{lookup 370}# + #{n 1727}# + #{r 1616}# + #{mod 1645}#)))) + (if (if (eqv? #{type 1729}# + 'global) + #t + (if (eqv? #{type 1729}# + 'core) + #t + (if (eqv? #{type 1729}# + 'macro) + #t + (eqv? #{type 1729}# + 'module-ref)))) + (begin + (if (if (if (eq? #{m 1619}# + 'c) + #t + (eq? #{m 1619}# + 'c&e)) + (if (not (module-local-variable + (current-module) + #{n 1727}#)) + (current-module) + #f) + #f) + (begin + (let ((#{old 1736}# + (module-variable + (current-module) + #{n 1727}#))) + (if (if (variable? + #{old 1736}#) + (variable-bound? + #{old 1736}#) + #f) + (module-define! + (current-module) + #{n 1727}# + (variable-ref + #{old 1736}#)) + (module-add! + (current-module) + #{n 1727}# + (make-undefined-variable)))))) + (cons (if (eq? #{m 1619}# + 'c&e) + (begin + (let ((#{x 1740}# + (#{build-global-definition 318}# + #{s 1644}# + #{n 1727}# + (#{chi 456}# + #{e 1642}# + #{r 1616}# + #{w 1643}# + #{mod 1645}#)))) + (begin + (#{top-level-eval-hook 287}# + #{x 1740}# + #{mod 1645}#) + #{x 1740}#))) + (lambda () + (#{build-global-definition 318}# + #{s 1644}# + #{n 1727}# + (#{chi 456}# + #{e 1642}# + #{r 1616}# + #{w 1643}# + #{mod 1645}#)))) + #{exps 1622}#)) + (if (eqv? #{type 1729}# + 'displaced-lexical) + (syntax-violation + #f + "identifier out of context" + #{e 1642}# + (#{wrap 442}# + #{value 1641}# + #{w 1643}# + #{mod 1645}#)) + (syntax-violation + #f + "cannot define keyword at top level" + #{e 1642}# + (#{wrap 442}# + #{value 1641}# + #{w 1643}# + #{mod 1645}#)))))))) + (cons (if (eq? #{m 1619}# 'c&e) + (begin + (let ((#{x 1745}# + (#{chi-expr 458}# + #{type 1640}# + #{value 1641}# + #{e 1642}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + #{mod 1645}#))) + (begin + (#{top-level-eval-hook 287}# + #{x 1745}# + #{mod 1645}#) + #{x 1745}#))) + (lambda () + (#{chi-expr 458}# + #{type 1640}# + #{value 1641}# + #{e 1642}# + #{r 1616}# + #{w 1643}# + #{s 1644}# + #{mod 1645}#))) + #{exps 1622}#))))))))) + (lambda (#{exps 1746}#) + (#{scan 1614}# + (cdr #{body 1615}#) + #{r 1616}# + #{w 1617}# + #{s 1618}# + #{m 1619}# + #{esew 1620}# + #{mod 1621}# + #{exps 1746}#))))))) + (begin + (call-with-values + (lambda () + (#{scan 1614}# + #{body 1599}# + #{r 1600}# + #{w 1601}# + #{s 1602}# + #{m 1603}# + #{esew 1604}# + #{mod 1605}# + '())) + (lambda (#{exps 1748}#) + (if (null? #{exps 1748}#) + (#{build-void 300}# #{s 1602}#) + (#{build-sequence 330}# + #{s 1602}# + (letrec* + ((#{lp 1753}# + (lambda (#{in 1754}# #{out 1755}#) + (if (null? #{in 1754}#) + #{out 1755}# + (begin + (let ((#{e 1757}# (car #{in 1754}#))) + (#{lp 1753}# + (cdr #{in 1754}#) + (cons (if (procedure? #{e 1757}#) + (#{e 1757}#) + #{e 1757}#) + #{out 1755}#)))))))) + (begin (#{lp 1753}# #{exps 1748}# '()))))))))))) + (#{chi-install-global 450}# + (lambda (#{name 1758}# #{e 1759}#) + (#{build-global-definition 318}# + #f + #{name 1758}# + (#{build-application 302}# #f - #{name\ 1578}# - (#{build-application\ 305}# + (#{build-primref 326}# #f - (#{build-primref\ 329}# - #f - 'make-syntax-transformer) - (list (#{build-data\ 331}# #f #{name\ 1578}#) - (#{build-data\ 331}# #f 'macro) - #{e\ 1579}#))))) - (#{chi-when-list\ 455}# - (lambda (#{e\ 1587}# #{when-list\ 1588}# #{w\ 1589}#) - (letrec* - ((#{f\ 1596}# - (lambda (#{when-list\ 1597}# #{situations\ 1598}#) - (if (null? #{when-list\ 1597}#) - #{situations\ 1598}# - (#{f\ 1596}# - (cdr #{when-list\ 1597}#) - (cons (begin - (let ((#{x\ 1600}# (car #{when-list\ 1597}#))) - (if (#{free-id=?\ 435}# - #{x\ 1600}# + 'make-syntax-transformer) + (list (#{build-data 328}# #f #{name 1758}#) + (#{build-data 328}# #f 'macro) + #{e 1759}#))))) + (#{chi-when-list 452}# + (lambda (#{e 1767}# #{when-list 1768}# #{w 1769}#) + (letrec* + ((#{f 1776}# + (lambda (#{when-list 1777}# #{situations 1778}#) + (if (null? #{when-list 1777}#) + #{situations 1778}# + (#{f 1776}# + (cdr #{when-list 1777}#) + (cons (begin + (let ((#{x 1780}# (car #{when-list 1777}#))) + (if (#{free-id=? 432}# + #{x 1780}# + '#(syntax-object + compile + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i1779")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1773" "i1774" "i1775")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1770" "i1771" "i1772")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile))) + 'compile + (if (#{free-id=? 432}# + #{x 1780}# '#(syntax-object - compile + load ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1599")) + #(ribcage #(x) #((top)) #("i1779")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1593" "i1594" "i1595")) + #("i1773" "i1774" "i1775")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1590" "i1591" "i1592")) + #("i1770" "i1771" "i1772")) #(ribcage (lambda-var-list gen-var @@ -1216,7 +2038,6 @@ chi-application chi-expr chi - chi-top syntax-type chi-when-list chi-install-global @@ -1472,158 +2293,156 @@ (top) (top) (top) - (top) (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" "i419" - "i418" + "i417" "i416" "i415" - "i414" "i413" "i412" + "i411" "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" "i393" - "i391" "i390" - "i389" "i388" "i387" "i386" "i385" "i384" "i383" + "i382" "i381" "i380" "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" "i365" - "i364" "i363" "i362" "i361" + "i360" "i359" "i358" "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" "i293" "i291" - "i289" - "i287" + "i290" + "i288" + "i286" "i285" + "i284" "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) + ("i41" "i40" "i39" "i37"))) (hygiene guile))) - 'compile - (if (#{free-id=?\ 435}# - #{x\ 1600}# + 'load + (if (#{free-id=? 432}# + #{x 1780}# '#(syntax-object - load + eval ((top) #(ribcage () () ()) #(ribcage () () ()) @@ -1631,17 +2450,17 @@ #(ribcage #(x) #((top)) - #("i1599")) + #("i1779")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1593" "i1594" "i1595")) + #("i1773" "i1774" "i1775")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1590" "i1591" "i1592")) + #("i1770" "i1771" "i1772")) #(ribcage (lambda-var-list gen-var @@ -1659,7 +2478,6 @@ chi-application chi-expr chi - chi-top syntax-type chi-when-list chi-install-global @@ -1915,158 +2733,156 @@ (top) (top) (top) - (top) (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" "i419" - "i418" + "i417" "i416" "i415" - "i414" "i413" "i412" + "i411" "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" "i393" - "i391" "i390" - "i389" "i388" "i387" "i386" "i385" "i384" "i383" + "i382" "i381" "i380" "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" "i365" - "i364" "i363" "i362" "i361" + "i360" "i359" "i358" "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" "i293" "i291" - "i289" - "i287" + "i290" + "i288" + "i286" "i285" + "i284" "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) + ("i41" "i40" "i39" "i37"))) (hygiene guile))) - 'load - (if (#{free-id=?\ 435}# - #{x\ 1600}# + 'eval + (if (#{free-id=? 432}# + #{x 1780}# '#(syntax-object - eval + expand ((top) #(ribcage () () ()) #(ribcage () () ()) @@ -2074,17 +2890,17 @@ #(ribcage #(x) #((top)) - #("i1599")) + #("i1779")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1593" "i1594" "i1595")) + #("i1773" "i1774" "i1775")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1590" "i1591" "i1592")) + #("i1770" "i1771" "i1772")) #(ribcage (lambda-var-list gen-var @@ -2102,7 +2918,6 @@ chi-application chi-expr chi - chi-top syntax-type chi-when-list chi-install-global @@ -2358,7868 +3173,7929 @@ (top) (top) (top) - (top) (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" "i419" - "i418" + "i417" "i416" "i415" - "i414" "i413" "i412" + "i411" "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" "i393" - "i391" "i390" - "i389" "i388" "i387" "i386" "i385" "i384" "i383" + "i382" "i381" "i380" "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" "i365" - "i364" "i363" "i362" "i361" + "i360" "i359" "i358" "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" "i293" "i291" - "i289" - "i287" + "i290" + "i288" + "i286" "i285" + "i284" "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) + ("i41" "i40" "i39" "i37"))) (hygiene guile))) - 'eval - (if (#{free-id=?\ 435}# - #{x\ 1600}# - '#(syntax-object - expand - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i1599")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1593" "i1594" "i1595")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1590" "i1591" "i1592")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) - (hygiene guile))) - 'expand - (syntax-violation - 'eval-when - "invalid situation" - #{e\ 1587}# - (#{wrap\ 445}# - #{x\ 1600}# - #{w\ 1589}# - #f)))))))) - #{situations\ 1598}#)))))) - (begin (#{f\ 1596}# #{when-list\ 1588}# '()))))) - (#{syntax-type\ 457}# - (lambda (#{e\ 1610}# - #{r\ 1611}# - #{w\ 1612}# - #{s\ 1613}# - #{rib\ 1614}# - #{mod\ 1615}# - #{for-car?\ 1616}#) - (if (symbol? #{e\ 1610}#) - (begin - (let ((#{n\ 1628}# - (#{id-var-name\ 433}# #{e\ 1610}# #{w\ 1612}#))) - (begin - (let ((#{b\ 1630}# - (#{lookup\ 373}# - #{n\ 1628}# - #{r\ 1611}# - #{mod\ 1615}#))) - (begin - (let ((#{type\ 1632}# (car #{b\ 1630}#))) - (if (eqv? #{type\ 1632}# 'lexical) - (values - #{type\ 1632}# - (cdr #{b\ 1630}#) - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{type\ 1632}# 'global) - (values - #{type\ 1632}# - #{n\ 1628}# - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{type\ 1632}# 'macro) - (if #{for-car?\ 1616}# - (values - #{type\ 1632}# - (cdr #{b\ 1630}#) - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (#{syntax-type\ 457}# - (#{chi-macro\ 467}# - (cdr #{b\ 1630}#) - #{e\ 1610}# - #{r\ 1611}# - #{w\ 1612}# - #{s\ 1613}# - #{rib\ 1614}# - #{mod\ 1615}#) - #{r\ 1611}# - '(()) - #{s\ 1613}# - #{rib\ 1614}# - #{mod\ 1615}# - #f)) - (values - #{type\ 1632}# - (cdr #{b\ 1630}#) - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#)))))))))) - (if (pair? #{e\ 1610}#) + 'expand + (syntax-violation + 'eval-when + "invalid situation" + #{e 1767}# + (#{wrap 442}# + #{x 1780}# + #{w 1769}# + #f)))))))) + #{situations 1778}#)))))) + (begin (#{f 1776}# #{when-list 1768}# '()))))) + (#{syntax-type 454}# + (lambda (#{e 1790}# + #{r 1791}# + #{w 1792}# + #{s 1793}# + #{rib 1794}# + #{mod 1795}# + #{for-car? 1796}#) + (if (symbol? #{e 1790}#) + (begin + (let ((#{n 1808}# + (#{id-var-name 430}# #{e 1790}# #{w 1792}#))) (begin - (let ((#{first\ 1646}# (car #{e\ 1610}#))) - (call-with-values - (lambda () - (#{syntax-type\ 457}# - #{first\ 1646}# - #{r\ 1611}# - #{w\ 1612}# - #{s\ 1613}# - #{rib\ 1614}# - #{mod\ 1615}# - #t)) - (lambda (#{ftype\ 1647}# - #{fval\ 1648}# - #{fe\ 1649}# - #{fw\ 1650}# - #{fs\ 1651}# - #{fmod\ 1652}#) - (if (eqv? #{ftype\ 1647}# 'lexical) + (let ((#{b 1810}# + (#{lookup 370}# + #{n 1808}# + #{r 1791}# + #{mod 1795}#))) + (begin + (let ((#{type 1812}# (car #{b 1810}#))) + (if (eqv? #{type 1812}# 'lexical) (values - 'lexical-call - #{fval\ 1648}# - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{ftype\ 1647}# 'global) + #{type 1812}# + (cdr #{b 1810}#) + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{type 1812}# 'global) (values - 'global-call - (#{make-syntax-object\ 343}# - #{fval\ 1648}# - #{w\ 1612}# - #{fmod\ 1652}#) - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{ftype\ 1647}# 'macro) - (#{syntax-type\ 457}# - (#{chi-macro\ 467}# - #{fval\ 1648}# - #{e\ 1610}# - #{r\ 1611}# - #{w\ 1612}# - #{s\ 1613}# - #{rib\ 1614}# - #{mod\ 1615}#) - #{r\ 1611}# - '(()) - #{s\ 1613}# - #{rib\ 1614}# - #{mod\ 1615}# - #{for-car?\ 1616}#) - (if (eqv? #{ftype\ 1647}# 'module-ref) - (call-with-values - (lambda () - (#{fval\ 1648}# - #{e\ 1610}# - #{r\ 1611}# - #{w\ 1612}#)) - (lambda (#{e\ 1664}# - #{r\ 1665}# - #{w\ 1666}# - #{s\ 1667}# - #{mod\ 1668}#) - (#{syntax-type\ 457}# - #{e\ 1664}# - #{r\ 1665}# - #{w\ 1666}# - #{s\ 1667}# - #{rib\ 1614}# - #{mod\ 1668}# - #{for-car?\ 1616}#))) - (if (eqv? #{ftype\ 1647}# 'core) + #{type 1812}# + #{n 1808}# + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{type 1812}# 'macro) + (if #{for-car? 1796}# + (values + #{type 1812}# + (cdr #{b 1810}#) + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (#{syntax-type 454}# + (#{chi-macro 462}# + (cdr #{b 1810}#) + #{e 1790}# + #{r 1791}# + #{w 1792}# + #{s 1793}# + #{rib 1794}# + #{mod 1795}#) + #{r 1791}# + '(()) + #{s 1793}# + #{rib 1794}# + #{mod 1795}# + #f)) + (values + #{type 1812}# + (cdr #{b 1810}#) + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#)))))))))) + (if (pair? #{e 1790}#) + (begin + (let ((#{first 1826}# (car #{e 1790}#))) + (call-with-values + (lambda () + (#{syntax-type 454}# + #{first 1826}# + #{r 1791}# + #{w 1792}# + #{s 1793}# + #{rib 1794}# + #{mod 1795}# + #t)) + (lambda (#{ftype 1827}# + #{fval 1828}# + #{fe 1829}# + #{fw 1830}# + #{fs 1831}# + #{fmod 1832}#) + (if (eqv? #{ftype 1827}# 'lexical) + (values + 'lexical-call + #{fval 1828}# + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{ftype 1827}# 'global) + (values + 'global-call + (#{make-syntax-object 340}# + #{fval 1828}# + #{w 1792}# + #{fmod 1832}#) + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{ftype 1827}# 'macro) + (#{syntax-type 454}# + (#{chi-macro 462}# + #{fval 1828}# + #{e 1790}# + #{r 1791}# + #{w 1792}# + #{s 1793}# + #{rib 1794}# + #{mod 1795}#) + #{r 1791}# + '(()) + #{s 1793}# + #{rib 1794}# + #{mod 1795}# + #{for-car? 1796}#) + (if (eqv? #{ftype 1827}# 'module-ref) + (call-with-values + (lambda () + (#{fval 1828}# + #{e 1790}# + #{r 1791}# + #{w 1792}#)) + (lambda (#{e 1844}# + #{r 1845}# + #{w 1846}# + #{s 1847}# + #{mod 1848}#) + (#{syntax-type 454}# + #{e 1844}# + #{r 1845}# + #{w 1846}# + #{s 1847}# + #{rib 1794}# + #{mod 1848}# + #{for-car? 1796}#))) + (if (eqv? #{ftype 1827}# 'core) + (values + 'core-form + #{fval 1828}# + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{ftype 1827}# 'local-syntax) (values - 'core-form - #{fval\ 1648}# - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{ftype\ 1647}# 'local-syntax) + 'local-syntax-form + #{fval 1828}# + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{ftype 1827}# 'begin) (values - 'local-syntax-form - #{fval\ 1648}# - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{ftype\ 1647}# 'begin) + 'begin-form + #f + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{ftype 1827}# 'eval-when) (values - 'begin-form + 'eval-when-form #f - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{ftype\ 1647}# 'eval-when) - (values - 'eval-when-form - #f - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (if (eqv? #{ftype\ 1647}# 'define) - (let ((#{tmp\ 1679}# #{e\ 1610}#)) - (let ((#{tmp\ 1680}# - ($sc-dispatch - #{tmp\ 1679}# - '(_ any any)))) - (if (if #{tmp\ 1680}# - (@apply - (lambda (#{name\ 1683}# - #{val\ 1684}#) - (#{id?\ 379}# - #{name\ 1683}#)) - #{tmp\ 1680}#) - #f) - (@apply - (lambda (#{name\ 1687}# - #{val\ 1688}#) - (values - 'define-form - #{name\ 1687}# - #{val\ 1688}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#)) - #{tmp\ 1680}#) - (let ((#{tmp\ 1689}# - ($sc-dispatch - #{tmp\ 1679}# - '(_ (any . any) - any - . - each-any)))) - (if (if #{tmp\ 1689}# - (@apply - (lambda (#{name\ 1694}# - #{args\ 1695}# - #{e1\ 1696}# - #{e2\ 1697}#) - (if (#{id?\ 379}# - #{name\ 1694}#) - (#{valid-bound-ids?\ 439}# - (#{lambda-var-list\ 491}# - #{args\ 1695}#)) - #f)) - #{tmp\ 1689}#) - #f) - (@apply - (lambda (#{name\ 1704}# - #{args\ 1705}# - #{e1\ 1706}# - #{e2\ 1707}#) - (values - 'define-form - (#{wrap\ 445}# - #{name\ 1704}# - #{w\ 1612}# - #{mod\ 1615}#) - (#{decorate-source\ 299}# - (cons '#(syntax-object - lambda - ((top) - #(ribcage - #(name - args - e1 - e2) - #((top) - (top) - (top) - (top)) - #("i1700" - "i1701" - "i1702" - "i1703")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i1653" - "i1654" - "i1655" - "i1656" - "i1657" - "i1658")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1645")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i1617" - "i1618" - "i1619" - "i1620" - "i1621" - "i1622" - "i1623")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene - guile)) - (#{wrap\ 445}# - (cons #{args\ 1705}# - (cons #{e1\ 1706}# - #{e2\ 1707}#)) - #{w\ 1612}# - #{mod\ 1615}#)) - #{s\ 1613}#) - '(()) - #{s\ 1613}# - #{mod\ 1615}#)) - #{tmp\ 1689}#) - (let ((#{tmp\ 1710}# - ($sc-dispatch - #{tmp\ 1679}# - '(_ any)))) - (if (if #{tmp\ 1710}# - (@apply - (lambda (#{name\ 1712}#) - (#{id?\ 379}# - #{name\ 1712}#)) - #{tmp\ 1710}#) - #f) - (@apply - (lambda (#{name\ 1714}#) - (values - 'define-form - (#{wrap\ 445}# - #{name\ 1714}# - #{w\ 1612}# - #{mod\ 1615}#) - '(#(syntax-object - if - ((top) - #(ribcage - #(name) - #((top)) - #("i1713")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (if (eqv? #{ftype 1827}# 'define) + (let ((#{tmp 1859}# #{e 1790}#)) + (let ((#{tmp 1860}# + ($sc-dispatch + #{tmp 1859}# + '(_ any any)))) + (if (if #{tmp 1860}# + (@apply + (lambda (#{name 1863}# + #{val 1864}#) + (#{id? 376}# + #{name 1863}#)) + #{tmp 1860}#) + #f) + (@apply + (lambda (#{name 1867}# + #{val 1868}#) + (values + 'define-form + #{name 1867}# + #{val 1868}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#)) + #{tmp 1860}#) + (let ((#{tmp 1869}# + ($sc-dispatch + #{tmp 1859}# + '(_ (any . any) + any + . + each-any)))) + (if (if #{tmp 1869}# + (@apply + (lambda (#{name 1874}# + #{args 1875}# + #{e1 1876}# + #{e2 1877}#) + (if (#{id? 376}# + #{name 1874}#) + (#{valid-bound-ids? 436}# + (#{lambda-var-list 486}# + #{args 1875}#)) + #f)) + #{tmp 1869}#) + #f) + (@apply + (lambda (#{name 1884}# + #{args 1885}# + #{e1 1886}# + #{e2 1887}#) + (values + 'define-form + (#{wrap 442}# + #{name 1884}# + #{w 1792}# + #{mod 1795}#) + (#{decorate-source 296}# + (cons '#(syntax-object + lambda + ((top) + #(ribcage + #(name + args + e1 + e2) + #((top) + (top) + (top) + (top)) + #("i1880" + "i1881" + "i1882" + "i1883")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1833" + "i1834" + "i1835" + "i1836" + "i1837" + "i1838")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1825")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1797" + "i1798" + "i1799" + "i1800" + "i1801" + "i1802" + "i1803")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) (top) (top) (top) (top) - (top)) - #("i1653" - "i1654" - "i1655" - "i1656" - "i1657" - "i1658")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1645")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) (top) (top) (top) (top) (top) - (top)) - #("i1617" - "i1618" - "i1619" - "i1620" - "i1621" - "i1622" - "i1623")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene - guile)) - #(syntax-object - #f - ((top) - #(ribcage - #(name) - #((top)) - #("i1713")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) (top) (top) (top) (top) - (top)) - #("i1653" - "i1654" - "i1655" - "i1656" - "i1657" - "i1658")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1645")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) (top) (top) (top) (top) (top) - (top)) - #("i1617" - "i1618" - "i1619" - "i1620" - "i1621" - "i1622" - "i1623")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene - guile)) - #(syntax-object - #f - ((top) - #(ribcage - #(name) - #((top)) - #("i1713")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) (top) (top) (top) (top) - (top)) - #("i1653" - "i1654" - "i1655" - "i1656" - "i1657" - "i1658")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1645")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) (top) (top) (top) (top) (top) (top)) - #("i1617" - "i1618" - "i1619" - "i1620" - "i1621" - "i1622" - "i1623")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene - guile))) - '(()) - #{s\ 1613}# - #{mod\ 1615}#)) - #{tmp\ 1710}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1679}#)))))))) - (if (eqv? #{ftype\ 1647}# - 'define-syntax) - (let ((#{tmp\ 1717}# #{e\ 1610}#)) - (let ((#{tmp\ 1718}# - ($sc-dispatch - #{tmp\ 1717}# - '(_ any any)))) - (if (if #{tmp\ 1718}# + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i41" + "i40" + "i39" + "i37"))) + (hygiene + guile)) + (#{wrap 442}# + (cons #{args 1885}# + (cons #{e1 1886}# + #{e2 1887}#)) + #{w 1792}# + #{mod 1795}#)) + #{s 1793}#) + '(()) + #{s 1793}# + #{mod 1795}#)) + #{tmp 1869}#) + (let ((#{tmp 1890}# + ($sc-dispatch + #{tmp 1859}# + '(_ any)))) + (if (if #{tmp 1890}# + (@apply + (lambda (#{name 1892}#) + (#{id? 376}# + #{name 1892}#)) + #{tmp 1890}#) + #f) (@apply - (lambda (#{name\ 1721}# - #{val\ 1722}#) - (#{id?\ 379}# - #{name\ 1721}#)) - #{tmp\ 1718}#) - #f) - (@apply - (lambda (#{name\ 1725}# - #{val\ 1726}#) - (values - 'define-syntax-form - #{name\ 1725}# - #{val\ 1726}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#)) - #{tmp\ 1718}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1717}#)))) - (values - 'call - #f - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#))))))))))))))) - (if (#{syntax-object?\ 345}# #{e\ 1610}#) - (#{syntax-type\ 457}# - (#{syntax-object-expression\ 347}# #{e\ 1610}#) - #{r\ 1611}# - (#{join-wraps\ 427}# - #{w\ 1612}# - (#{syntax-object-wrap\ 349}# #{e\ 1610}#)) - (begin - (let ((#{t\ 1732}# - (#{source-annotation\ 360}# #{e\ 1610}#))) - (if #{t\ 1732}# #{t\ 1732}# #{s\ 1613}#))) - #{rib\ 1614}# + (lambda (#{name 1894}#) + (values + 'define-form + (#{wrap 442}# + #{name 1894}# + #{w 1792}# + #{mod 1795}#) + '(#(syntax-object + if + ((top) + #(ribcage + #(name) + #((top)) + #("i1893")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1833" + "i1834" + "i1835" + "i1836" + "i1837" + "i1838")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1825")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1797" + "i1798" + "i1799" + "i1800" + "i1801" + "i1802" + "i1803")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i41" + "i40" + "i39" + "i37"))) + (hygiene + guile)) + #(syntax-object + #f + ((top) + #(ribcage + #(name) + #((top)) + #("i1893")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1833" + "i1834" + "i1835" + "i1836" + "i1837" + "i1838")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1825")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1797" + "i1798" + "i1799" + "i1800" + "i1801" + "i1802" + "i1803")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i41" + "i40" + "i39" + "i37"))) + (hygiene + guile)) + #(syntax-object + #f + ((top) + #(ribcage + #(name) + #((top)) + #("i1893")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1833" + "i1834" + "i1835" + "i1836" + "i1837" + "i1838")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1825")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1797" + "i1798" + "i1799" + "i1800" + "i1801" + "i1802" + "i1803")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i41" + "i40" + "i39" + "i37"))) + (hygiene + guile))) + '(()) + #{s 1793}# + #{mod 1795}#)) + #{tmp 1890}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1859}#)))))))) + (if (eqv? #{ftype 1827}# + 'define-syntax) + (let ((#{tmp 1897}# #{e 1790}#)) + (let ((#{tmp 1898}# + ($sc-dispatch + #{tmp 1897}# + '(_ any any)))) + (if (if #{tmp 1898}# + (@apply + (lambda (#{name 1901}# + #{val 1902}#) + (#{id? 376}# + #{name 1901}#)) + #{tmp 1898}#) + #f) + (@apply + (lambda (#{name 1905}# + #{val 1906}#) + (values + 'define-syntax-form + #{name 1905}# + #{val 1906}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#)) + #{tmp 1898}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1897}#)))) + (values + 'call + #f + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#))))))))))))))) + (if (#{syntax-object? 342}# #{e 1790}#) + (#{syntax-type 454}# + (#{syntax-object-expression 344}# #{e 1790}#) + #{r 1791}# + (#{join-wraps 424}# + #{w 1792}# + (#{syntax-object-wrap 346}# #{e 1790}#)) + (begin + (let ((#{t 1912}# + (#{source-annotation 357}# #{e 1790}#))) + (if #{t 1912}# #{t 1912}# #{s 1793}#))) + #{rib 1794}# + (begin + (let ((#{t 1916}# + (#{syntax-object-module 348}# #{e 1790}#))) + (if #{t 1916}# #{t 1916}# #{mod 1795}#))) + #{for-car? 1796}#) + (if (self-evaluating? #{e 1790}#) + (values + 'constant + #f + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#) + (values + 'other + #f + #{e 1790}# + #{w 1792}# + #{s 1793}# + #{mod 1795}#))))))) + (#{chi 456}# + (lambda (#{e 1921}# #{r 1922}# #{w 1923}# #{mod 1924}#) + (call-with-values + (lambda () + (#{syntax-type 454}# + #{e 1921}# + #{r 1922}# + #{w 1923}# + (#{source-annotation 357}# #{e 1921}#) + #f + #{mod 1924}# + #f)) + (lambda (#{type 1929}# + #{value 1930}# + #{e 1931}# + #{w 1932}# + #{s 1933}# + #{mod 1934}#) + (#{chi-expr 458}# + #{type 1929}# + #{value 1930}# + #{e 1931}# + #{r 1922}# + #{w 1932}# + #{s 1933}# + #{mod 1934}#))))) + (#{chi-expr 458}# + (lambda (#{type 1941}# + #{value 1942}# + #{e 1943}# + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + (if (eqv? #{type 1941}# 'lexical) + (#{build-lexical-reference 308}# + 'value + #{s 1946}# + #{e 1943}# + #{value 1942}#) + (if (if (eqv? #{type 1941}# 'core) + #t + (eqv? #{type 1941}# 'core-form)) + (#{value 1942}# + #{e 1943}# + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + (if (eqv? #{type 1941}# 'module-ref) + (call-with-values + (lambda () + (#{value 1942}# #{e 1943}# #{r 1944}# #{w 1945}#)) + (lambda (#{e 1958}# + #{r 1959}# + #{w 1960}# + #{s 1961}# + #{mod 1962}#) + (#{chi 456}# + #{e 1958}# + #{r 1959}# + #{w 1960}# + #{mod 1962}#))) + (if (eqv? #{type 1941}# 'lexical-call) + (#{chi-application 460}# (begin - (let ((#{t\ 1736}# - (#{syntax-object-module\ 351}# #{e\ 1610}#))) - (if #{t\ 1736}# #{t\ 1736}# #{mod\ 1615}#))) - #{for-car?\ 1616}#) - (if (self-evaluating? #{e\ 1610}#) - (values - 'constant - #f - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#) - (values - 'other - #f - #{e\ 1610}# - #{w\ 1612}# - #{s\ 1613}# - #{mod\ 1615}#))))))) - (#{chi-top\ 459}# - (lambda (#{e\ 1741}# - #{r\ 1742}# - #{w\ 1743}# - #{m\ 1744}# - #{esew\ 1745}# - #{mod\ 1746}#) - (call-with-values - (lambda () - (#{syntax-type\ 457}# - #{e\ 1741}# - #{r\ 1742}# - #{w\ 1743}# - (#{source-annotation\ 360}# #{e\ 1741}#) - #f - #{mod\ 1746}# - #f)) - (lambda (#{type\ 1767}# - #{value\ 1768}# - #{e\ 1769}# - #{w\ 1770}# - #{s\ 1771}# - #{mod\ 1772}#) - (if (eqv? #{type\ 1767}# 'begin-form) - (let ((#{tmp\ 1780}# #{e\ 1769}#)) - (let ((#{tmp\ 1781}# ($sc-dispatch #{tmp\ 1780}# '(_)))) - (if #{tmp\ 1781}# - (@apply - (lambda () (#{chi-void\ 475}#)) - #{tmp\ 1781}#) - (let ((#{tmp\ 1782}# - ($sc-dispatch - #{tmp\ 1780}# - '(_ any . each-any)))) - (if #{tmp\ 1782}# - (@apply - (lambda (#{e1\ 1785}# #{e2\ 1786}#) - (#{chi-top-sequence\ 451}# - (cons #{e1\ 1785}# #{e2\ 1786}#) - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - #{m\ 1744}# - #{esew\ 1745}# - #{mod\ 1772}#)) - #{tmp\ 1782}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1780}#)))))) - (if (eqv? #{type\ 1767}# 'local-syntax-form) - (#{chi-local-syntax\ 471}# - #{value\ 1768}# - #{e\ 1769}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - #{mod\ 1772}# - (lambda (#{body\ 1789}# - #{r\ 1790}# - #{w\ 1791}# - #{s\ 1792}# - #{mod\ 1793}#) - (#{chi-top-sequence\ 451}# - #{body\ 1789}# - #{r\ 1790}# - #{w\ 1791}# - #{s\ 1792}# - #{m\ 1744}# - #{esew\ 1745}# - #{mod\ 1793}#))) - (if (eqv? #{type\ 1767}# 'eval-when-form) - (let ((#{tmp\ 1800}# #{e\ 1769}#)) - (let ((#{tmp\ 1801}# - ($sc-dispatch - #{tmp\ 1800}# - '(_ each-any any . each-any)))) - (if #{tmp\ 1801}# - (@apply - (lambda (#{x\ 1805}# #{e1\ 1806}# #{e2\ 1807}#) - (begin - (let ((#{when-list\ 1810}# - (#{chi-when-list\ 455}# - #{e\ 1769}# - #{x\ 1805}# - #{w\ 1770}#)) - (#{body\ 1811}# - (cons #{e1\ 1806}# #{e2\ 1807}#))) - (if (eq? #{m\ 1744}# 'e) - (if (memq 'eval #{when-list\ 1810}#) - (#{chi-top-sequence\ 451}# - #{body\ 1811}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - (if (memq 'expand - #{when-list\ 1810}#) - 'c&e - 'e) - '(eval) - #{mod\ 1772}#) - (begin - (if (memq 'expand - #{when-list\ 1810}#) - (#{top-level-eval-hook\ 290}# - (#{chi-top-sequence\ 451}# - #{body\ 1811}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - 'e - '(eval) - #{mod\ 1772}#) - #{mod\ 1772}#)) - (#{chi-void\ 475}#))) - (if (memq 'load #{when-list\ 1810}#) - (if (begin - (let ((#{t\ 1820}# - (memq 'compile - #{when-list\ 1810}#))) - (if #{t\ 1820}# - #{t\ 1820}# - (begin - (let ((#{t\ 1823}# - (memq 'expand - #{when-list\ 1810}#))) - (if #{t\ 1823}# - #{t\ 1823}# - (if (eq? #{m\ 1744}# - 'c&e) - (memq 'eval - #{when-list\ 1810}#) - #f))))))) - (#{chi-top-sequence\ 451}# - #{body\ 1811}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - 'c&e - '(compile load) - #{mod\ 1772}#) - (if (if (eq? #{m\ 1744}# 'c) - #t - (eq? #{m\ 1744}# 'c&e)) - (#{chi-top-sequence\ 451}# - #{body\ 1811}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - 'c - '(load) - #{mod\ 1772}#) - (#{chi-void\ 475}#))) - (if (begin - (let ((#{t\ 1831}# - (memq 'compile - #{when-list\ 1810}#))) - (if #{t\ 1831}# - #{t\ 1831}# - (begin - (let ((#{t\ 1834}# - (memq 'expand - #{when-list\ 1810}#))) - (if #{t\ 1834}# - #{t\ 1834}# - (if (eq? #{m\ 1744}# - 'c&e) - (memq 'eval - #{when-list\ 1810}#) - #f))))))) - (begin - (#{top-level-eval-hook\ 290}# - (#{chi-top-sequence\ 451}# - #{body\ 1811}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - 'e - '(eval) - #{mod\ 1772}#) - #{mod\ 1772}#) - (#{chi-void\ 475}#)) - (#{chi-void\ 475}#))))))) - #{tmp\ 1801}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1800}#)))) - (if (eqv? #{type\ 1767}# 'define-syntax-form) - (begin - (let ((#{n\ 1842}# - (#{id-var-name\ 433}# - #{value\ 1768}# - #{w\ 1770}#)) - (#{r\ 1843}# - (#{macros-only-env\ 371}# #{r\ 1742}#))) - (if (eqv? #{m\ 1744}# 'c) - (if (memq 'compile #{esew\ 1745}#) - (begin - (let ((#{e\ 1846}# - (#{chi-install-global\ 453}# - #{n\ 1842}# - (#{chi\ 461}# - #{e\ 1769}# - #{r\ 1843}# - #{w\ 1770}# - #{mod\ 1772}#)))) - (begin - (#{top-level-eval-hook\ 290}# - #{e\ 1846}# - #{mod\ 1772}#) - (if (memq 'load #{esew\ 1745}#) - #{e\ 1846}# - (#{chi-void\ 475}#))))) - (if (memq 'load #{esew\ 1745}#) - (#{chi-install-global\ 453}# - #{n\ 1842}# - (#{chi\ 461}# - #{e\ 1769}# - #{r\ 1843}# - #{w\ 1770}# - #{mod\ 1772}#)) - (#{chi-void\ 475}#))) - (if (eqv? #{m\ 1744}# 'c&e) - (begin - (let ((#{e\ 1849}# - (#{chi-install-global\ 453}# - #{n\ 1842}# - (#{chi\ 461}# - #{e\ 1769}# - #{r\ 1843}# - #{w\ 1770}# - #{mod\ 1772}#)))) - (begin - (#{top-level-eval-hook\ 290}# - #{e\ 1849}# - #{mod\ 1772}#) - #{e\ 1849}#))) - (begin - (if (memq 'eval #{esew\ 1745}#) - (#{top-level-eval-hook\ 290}# - (#{chi-install-global\ 453}# - #{n\ 1842}# - (#{chi\ 461}# - #{e\ 1769}# - #{r\ 1843}# - #{w\ 1770}# - #{mod\ 1772}#)) - #{mod\ 1772}#)) - (#{chi-void\ 475}#)))))) - (if (eqv? #{type\ 1767}# 'define-form) - (begin - (let ((#{n\ 1854}# - (#{id-var-name\ 433}# - #{value\ 1768}# - #{w\ 1770}#))) - (begin - (let ((#{type\ 1856}# - (car (#{lookup\ 373}# - #{n\ 1854}# - #{r\ 1742}# - #{mod\ 1772}#)))) - (if (if (eqv? #{type\ 1856}# 'global) - #t - (if (eqv? #{type\ 1856}# 'core) - #t - (if (eqv? #{type\ 1856}# 'macro) - #t - (eqv? #{type\ 1856}# - 'module-ref)))) - (begin - (if (if (if (eq? #{m\ 1744}# 'c) - #t - (eq? #{m\ 1744}# 'c&e)) - (if (not (module-local-variable - (current-module) - #{n\ 1854}#)) - (current-module) - #f) - #f) - (begin - (let ((#{old\ 1863}# - (module-variable - (current-module) - #{n\ 1854}#))) - (if (if (variable? #{old\ 1863}#) - (variable-bound? - #{old\ 1863}#) - #f) - (module-define! - (current-module) - #{n\ 1854}# - (variable-ref #{old\ 1863}#)) - (module-add! - (current-module) - #{n\ 1854}# - (make-undefined-variable)))))) - (begin - (let ((#{x\ 1868}# - (#{build-global-definition\ 321}# - #{s\ 1771}# - #{n\ 1854}# - (#{chi\ 461}# - #{e\ 1769}# - #{r\ 1742}# - #{w\ 1770}# - #{mod\ 1772}#)))) + (let ((#{id 1970}# (car #{e 1943}#))) + (#{build-lexical-reference 308}# + 'fun + (#{source-annotation 357}# #{id 1970}#) + (if (#{syntax-object? 342}# #{id 1970}#) + (syntax->datum #{id 1970}#) + #{id 1970}#) + #{value 1942}#))) + #{e 1943}# + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + (if (eqv? #{type 1941}# 'global-call) + (#{chi-application 460}# + (#{build-global-reference 314}# + (#{source-annotation 357}# (car #{e 1943}#)) + (if (#{syntax-object? 342}# #{value 1942}#) + (#{syntax-object-expression 344}# #{value 1942}#) + #{value 1942}#) + (if (#{syntax-object? 342}# #{value 1942}#) + (#{syntax-object-module 348}# #{value 1942}#) + #{mod 1947}#)) + #{e 1943}# + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + (if (eqv? #{type 1941}# 'constant) + (#{build-data 328}# + #{s 1946}# + (#{strip 482}# + (#{source-wrap 444}# + #{e 1943}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + '(()))) + (if (eqv? #{type 1941}# 'global) + (#{build-global-reference 314}# + #{s 1946}# + #{value 1942}# + #{mod 1947}#) + (if (eqv? #{type 1941}# 'call) + (#{chi-application 460}# + (#{chi 456}# + (car #{e 1943}#) + #{r 1944}# + #{w 1945}# + #{mod 1947}#) + #{e 1943}# + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + (if (eqv? #{type 1941}# 'begin-form) + (let ((#{tmp 1977}# #{e 1943}#)) + (let ((#{tmp 1978}# + ($sc-dispatch + #{tmp 1977}# + '(_ any . each-any)))) + (if #{tmp 1978}# + (@apply + (lambda (#{e1 1981}# #{e2 1982}#) + (#{chi-sequence 446}# + (cons #{e1 1981}# #{e2 1982}#) + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#)) + #{tmp 1978}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1977}#)))) + (if (eqv? #{type 1941}# 'local-syntax-form) + (#{chi-local-syntax 466}# + #{value 1942}# + #{e 1943}# + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}# + #{chi-sequence 446}#) + (if (eqv? #{type 1941}# 'eval-when-form) + (let ((#{tmp 1986}# #{e 1943}#)) + (let ((#{tmp 1987}# + ($sc-dispatch + #{tmp 1986}# + '(_ each-any any . each-any)))) + (if #{tmp 1987}# + (@apply + (lambda (#{x 1991}# + #{e1 1992}# + #{e2 1993}#) (begin - (if (eq? #{m\ 1744}# 'c&e) - (#{top-level-eval-hook\ 290}# - #{x\ 1868}# - #{mod\ 1772}#)) - #{x\ 1868}#)))) - (if (eqv? #{type\ 1856}# - 'displaced-lexical) + (let ((#{when-list 1995}# + (#{chi-when-list 452}# + #{e 1943}# + #{x 1991}# + #{w 1945}#))) + (if (memq 'eval + #{when-list 1995}#) + (#{chi-sequence 446}# + (cons #{e1 1992}# + #{e2 1993}#) + #{r 1944}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#) + (#{chi-void 470}#))))) + #{tmp 1987}#) (syntax-violation #f - "identifier out of context" - #{e\ 1769}# - (#{wrap\ 445}# - #{value\ 1768}# - #{w\ 1770}# - #{mod\ 1772}#)) - (syntax-violation - #f - "cannot define keyword at top level" - #{e\ 1769}# - (#{wrap\ 445}# - #{value\ 1768}# - #{w\ 1770}# - #{mod\ 1772}#)))))))) - (begin - (let ((#{x\ 1874}# - (#{chi-expr\ 463}# - #{type\ 1767}# - #{value\ 1768}# - #{e\ 1769}# - #{r\ 1742}# - #{w\ 1770}# - #{s\ 1771}# - #{mod\ 1772}#))) - (begin - (if (eq? #{m\ 1744}# 'c&e) - (#{top-level-eval-hook\ 290}# - #{x\ 1874}# - #{mod\ 1772}#)) - #{x\ 1874}#)))))))))))) - (#{chi\ 461}# - (lambda (#{e\ 1875}# - #{r\ 1876}# - #{w\ 1877}# - #{mod\ 1878}#) - (call-with-values - (lambda () - (#{syntax-type\ 457}# - #{e\ 1875}# - #{r\ 1876}# - #{w\ 1877}# - (#{source-annotation\ 360}# #{e\ 1875}#) - #f - #{mod\ 1878}# - #f)) - (lambda (#{type\ 1883}# - #{value\ 1884}# - #{e\ 1885}# - #{w\ 1886}# - #{s\ 1887}# - #{mod\ 1888}#) - (#{chi-expr\ 463}# - #{type\ 1883}# - #{value\ 1884}# - #{e\ 1885}# - #{r\ 1876}# - #{w\ 1886}# - #{s\ 1887}# - #{mod\ 1888}#))))) - (#{chi-expr\ 463}# - (lambda (#{type\ 1895}# - #{value\ 1896}# - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - (if (eqv? #{type\ 1895}# 'lexical) - (#{build-lexical-reference\ 311}# - 'value - #{s\ 1900}# - #{e\ 1897}# - #{value\ 1896}#) - (if (if (eqv? #{type\ 1895}# 'core) - #t - (eqv? #{type\ 1895}# 'core-form)) - (#{value\ 1896}# - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - (if (eqv? #{type\ 1895}# 'module-ref) - (call-with-values - (lambda () - (#{value\ 1896}# - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}#)) - (lambda (#{e\ 1912}# - #{r\ 1913}# - #{w\ 1914}# - #{s\ 1915}# - #{mod\ 1916}#) - (#{chi\ 461}# - #{e\ 1912}# - #{r\ 1913}# - #{w\ 1914}# - #{mod\ 1916}#))) - (if (eqv? #{type\ 1895}# 'lexical-call) - (#{chi-application\ 465}# - (begin - (let ((#{id\ 1924}# (car #{e\ 1897}#))) - (#{build-lexical-reference\ 311}# - 'fun - (#{source-annotation\ 360}# #{id\ 1924}#) - (if (#{syntax-object?\ 345}# #{id\ 1924}#) - (syntax->datum #{id\ 1924}#) - #{id\ 1924}#) - #{value\ 1896}#))) - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - (if (eqv? #{type\ 1895}# 'global-call) - (#{chi-application\ 465}# - (#{build-global-reference\ 317}# - (#{source-annotation\ 360}# (car #{e\ 1897}#)) - (if (#{syntax-object?\ 345}# #{value\ 1896}#) - (#{syntax-object-expression\ 347}# - #{value\ 1896}#) - #{value\ 1896}#) - (if (#{syntax-object?\ 345}# #{value\ 1896}#) - (#{syntax-object-module\ 351}# #{value\ 1896}#) - #{mod\ 1901}#)) - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - (if (eqv? #{type\ 1895}# 'constant) - (#{build-data\ 331}# - #{s\ 1900}# - (#{strip\ 487}# - (#{source-wrap\ 447}# - #{e\ 1897}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - '(()))) - (if (eqv? #{type\ 1895}# 'global) - (#{build-global-reference\ 317}# - #{s\ 1900}# - #{value\ 1896}# - #{mod\ 1901}#) - (if (eqv? #{type\ 1895}# 'call) - (#{chi-application\ 465}# - (#{chi\ 461}# - (car #{e\ 1897}#) - #{r\ 1898}# - #{w\ 1899}# - #{mod\ 1901}#) - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - (if (eqv? #{type\ 1895}# 'begin-form) - (let ((#{tmp\ 1931}# #{e\ 1897}#)) - (let ((#{tmp\ 1932}# - ($sc-dispatch - #{tmp\ 1931}# - '(_ any . each-any)))) - (if #{tmp\ 1932}# - (@apply - (lambda (#{e1\ 1935}# #{e2\ 1936}#) - (#{chi-sequence\ 449}# - (cons #{e1\ 1935}# #{e2\ 1936}#) - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#)) - #{tmp\ 1932}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1931}#)))) - (if (eqv? #{type\ 1895}# 'local-syntax-form) - (#{chi-local-syntax\ 471}# - #{value\ 1896}# - #{e\ 1897}# - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}# - #{chi-sequence\ 449}#) - (if (eqv? #{type\ 1895}# 'eval-when-form) - (let ((#{tmp\ 1940}# #{e\ 1897}#)) - (let ((#{tmp\ 1941}# - ($sc-dispatch - #{tmp\ 1940}# - '(_ each-any any . each-any)))) - (if #{tmp\ 1941}# - (@apply - (lambda (#{x\ 1945}# - #{e1\ 1946}# - #{e2\ 1947}#) - (begin - (let ((#{when-list\ 1949}# - (#{chi-when-list\ 455}# - #{e\ 1897}# - #{x\ 1945}# - #{w\ 1899}#))) - (if (memq 'eval - #{when-list\ 1949}#) - (#{chi-sequence\ 449}# - (cons #{e1\ 1946}# - #{e2\ 1947}#) - #{r\ 1898}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#) - (#{chi-void\ 475}#))))) - #{tmp\ 1941}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1940}#)))) - (if (if (eqv? #{type\ 1895}# 'define-form) - #t - (eqv? #{type\ 1895}# - 'define-syntax-form)) + "source expression failed to match any pattern" + #{tmp 1986}#)))) + (if (if (eqv? #{type 1941}# 'define-form) + #t + (eqv? #{type 1941}# + 'define-syntax-form)) + (syntax-violation + #f + "definition in expression context" + #{e 1943}# + (#{wrap 442}# + #{value 1942}# + #{w 1945}# + #{mod 1947}#)) + (if (eqv? #{type 1941}# 'syntax) (syntax-violation #f - "definition in expression context" - #{e\ 1897}# - (#{wrap\ 445}# - #{value\ 1896}# - #{w\ 1899}# - #{mod\ 1901}#)) - (if (eqv? #{type\ 1895}# 'syntax) + "reference to pattern variable outside syntax form" + (#{source-wrap 444}# + #{e 1943}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#)) + (if (eqv? #{type 1941}# + 'displaced-lexical) (syntax-violation #f - "reference to pattern variable outside syntax form" - (#{source-wrap\ 447}# - #{e\ 1897}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#)) - (if (eqv? #{type\ 1895}# - 'displaced-lexical) - (syntax-violation - #f - "reference to identifier outside its scope" - (#{source-wrap\ 447}# - #{e\ 1897}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#)) - (syntax-violation - #f - "unexpected syntax" - (#{source-wrap\ 447}# - #{e\ 1897}# - #{w\ 1899}# - #{s\ 1900}# - #{mod\ 1901}#)))))))))))))))))) - (#{chi-application\ 465}# - (lambda (#{x\ 1956}# - #{e\ 1957}# - #{r\ 1958}# - #{w\ 1959}# - #{s\ 1960}# - #{mod\ 1961}#) - (let ((#{tmp\ 1968}# #{e\ 1957}#)) - (let ((#{tmp\ 1969}# - ($sc-dispatch #{tmp\ 1968}# '(any . each-any)))) - (if #{tmp\ 1969}# - (@apply - (lambda (#{e0\ 1972}# #{e1\ 1973}#) - (#{build-application\ 305}# - #{s\ 1960}# - #{x\ 1956}# - (map (lambda (#{e\ 1974}#) - (#{chi\ 461}# - #{e\ 1974}# - #{r\ 1958}# - #{w\ 1959}# - #{mod\ 1961}#)) - #{e1\ 1973}#))) - #{tmp\ 1969}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1968}#)))))) - (#{chi-macro\ 467}# - (lambda (#{p\ 1977}# - #{e\ 1978}# - #{r\ 1979}# - #{w\ 1980}# - #{s\ 1981}# - #{rib\ 1982}# - #{mod\ 1983}#) - (letrec* - ((#{rebuild-macro-output\ 1992}# - (lambda (#{x\ 1993}# #{m\ 1994}#) - (if (pair? #{x\ 1993}#) - (#{decorate-source\ 299}# - (cons (#{rebuild-macro-output\ 1992}# - (car #{x\ 1993}#) - #{m\ 1994}#) - (#{rebuild-macro-output\ 1992}# - (cdr #{x\ 1993}#) - #{m\ 1994}#)) - #{s\ 1981}#) - (if (#{syntax-object?\ 345}# #{x\ 1993}#) + "reference to identifier outside its scope" + (#{source-wrap 444}# + #{e 1943}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#)) + (syntax-violation + #f + "unexpected syntax" + (#{source-wrap 444}# + #{e 1943}# + #{w 1945}# + #{s 1946}# + #{mod 1947}#)))))))))))))))))) + (#{chi-application 460}# + (lambda (#{x 2002}# + #{e 2003}# + #{r 2004}# + #{w 2005}# + #{s 2006}# + #{mod 2007}#) + (let ((#{tmp 2014}# #{e 2003}#)) + (let ((#{tmp 2015}# + ($sc-dispatch #{tmp 2014}# '(any . each-any)))) + (if #{tmp 2015}# + (@apply + (lambda (#{e0 2018}# #{e1 2019}#) + (#{build-application 302}# + #{s 2006}# + #{x 2002}# + (map (lambda (#{e 2020}#) + (#{chi 456}# + #{e 2020}# + #{r 2004}# + #{w 2005}# + #{mod 2007}#)) + #{e1 2019}#))) + #{tmp 2015}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2014}#)))))) + (#{chi-macro 462}# + (lambda (#{p 2023}# + #{e 2024}# + #{r 2025}# + #{w 2026}# + #{s 2027}# + #{rib 2028}# + #{mod 2029}#) + (letrec* + ((#{rebuild-macro-output 2038}# + (lambda (#{x 2039}# #{m 2040}#) + (if (pair? #{x 2039}#) + (#{decorate-source 296}# + (cons (#{rebuild-macro-output 2038}# + (car #{x 2039}#) + #{m 2040}#) + (#{rebuild-macro-output 2038}# + (cdr #{x 2039}#) + #{m 2040}#)) + #{s 2027}#) + (if (#{syntax-object? 342}# #{x 2039}#) + (begin + (let ((#{w 2048}# + (#{syntax-object-wrap 346}# #{x 2039}#))) + (begin + (let ((#{ms 2051}# (car #{w 2048}#)) + (#{s 2052}# (cdr #{w 2048}#))) + (if (if (pair? #{ms 2051}#) + (eq? (car #{ms 2051}#) #f) + #f) + (#{make-syntax-object 340}# + (#{syntax-object-expression 344}# #{x 2039}#) + (cons (cdr #{ms 2051}#) + (if #{rib 2028}# + (cons #{rib 2028}# (cdr #{s 2052}#)) + (cdr #{s 2052}#))) + (#{syntax-object-module 348}# #{x 2039}#)) + (#{make-syntax-object 340}# + (#{decorate-source 296}# + (#{syntax-object-expression 344}# + #{x 2039}#) + #{s 2052}#) + (cons (cons #{m 2040}# #{ms 2051}#) + (if #{rib 2028}# + (cons #{rib 2028}# + (cons 'shift #{s 2052}#)) + (cons 'shift #{s 2052}#))) + (#{syntax-object-module 348}# + #{x 2039}#))))))) + (if (vector? #{x 2039}#) (begin - (let ((#{w\ 2002}# - (#{syntax-object-wrap\ 349}# #{x\ 1993}#))) + (let ((#{n 2064}# (vector-length #{x 2039}#))) (begin - (let ((#{ms\ 2005}# (car #{w\ 2002}#)) - (#{s\ 2006}# (cdr #{w\ 2002}#))) - (if (if (pair? #{ms\ 2005}#) - (eq? (car #{ms\ 2005}#) #f) - #f) - (#{make-syntax-object\ 343}# - (#{syntax-object-expression\ 347}# - #{x\ 1993}#) - (cons (cdr #{ms\ 2005}#) - (if #{rib\ 1982}# - (cons #{rib\ 1982}# - (cdr #{s\ 2006}#)) - (cdr #{s\ 2006}#))) - (#{syntax-object-module\ 351}# - #{x\ 1993}#)) - (#{make-syntax-object\ 343}# - (#{decorate-source\ 299}# - (#{syntax-object-expression\ 347}# - #{x\ 1993}#) - #{s\ 2006}#) - (cons (cons #{m\ 1994}# #{ms\ 2005}#) - (if #{rib\ 1982}# - (cons #{rib\ 1982}# - (cons 'shift #{s\ 2006}#)) - (cons 'shift #{s\ 2006}#))) - (#{syntax-object-module\ 351}# - #{x\ 1993}#))))))) - (if (vector? #{x\ 1993}#) - (begin - (let ((#{n\ 2018}# (vector-length #{x\ 1993}#))) - (begin - (let ((#{v\ 2020}# - (#{decorate-source\ 299}# - (make-vector #{n\ 2018}#) - #{x\ 1993}#))) - (letrec* - ((#{loop\ 2023}# - (lambda (#{i\ 2024}#) - (if (#{fx=\ 286}# - #{i\ 2024}# - #{n\ 2018}#) - (begin (if #f #f) #{v\ 2020}#) - (begin - (vector-set! - #{v\ 2020}# - #{i\ 2024}# - (#{rebuild-macro-output\ 1992}# - (vector-ref - #{x\ 1993}# - #{i\ 2024}#) - #{m\ 1994}#)) - (#{loop\ 2023}# - (#{fx+\ 282}# - #{i\ 2024}# - 1))))))) - (begin (#{loop\ 2023}# 0))))))) - (if (symbol? #{x\ 1993}#) - (syntax-violation - #f - "encountered raw symbol in macro output" - (#{source-wrap\ 447}# - #{e\ 1978}# - #{w\ 1980}# - (cdr #{w\ 1980}#) - #{mod\ 1983}#) - #{x\ 1993}#) - (#{decorate-source\ 299}# - #{x\ 1993}# - #{s\ 1981}#)))))))) - (begin - (#{rebuild-macro-output\ 1992}# - (#{p\ 1977}# - (#{source-wrap\ 447}# - #{e\ 1978}# - (#{anti-mark\ 417}# #{w\ 1980}#) - #{s\ 1981}# - #{mod\ 1983}#)) - (gensym "m")))))) - (#{chi-body\ 469}# - (lambda (#{body\ 2032}# - #{outer-form\ 2033}# - #{r\ 2034}# - #{w\ 2035}# - #{mod\ 2036}#) + (let ((#{v 2066}# + (#{decorate-source 296}# + (make-vector #{n 2064}#) + #{x 2039}#))) + (letrec* + ((#{loop 2069}# + (lambda (#{i 2070}#) + (if (= #{i 2070}# #{n 2064}#) + (begin (if #f #f) #{v 2066}#) + (begin + (vector-set! + #{v 2066}# + #{i 2070}# + (#{rebuild-macro-output 2038}# + (vector-ref + #{x 2039}# + #{i 2070}#) + #{m 2040}#)) + (#{loop 2069}# + (#{1+}# #{i 2070}#))))))) + (begin (#{loop 2069}# 0))))))) + (if (symbol? #{x 2039}#) + (syntax-violation + #f + "encountered raw symbol in macro output" + (#{source-wrap 444}# + #{e 2024}# + #{w 2026}# + (cdr #{w 2026}#) + #{mod 2029}#) + #{x 2039}#) + (#{decorate-source 296}# + #{x 2039}# + #{s 2027}#)))))))) (begin - (let ((#{r\ 2044}# - (cons '("placeholder" placeholder) #{r\ 2034}#))) - (begin - (let ((#{ribcage\ 2046}# - (#{make-ribcage\ 397}# '() '() '()))) - (begin - (let ((#{w\ 2049}# - (cons (car #{w\ 2035}#) - (cons #{ribcage\ 2046}# - (cdr #{w\ 2035}#))))) - (letrec* - ((#{parse\ 2061}# - (lambda (#{body\ 2062}# - #{ids\ 2063}# - #{labels\ 2064}# - #{var-ids\ 2065}# - #{vars\ 2066}# - #{vals\ 2067}# - #{bindings\ 2068}#) - (if (null? #{body\ 2062}#) - (syntax-violation - #f - "no expressions in body" - #{outer-form\ 2033}#) - (begin - (let ((#{e\ 2073}# - (cdr (car #{body\ 2062}#))) - (#{er\ 2074}# - (car (car #{body\ 2062}#)))) - (call-with-values - (lambda () - (#{syntax-type\ 457}# - #{e\ 2073}# - #{er\ 2074}# - '(()) - (#{source-annotation\ 360}# - #{er\ 2074}#) - #{ribcage\ 2046}# - #{mod\ 2036}# - #f)) - (lambda (#{type\ 2076}# - #{value\ 2077}# - #{e\ 2078}# - #{w\ 2079}# - #{s\ 2080}# - #{mod\ 2081}#) - (if (eqv? #{type\ 2076}# - 'define-form) + (#{rebuild-macro-output 2038}# + (#{p 2023}# + (#{source-wrap 444}# + #{e 2024}# + (#{anti-mark 414}# #{w 2026}#) + #{s 2027}# + #{mod 2029}#)) + (gensym "m")))))) + (#{chi-body 464}# + (lambda (#{body 2080}# + #{outer-form 2081}# + #{r 2082}# + #{w 2083}# + #{mod 2084}#) + (begin + (let ((#{r 2092}# + (cons '("placeholder" placeholder) #{r 2082}#))) + (begin + (let ((#{ribcage 2094}# + (#{make-ribcage 394}# '() '() '()))) + (begin + (let ((#{w 2097}# + (cons (car #{w 2083}#) + (cons #{ribcage 2094}# (cdr #{w 2083}#))))) + (letrec* + ((#{parse 2109}# + (lambda (#{body 2110}# + #{ids 2111}# + #{labels 2112}# + #{var-ids 2113}# + #{vars 2114}# + #{vals 2115}# + #{bindings 2116}#) + (if (null? #{body 2110}#) + (syntax-violation + #f + "no expressions in body" + #{outer-form 2081}#) + (begin + (let ((#{e 2121}# (cdr (car #{body 2110}#))) + (#{er 2122}# + (car (car #{body 2110}#)))) + (call-with-values + (lambda () + (#{syntax-type 454}# + #{e 2121}# + #{er 2122}# + '(()) + (#{source-annotation 357}# + #{er 2122}#) + #{ribcage 2094}# + #{mod 2084}# + #f)) + (lambda (#{type 2124}# + #{value 2125}# + #{e 2126}# + #{w 2127}# + #{s 2128}# + #{mod 2129}#) + (if (eqv? #{type 2124}# 'define-form) + (begin + (let ((#{id 2139}# + (#{wrap 442}# + #{value 2125}# + #{w 2127}# + #{mod 2129}#)) + (#{label 2140}# + (#{gen-label 389}#))) + (begin + (let ((#{var 2142}# + (#{gen-var 484}# + #{id 2139}#))) + (begin + (#{extend-ribcage! 418}# + #{ribcage 2094}# + #{id 2139}# + #{label 2140}#) + (#{parse 2109}# + (cdr #{body 2110}#) + (cons #{id 2139}# + #{ids 2111}#) + (cons #{label 2140}# + #{labels 2112}#) + (cons #{id 2139}# + #{var-ids 2113}#) + (cons #{var 2142}# + #{vars 2114}#) + (cons (cons #{er 2122}# + (#{wrap 442}# + #{e 2126}# + #{w 2127}# + #{mod 2129}#)) + #{vals 2115}#) + (cons (cons 'lexical + #{var 2142}#) + #{bindings 2116}#))))))) + (if (eqv? #{type 2124}# + 'define-syntax-form) (begin - (let ((#{id\ 2091}# - (#{wrap\ 445}# - #{value\ 2077}# - #{w\ 2079}# - #{mod\ 2081}#)) - (#{label\ 2092}# - (#{gen-label\ 392}#))) + (let ((#{id 2147}# + (#{wrap 442}# + #{value 2125}# + #{w 2127}# + #{mod 2129}#)) + (#{label 2148}# + (#{gen-label 389}#))) (begin - (let ((#{var\ 2094}# - (#{gen-var\ 489}# - #{id\ 2091}#))) - (begin - (#{extend-ribcage!\ 421}# - #{ribcage\ 2046}# - #{id\ 2091}# - #{label\ 2092}#) - (#{parse\ 2061}# - (cdr #{body\ 2062}#) - (cons #{id\ 2091}# - #{ids\ 2063}#) - (cons #{label\ 2092}# - #{labels\ 2064}#) - (cons #{id\ 2091}# - #{var-ids\ 2065}#) - (cons #{var\ 2094}# - #{vars\ 2066}#) - (cons (cons #{er\ 2074}# - (#{wrap\ 445}# - #{e\ 2078}# - #{w\ 2079}# - #{mod\ 2081}#)) - #{vals\ 2067}#) - (cons (cons 'lexical - #{var\ 2094}#) - #{bindings\ 2068}#))))))) - (if (eqv? #{type\ 2076}# - 'define-syntax-form) - (begin - (let ((#{id\ 2099}# - (#{wrap\ 445}# - #{value\ 2077}# - #{w\ 2079}# - #{mod\ 2081}#)) - (#{label\ 2100}# - (#{gen-label\ 392}#))) + (#{extend-ribcage! 418}# + #{ribcage 2094}# + #{id 2147}# + #{label 2148}#) + (#{parse 2109}# + (cdr #{body 2110}#) + (cons #{id 2147}# + #{ids 2111}#) + (cons #{label 2148}# + #{labels 2112}#) + #{var-ids 2113}# + #{vars 2114}# + #{vals 2115}# + (cons (cons 'macro + (cons #{er 2122}# + (#{wrap 442}# + #{e 2126}# + #{w 2127}# + #{mod 2129}#))) + #{bindings 2116}#))))) + (if (eqv? #{type 2124}# + 'begin-form) + (let ((#{tmp 2151}# #{e 2126}#)) + (let ((#{tmp 2152}# + ($sc-dispatch + #{tmp 2151}# + '(_ . each-any)))) + (if #{tmp 2152}# + (@apply + (lambda (#{e1 2154}#) + (#{parse 2109}# + (letrec* + ((#{f 2157}# + (lambda (#{forms 2158}#) + (if (null? #{forms 2158}#) + (cdr #{body 2110}#) + (cons (cons #{er 2122}# + (#{wrap 442}# + (car #{forms 2158}#) + #{w 2127}# + #{mod 2129}#)) + (#{f 2157}# + (cdr #{forms 2158}#))))))) + (begin + (#{f 2157}# + #{e1 2154}#))) + #{ids 2111}# + #{labels 2112}# + #{var-ids 2113}# + #{vars 2114}# + #{vals 2115}# + #{bindings 2116}#)) + #{tmp 2152}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2151}#)))) + (if (eqv? #{type 2124}# + 'local-syntax-form) + (#{chi-local-syntax 466}# + #{value 2125}# + #{e 2126}# + #{er 2122}# + #{w 2127}# + #{s 2128}# + #{mod 2129}# + (lambda (#{forms 2161}# + #{er 2162}# + #{w 2163}# + #{s 2164}# + #{mod 2165}#) + (#{parse 2109}# + (letrec* + ((#{f 2173}# + (lambda (#{forms 2174}#) + (if (null? #{forms 2174}#) + (cdr #{body 2110}#) + (cons (cons #{er 2162}# + (#{wrap 442}# + (car #{forms 2174}#) + #{w 2163}# + #{mod 2165}#)) + (#{f 2173}# + (cdr #{forms 2174}#))))))) + (begin + (#{f 2173}# + #{forms 2161}#))) + #{ids 2111}# + #{labels 2112}# + #{var-ids 2113}# + #{vars 2114}# + #{vals 2115}# + #{bindings 2116}#))) + (if (null? #{ids 2111}#) + (#{build-sequence 330}# + #f + (map (lambda (#{x 2177}#) + (#{chi 456}# + (cdr #{x 2177}#) + (car #{x 2177}#) + '(()) + #{mod 2129}#)) + (cons (cons #{er 2122}# + (#{source-wrap 444}# + #{e 2126}# + #{w 2127}# + #{s 2128}# + #{mod 2129}#)) + (cdr #{body 2110}#)))) (begin - (#{extend-ribcage!\ 421}# - #{ribcage\ 2046}# - #{id\ 2099}# - #{label\ 2100}#) - (#{parse\ 2061}# - (cdr #{body\ 2062}#) - (cons #{id\ 2099}# - #{ids\ 2063}#) - (cons #{label\ 2100}# - #{labels\ 2064}#) - #{var-ids\ 2065}# - #{vars\ 2066}# - #{vals\ 2067}# - (cons (cons 'macro - (cons #{er\ 2074}# - (#{wrap\ 445}# - #{e\ 2078}# - #{w\ 2079}# - #{mod\ 2081}#))) - #{bindings\ 2068}#))))) - (if (eqv? #{type\ 2076}# - 'begin-form) - (let ((#{tmp\ 2103}# - #{e\ 2078}#)) - (let ((#{tmp\ 2104}# - ($sc-dispatch - #{tmp\ 2103}# - '(_ . each-any)))) - (if #{tmp\ 2104}# - (@apply - (lambda (#{e1\ 2106}#) - (#{parse\ 2061}# - (letrec* - ((#{f\ 2109}# - (lambda (#{forms\ 2110}#) - (if (null? #{forms\ 2110}#) - (cdr #{body\ 2062}#) - (cons (cons #{er\ 2074}# - (#{wrap\ 445}# - (car #{forms\ 2110}#) - #{w\ 2079}# - #{mod\ 2081}#)) - (#{f\ 2109}# - (cdr #{forms\ 2110}#))))))) - (begin - (#{f\ 2109}# - #{e1\ 2106}#))) - #{ids\ 2063}# - #{labels\ 2064}# - #{var-ids\ 2065}# - #{vars\ 2066}# - #{vals\ 2067}# - #{bindings\ 2068}#)) - #{tmp\ 2104}#) + (if (not (#{valid-bound-ids? 436}# + #{ids 2111}#)) (syntax-violation #f - "source expression failed to match any pattern" - #{tmp\ 2103}#)))) - (if (eqv? #{type\ 2076}# - 'local-syntax-form) - (#{chi-local-syntax\ 471}# - #{value\ 2077}# - #{e\ 2078}# - #{er\ 2074}# - #{w\ 2079}# - #{s\ 2080}# - #{mod\ 2081}# - (lambda (#{forms\ 2113}# - #{er\ 2114}# - #{w\ 2115}# - #{s\ 2116}# - #{mod\ 2117}#) - (#{parse\ 2061}# - (letrec* - ((#{f\ 2125}# - (lambda (#{forms\ 2126}#) - (if (null? #{forms\ 2126}#) - (cdr #{body\ 2062}#) - (cons (cons #{er\ 2114}# - (#{wrap\ 445}# - (car #{forms\ 2126}#) - #{w\ 2115}# - #{mod\ 2117}#)) - (#{f\ 2125}# - (cdr #{forms\ 2126}#))))))) - (begin - (#{f\ 2125}# - #{forms\ 2113}#))) - #{ids\ 2063}# - #{labels\ 2064}# - #{var-ids\ 2065}# - #{vars\ 2066}# - #{vals\ 2067}# - #{bindings\ 2068}#))) - (if (null? #{ids\ 2063}#) - (#{build-sequence\ 333}# + "invalid or duplicate identifier in definition" + #{outer-form 2081}#)) + (letrec* + ((#{loop 2184}# + (lambda (#{bs 2185}# + #{er-cache 2186}# + #{r-cache 2187}#) + (if (not (null? #{bs 2185}#)) + (begin + (let ((#{b 2190}# + (car #{bs 2185}#))) + (if (eq? (car #{b 2190}#) + 'macro) + (begin + (let ((#{er 2193}# + (car (cdr #{b 2190}#)))) + (begin + (let ((#{r-cache 2195}# + (if (eq? #{er 2193}# + #{er-cache 2186}#) + #{r-cache 2187}# + (#{macros-only-env 368}# + #{er 2193}#)))) + (begin + (set-cdr! + #{b 2190}# + (#{eval-local-transformer 468}# + (#{chi 456}# + (cdr (cdr #{b 2190}#)) + #{r-cache 2195}# + '(()) + #{mod 2129}#) + #{mod 2129}#)) + (#{loop 2184}# + (cdr #{bs 2185}#) + #{er 2193}# + #{r-cache 2195}#)))))) + (#{loop 2184}# + (cdr #{bs 2185}#) + #{er-cache 2186}# + #{r-cache 2187}#)))))))) + (begin + (#{loop 2184}# + #{bindings 2116}# + #f + #f))) + (set-cdr! + #{r 2092}# + (#{extend-env 364}# + #{labels 2112}# + #{bindings 2116}# + (cdr #{r 2092}#))) + (#{build-letrec 336}# #f - (map (lambda (#{x\ 2129}#) - (#{chi\ 461}# - (cdr #{x\ 2129}#) - (car #{x\ 2129}#) + #t + (reverse + (map syntax->datum + #{var-ids 2113}#)) + (reverse #{vars 2114}#) + (map (lambda (#{x 2198}#) + (#{chi 456}# + (cdr #{x 2198}#) + (car #{x 2198}#) '(()) - #{mod\ 2081}#)) - (cons (cons #{er\ 2074}# - (#{source-wrap\ 447}# - #{e\ 2078}# - #{w\ 2079}# - #{s\ 2080}# - #{mod\ 2081}#)) - (cdr #{body\ 2062}#)))) - (begin - (if (not (#{valid-bound-ids?\ 439}# - #{ids\ 2063}#)) - (syntax-violation - #f - "invalid or duplicate identifier in definition" - #{outer-form\ 2033}#)) - (letrec* - ((#{loop\ 2136}# - (lambda (#{bs\ 2137}# - #{er-cache\ 2138}# - #{r-cache\ 2139}#) - (if (not (null? #{bs\ 2137}#)) - (begin - (let ((#{b\ 2142}# - (car #{bs\ 2137}#))) - (if (eq? (car #{b\ 2142}#) - 'macro) - (begin - (let ((#{er\ 2145}# - (car (cdr #{b\ 2142}#)))) - (begin - (let ((#{r-cache\ 2147}# - (if (eq? #{er\ 2145}# - #{er-cache\ 2138}#) - #{r-cache\ 2139}# - (#{macros-only-env\ 371}# - #{er\ 2145}#)))) - (begin - (set-cdr! - #{b\ 2142}# - (#{eval-local-transformer\ 473}# - (#{chi\ 461}# - (cdr (cdr #{b\ 2142}#)) - #{r-cache\ 2147}# - '(()) - #{mod\ 2081}#) - #{mod\ 2081}#)) - (#{loop\ 2136}# - (cdr #{bs\ 2137}#) - #{er\ 2145}# - #{r-cache\ 2147}#)))))) - (#{loop\ 2136}# - (cdr #{bs\ 2137}#) - #{er-cache\ 2138}# - #{r-cache\ 2139}#)))))))) - (begin - (#{loop\ 2136}# - #{bindings\ 2068}# - #f - #f))) - (set-cdr! - #{r\ 2044}# - (#{extend-env\ 367}# - #{labels\ 2064}# - #{bindings\ 2068}# - (cdr #{r\ 2044}#))) - (#{build-letrec\ 339}# + #{mod 2129}#)) + (reverse + #{vals 2115}#)) + (#{build-sequence 330}# #f - #t - (reverse - (map syntax->datum - #{var-ids\ 2065}#)) - (reverse - #{vars\ 2066}#) - (map (lambda (#{x\ 2150}#) - (#{chi\ 461}# - (cdr #{x\ 2150}#) - (car #{x\ 2150}#) + (map (lambda (#{x 2202}#) + (#{chi 456}# + (cdr #{x 2202}#) + (car #{x 2202}#) '(()) - #{mod\ 2081}#)) - (reverse - #{vals\ 2067}#)) - (#{build-sequence\ 333}# - #f - (map (lambda (#{x\ 2154}#) - (#{chi\ 461}# - (cdr #{x\ 2154}#) - (car #{x\ 2154}#) - '(()) - #{mod\ 2081}#)) - (cons (cons #{er\ 2074}# - (#{source-wrap\ 447}# - #{e\ 2078}# - #{w\ 2079}# - #{s\ 2080}# - #{mod\ 2081}#)) - (cdr #{body\ 2062}#))))))))))))))))))) + #{mod 2129}#)) + (cons (cons #{er 2122}# + (#{source-wrap 444}# + #{e 2126}# + #{w 2127}# + #{s 2128}# + #{mod 2129}#)) + (cdr #{body 2110}#))))))))))))))))))) + (begin + (#{parse 2109}# + (map (lambda (#{x 2117}#) + (cons #{r 2092}# + (#{wrap 442}# + #{x 2117}# + #{w 2097}# + #{mod 2084}#))) + #{body 2080}#) + '() + '() + '() + '() + '() + '()))))))))))) + (#{chi-local-syntax 466}# + (lambda (#{rec? 2205}# + #{e 2206}# + #{r 2207}# + #{w 2208}# + #{s 2209}# + #{mod 2210}# + #{k 2211}#) + (let ((#{tmp 2219}# #{e 2206}#)) + (let ((#{tmp 2220}# + ($sc-dispatch + #{tmp 2219}# + '(_ #(each (any any)) any . each-any)))) + (if #{tmp 2220}# + (@apply + (lambda (#{id 2225}# + #{val 2226}# + #{e1 2227}# + #{e2 2228}#) + (begin + (let ((#{ids 2230}# #{id 2225}#)) + (if (not (#{valid-bound-ids? 436}# #{ids 2230}#)) + (syntax-violation + #f + "duplicate bound keyword" + #{e 2206}#) (begin - (#{parse\ 2061}# - (map (lambda (#{x\ 2069}#) - (cons #{r\ 2044}# - (#{wrap\ 445}# - #{x\ 2069}# - #{w\ 2049}# - #{mod\ 2036}#))) - #{body\ 2032}#) - '() - '() - '() - '() - '() - '()))))))))))) - (#{chi-local-syntax\ 471}# - (lambda (#{rec?\ 2157}# - #{e\ 2158}# - #{r\ 2159}# - #{w\ 2160}# - #{s\ 2161}# - #{mod\ 2162}# - #{k\ 2163}#) - (let ((#{tmp\ 2171}# #{e\ 2158}#)) - (let ((#{tmp\ 2172}# - ($sc-dispatch - #{tmp\ 2171}# - '(_ #(each (any any)) any . each-any)))) - (if #{tmp\ 2172}# - (@apply - (lambda (#{id\ 2177}# - #{val\ 2178}# - #{e1\ 2179}# - #{e2\ 2180}#) - (begin - (let ((#{ids\ 2182}# #{id\ 2177}#)) - (if (not (#{valid-bound-ids?\ 439}# #{ids\ 2182}#)) - (syntax-violation - #f - "duplicate bound keyword" - #{e\ 2158}#) - (begin - (let ((#{labels\ 2185}# - (#{gen-labels\ 394}# #{ids\ 2182}#))) - (begin - (let ((#{new-w\ 2187}# - (#{make-binding-wrap\ 423}# - #{ids\ 2182}# - #{labels\ 2185}# - #{w\ 2160}#))) - (#{k\ 2163}# - (cons #{e1\ 2179}# #{e2\ 2180}#) - (#{extend-env\ 367}# - #{labels\ 2185}# - (begin - (let ((#{w\ 2191}# - (if #{rec?\ 2157}# - #{new-w\ 2187}# - #{w\ 2160}#)) - (#{trans-r\ 2192}# - (#{macros-only-env\ 371}# - #{r\ 2159}#))) - (map (lambda (#{x\ 2193}#) - (cons 'macro - (#{eval-local-transformer\ 473}# - (#{chi\ 461}# - #{x\ 2193}# - #{trans-r\ 2192}# - #{w\ 2191}# - #{mod\ 2162}#) - #{mod\ 2162}#))) - #{val\ 2178}#))) - #{r\ 2159}#) - #{new-w\ 2187}# - #{s\ 2161}# - #{mod\ 2162}#))))))))) - #{tmp\ 2172}#) - (let ((#{_\ 2198}# #{tmp\ 2171}#)) - (syntax-violation - #f - "bad local syntax definition" - (#{source-wrap\ 447}# - #{e\ 2158}# - #{w\ 2160}# - #{s\ 2161}# - #{mod\ 2162}#)))))))) - (#{eval-local-transformer\ 473}# - (lambda (#{expanded\ 2199}# #{mod\ 2200}#) - (begin - (let ((#{p\ 2204}# - (#{local-eval-hook\ 292}# - #{expanded\ 2199}# - #{mod\ 2200}#))) - (if (procedure? #{p\ 2204}#) - #{p\ 2204}# + (let ((#{labels 2233}# + (#{gen-labels 391}# #{ids 2230}#))) + (begin + (let ((#{new-w 2235}# + (#{make-binding-wrap 420}# + #{ids 2230}# + #{labels 2233}# + #{w 2208}#))) + (#{k 2211}# + (cons #{e1 2227}# #{e2 2228}#) + (#{extend-env 364}# + #{labels 2233}# + (begin + (let ((#{w 2239}# + (if #{rec? 2205}# + #{new-w 2235}# + #{w 2208}#)) + (#{trans-r 2240}# + (#{macros-only-env 368}# + #{r 2207}#))) + (map (lambda (#{x 2241}#) + (cons 'macro + (#{eval-local-transformer 468}# + (#{chi 456}# + #{x 2241}# + #{trans-r 2240}# + #{w 2239}# + #{mod 2210}#) + #{mod 2210}#))) + #{val 2226}#))) + #{r 2207}#) + #{new-w 2235}# + #{s 2209}# + #{mod 2210}#))))))))) + #{tmp 2220}#) + (let ((#{_ 2246}# #{tmp 2219}#)) (syntax-violation #f - "nonprocedure transformer" - #{p\ 2204}#)))))) - (#{chi-void\ 475}# - (lambda () (#{build-void\ 303}# #f))) - (#{ellipsis?\ 477}# - (lambda (#{x\ 2206}#) - (if (#{nonsymbol-id?\ 377}# #{x\ 2206}#) - (#{free-id=?\ 435}# - #{x\ 2206}# - '#(syntax-object - ... - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i2207")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) - (hygiene guile))) - #f))) - (#{lambda-formals\ 479}# - (lambda (#{orig-args\ 2210}#) - (letrec* - ((#{req\ 2213}# - (lambda (#{args\ 2216}# #{rreq\ 2217}#) - (let ((#{tmp\ 2220}# #{args\ 2216}#)) - (let ((#{tmp\ 2221}# ($sc-dispatch #{tmp\ 2220}# '()))) - (if #{tmp\ 2221}# - (@apply - (lambda () - (#{check\ 2215}# (reverse #{rreq\ 2217}#) #f)) - #{tmp\ 2221}#) - (let ((#{tmp\ 2222}# - ($sc-dispatch #{tmp\ 2220}# '(any . any)))) - (if (if #{tmp\ 2222}# - (@apply - (lambda (#{a\ 2225}# #{b\ 2226}#) - (#{id?\ 379}# #{a\ 2225}#)) - #{tmp\ 2222}#) - #f) - (@apply - (lambda (#{a\ 2229}# #{b\ 2230}#) - (#{req\ 2213}# - #{b\ 2230}# - (cons #{a\ 2229}# #{rreq\ 2217}#))) - #{tmp\ 2222}#) - (let ((#{tmp\ 2231}# (list #{tmp\ 2220}#))) - (if (if #{tmp\ 2231}# - (@apply - (lambda (#{r\ 2233}#) - (#{id?\ 379}# #{r\ 2233}#)) - #{tmp\ 2231}#) - #f) - (@apply - (lambda (#{r\ 2235}#) - (#{check\ 2215}# - (reverse #{rreq\ 2217}#) - #{r\ 2235}#)) - #{tmp\ 2231}#) - (let ((#{else\ 2237}# #{tmp\ 2220}#)) - (syntax-violation - 'lambda - "invalid argument list" - #{orig-args\ 2210}# - #{args\ 2216}#))))))))))) - (#{check\ 2215}# - (lambda (#{req\ 2238}# #{rest\ 2239}#) - (if (#{distinct-bound-ids?\ 441}# - (if #{rest\ 2239}# - (cons #{rest\ 2239}# #{req\ 2238}#) - #{req\ 2238}#)) - (values #{req\ 2238}# #f #{rest\ 2239}# #f) - (syntax-violation - 'lambda - "duplicate identifier in argument list" - #{orig-args\ 2210}#))))) - (begin (#{req\ 2213}# #{orig-args\ 2210}# '()))))) - (#{chi-simple-lambda\ 481}# - (lambda (#{e\ 2245}# - #{r\ 2246}# - #{w\ 2247}# - #{s\ 2248}# - #{mod\ 2249}# - #{req\ 2250}# - #{rest\ 2251}# - #{meta\ 2252}# - #{body\ 2253}#) - (begin - (let ((#{ids\ 2265}# - (if #{rest\ 2251}# - (append #{req\ 2250}# (list #{rest\ 2251}#)) - #{req\ 2250}#))) - (begin - (let ((#{vars\ 2267}# - (map #{gen-var\ 489}# #{ids\ 2265}#))) - (begin - (let ((#{labels\ 2269}# - (#{gen-labels\ 394}# #{ids\ 2265}#))) - (#{build-simple-lambda\ 323}# - #{s\ 2248}# - (map syntax->datum #{req\ 2250}#) - (if #{rest\ 2251}# - (syntax->datum #{rest\ 2251}#) - #f) - #{vars\ 2267}# - #{meta\ 2252}# - (#{chi-body\ 469}# - #{body\ 2253}# - (#{source-wrap\ 447}# - #{e\ 2245}# - #{w\ 2247}# - #{s\ 2248}# - #{mod\ 2249}#) - (#{extend-var-env\ 369}# - #{labels\ 2269}# - #{vars\ 2267}# - #{r\ 2246}#) - (#{make-binding-wrap\ 423}# - #{ids\ 2265}# - #{labels\ 2269}# - #{w\ 2247}#) - #{mod\ 2249}#)))))))))) - (#{lambda*-formals\ 483}# - (lambda (#{orig-args\ 2272}#) - (letrec* - ((#{req\ 2275}# - (lambda (#{args\ 2284}# #{rreq\ 2285}#) - (let ((#{tmp\ 2288}# #{args\ 2284}#)) - (let ((#{tmp\ 2289}# ($sc-dispatch #{tmp\ 2288}# '()))) - (if #{tmp\ 2289}# - (@apply - (lambda () - (#{check\ 2283}# - (reverse #{rreq\ 2285}#) - '() - #f - '())) - #{tmp\ 2289}#) - (let ((#{tmp\ 2290}# - ($sc-dispatch #{tmp\ 2288}# '(any . any)))) - (if (if #{tmp\ 2290}# - (@apply - (lambda (#{a\ 2293}# #{b\ 2294}#) - (#{id?\ 379}# #{a\ 2293}#)) - #{tmp\ 2290}#) - #f) - (@apply - (lambda (#{a\ 2297}# #{b\ 2298}#) - (#{req\ 2275}# - #{b\ 2298}# - (cons #{a\ 2297}# #{rreq\ 2285}#))) - #{tmp\ 2290}#) - (let ((#{tmp\ 2299}# - ($sc-dispatch - #{tmp\ 2288}# - '(any . any)))) - (if (if #{tmp\ 2299}# - (@apply - (lambda (#{a\ 2302}# #{b\ 2303}#) - (eq? (syntax->datum #{a\ 2302}#) - #:optional)) - #{tmp\ 2299}#) - #f) - (@apply - (lambda (#{a\ 2306}# #{b\ 2307}#) - (#{opt\ 2277}# - #{b\ 2307}# - (reverse #{rreq\ 2285}#) - '())) - #{tmp\ 2299}#) - (let ((#{tmp\ 2308}# - ($sc-dispatch - #{tmp\ 2288}# - '(any . any)))) - (if (if #{tmp\ 2308}# - (@apply - (lambda (#{a\ 2311}# #{b\ 2312}#) - (eq? (syntax->datum #{a\ 2311}#) - #:key)) - #{tmp\ 2308}#) - #f) - (@apply - (lambda (#{a\ 2315}# #{b\ 2316}#) - (#{key\ 2279}# - #{b\ 2316}# - (reverse #{rreq\ 2285}#) - '() - '())) - #{tmp\ 2308}#) - (let ((#{tmp\ 2317}# - ($sc-dispatch - #{tmp\ 2288}# - '(any any)))) - (if (if #{tmp\ 2317}# - (@apply - (lambda (#{a\ 2320}# - #{b\ 2321}#) - (eq? (syntax->datum - #{a\ 2320}#) - #:rest)) - #{tmp\ 2317}#) - #f) - (@apply - (lambda (#{a\ 2324}# #{b\ 2325}#) - (#{rest\ 2281}# - #{b\ 2325}# - (reverse #{rreq\ 2285}#) - '() - '())) - #{tmp\ 2317}#) - (let ((#{tmp\ 2326}# - (list #{tmp\ 2288}#))) - (if (if #{tmp\ 2326}# - (@apply - (lambda (#{r\ 2328}#) - (#{id?\ 379}# - #{r\ 2328}#)) - #{tmp\ 2326}#) - #f) - (@apply - (lambda (#{r\ 2330}#) - (#{rest\ 2281}# - #{r\ 2330}# - (reverse #{rreq\ 2285}#) - '() - '())) - #{tmp\ 2326}#) - (let ((#{else\ 2332}# - #{tmp\ 2288}#)) - (syntax-violation - 'lambda* - "invalid argument list" - #{orig-args\ 2272}# - #{args\ 2284}#))))))))))))))))) - (#{opt\ 2277}# - (lambda (#{args\ 2333}# #{req\ 2334}# #{ropt\ 2335}#) - (let ((#{tmp\ 2339}# #{args\ 2333}#)) - (let ((#{tmp\ 2340}# ($sc-dispatch #{tmp\ 2339}# '()))) - (if #{tmp\ 2340}# - (@apply - (lambda () - (#{check\ 2283}# - #{req\ 2334}# - (reverse #{ropt\ 2335}#) - #f - '())) - #{tmp\ 2340}#) - (let ((#{tmp\ 2341}# - ($sc-dispatch #{tmp\ 2339}# '(any . any)))) - (if (if #{tmp\ 2341}# - (@apply - (lambda (#{a\ 2344}# #{b\ 2345}#) - (#{id?\ 379}# #{a\ 2344}#)) - #{tmp\ 2341}#) - #f) - (@apply - (lambda (#{a\ 2348}# #{b\ 2349}#) - (#{opt\ 2277}# - #{b\ 2349}# - #{req\ 2334}# - (cons (cons #{a\ 2348}# - '(#(syntax-object - #f - ((top) - #(ribcage - #(a b) - #((top) (top)) - #("i2346" "i2347")) - #(ribcage () () ()) - #(ribcage - #(args req ropt) - #((top) (top) (top)) - #("i2336" - "i2337" - "i2338")) - #(ribcage - (check rest key opt req) - ((top) - (top) - (top) - (top) - (top)) - ("i2282" - "i2280" - "i2278" - "i2276" - "i2274")) - #(ribcage - #(orig-args) - #((top)) - #("i2273")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene guile)))) - #{ropt\ 2335}#))) - #{tmp\ 2341}#) - (let ((#{tmp\ 2350}# - ($sc-dispatch - #{tmp\ 2339}# - '((any any) . any)))) - (if (if #{tmp\ 2350}# - (@apply - (lambda (#{a\ 2354}# - #{init\ 2355}# - #{b\ 2356}#) - (#{id?\ 379}# #{a\ 2354}#)) - #{tmp\ 2350}#) - #f) - (@apply - (lambda (#{a\ 2360}# - #{init\ 2361}# - #{b\ 2362}#) - (#{opt\ 2277}# - #{b\ 2362}# - #{req\ 2334}# - (cons (list #{a\ 2360}# #{init\ 2361}#) - #{ropt\ 2335}#))) - #{tmp\ 2350}#) - (let ((#{tmp\ 2363}# - ($sc-dispatch - #{tmp\ 2339}# - '(any . any)))) - (if (if #{tmp\ 2363}# - (@apply - (lambda (#{a\ 2366}# #{b\ 2367}#) - (eq? (syntax->datum #{a\ 2366}#) - #:key)) - #{tmp\ 2363}#) - #f) - (@apply - (lambda (#{a\ 2370}# #{b\ 2371}#) - (#{key\ 2279}# - #{b\ 2371}# - #{req\ 2334}# - (reverse #{ropt\ 2335}#) - '())) - #{tmp\ 2363}#) - (let ((#{tmp\ 2372}# - ($sc-dispatch - #{tmp\ 2339}# - '(any any)))) - (if (if #{tmp\ 2372}# - (@apply - (lambda (#{a\ 2375}# - #{b\ 2376}#) - (eq? (syntax->datum - #{a\ 2375}#) - #:rest)) - #{tmp\ 2372}#) - #f) - (@apply - (lambda (#{a\ 2379}# #{b\ 2380}#) - (#{rest\ 2281}# - #{b\ 2380}# - #{req\ 2334}# - (reverse #{ropt\ 2335}#) - '())) - #{tmp\ 2372}#) - (let ((#{tmp\ 2381}# - (list #{tmp\ 2339}#))) - (if (if #{tmp\ 2381}# - (@apply - (lambda (#{r\ 2383}#) - (#{id?\ 379}# - #{r\ 2383}#)) - #{tmp\ 2381}#) - #f) - (@apply - (lambda (#{r\ 2385}#) - (#{rest\ 2281}# - #{r\ 2385}# - #{req\ 2334}# - (reverse #{ropt\ 2335}#) - '())) - #{tmp\ 2381}#) - (let ((#{else\ 2387}# - #{tmp\ 2339}#)) - (syntax-violation - 'lambda* - "invalid optional argument list" - #{orig-args\ 2272}# - #{args\ 2333}#))))))))))))))))) - (#{key\ 2279}# - (lambda (#{args\ 2388}# - #{req\ 2389}# - #{opt\ 2390}# - #{rkey\ 2391}#) - (let ((#{tmp\ 2396}# #{args\ 2388}#)) - (let ((#{tmp\ 2397}# ($sc-dispatch #{tmp\ 2396}# '()))) - (if #{tmp\ 2397}# - (@apply - (lambda () - (#{check\ 2283}# - #{req\ 2389}# - #{opt\ 2390}# - #f - (cons #f (reverse #{rkey\ 2391}#)))) - #{tmp\ 2397}#) - (let ((#{tmp\ 2398}# - ($sc-dispatch #{tmp\ 2396}# '(any . any)))) - (if (if #{tmp\ 2398}# - (@apply - (lambda (#{a\ 2401}# #{b\ 2402}#) - (#{id?\ 379}# #{a\ 2401}#)) - #{tmp\ 2398}#) - #f) - (@apply - (lambda (#{a\ 2405}# #{b\ 2406}#) - (let ((#{tmp\ 2408}# - (symbol->keyword - (syntax->datum #{a\ 2405}#)))) - (let ((#{k\ 2410}# #{tmp\ 2408}#)) - (#{key\ 2279}# - #{b\ 2406}# - #{req\ 2389}# - #{opt\ 2390}# - (cons (cons #{k\ 2410}# - (cons #{a\ 2405}# - '(#(syntax-object - #f - ((top) - #(ribcage - #(k) - #((top)) - #("i2409")) - #(ribcage - #(a b) - #((top) (top)) - #("i2403" - "i2404")) - #(ribcage - () - () - ()) - #(ribcage - #(args - req - opt - rkey) - #((top) - (top) - (top) - (top)) - #("i2392" - "i2393" - "i2394" - "i2395")) - #(ribcage - (check rest - key - opt - req) - ((top) - (top) - (top) - (top) - (top)) - ("i2282" - "i2280" - "i2278" - "i2276" - "i2274")) - #(ribcage - #(orig-args) - #((top)) - #("i2273")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene - guile))))) - #{rkey\ 2391}#))))) - #{tmp\ 2398}#) - (let ((#{tmp\ 2411}# - ($sc-dispatch - #{tmp\ 2396}# - '((any any) . any)))) - (if (if #{tmp\ 2411}# - (@apply - (lambda (#{a\ 2415}# - #{init\ 2416}# - #{b\ 2417}#) - (#{id?\ 379}# #{a\ 2415}#)) - #{tmp\ 2411}#) - #f) - (@apply - (lambda (#{a\ 2421}# - #{init\ 2422}# - #{b\ 2423}#) - (let ((#{tmp\ 2425}# - (symbol->keyword - (syntax->datum #{a\ 2421}#)))) - (let ((#{k\ 2427}# #{tmp\ 2425}#)) - (#{key\ 2279}# - #{b\ 2423}# - #{req\ 2389}# - #{opt\ 2390}# - (cons (list #{k\ 2427}# - #{a\ 2421}# - #{init\ 2422}#) - #{rkey\ 2391}#))))) - #{tmp\ 2411}#) - (let ((#{tmp\ 2428}# - ($sc-dispatch - #{tmp\ 2396}# - '((any any any) . any)))) - (if (if #{tmp\ 2428}# - (@apply - (lambda (#{a\ 2433}# - #{init\ 2434}# - #{k\ 2435}# - #{b\ 2436}#) - (if (#{id?\ 379}# #{a\ 2433}#) - (keyword? - (syntax->datum #{k\ 2435}#)) - #f)) - #{tmp\ 2428}#) - #f) - (@apply - (lambda (#{a\ 2443}# - #{init\ 2444}# - #{k\ 2445}# - #{b\ 2446}#) - (#{key\ 2279}# - #{b\ 2446}# - #{req\ 2389}# - #{opt\ 2390}# - (cons (list #{k\ 2445}# - #{a\ 2443}# - #{init\ 2444}#) - #{rkey\ 2391}#))) - #{tmp\ 2428}#) - (let ((#{tmp\ 2447}# - ($sc-dispatch - #{tmp\ 2396}# - '(any)))) - (if (if #{tmp\ 2447}# - (@apply - (lambda (#{aok\ 2449}#) - (eq? (syntax->datum - #{aok\ 2449}#) - #:allow-other-keys)) - #{tmp\ 2447}#) - #f) - (@apply - (lambda (#{aok\ 2451}#) - (#{check\ 2283}# - #{req\ 2389}# - #{opt\ 2390}# - #f - (cons #t - (reverse - #{rkey\ 2391}#)))) - #{tmp\ 2447}#) - (let ((#{tmp\ 2452}# - ($sc-dispatch - #{tmp\ 2396}# - '(any any any)))) - (if (if #{tmp\ 2452}# - (@apply - (lambda (#{aok\ 2456}# - #{a\ 2457}# - #{b\ 2458}#) - (if (eq? (syntax->datum - #{aok\ 2456}#) - #:allow-other-keys) - (eq? (syntax->datum - #{a\ 2457}#) - #:rest) - #f)) - #{tmp\ 2452}#) - #f) - (@apply - (lambda (#{aok\ 2464}# - #{a\ 2465}# - #{b\ 2466}#) - (#{rest\ 2281}# - #{b\ 2466}# - #{req\ 2389}# - #{opt\ 2390}# - (cons #t - (reverse - #{rkey\ 2391}#)))) - #{tmp\ 2452}#) - (let ((#{tmp\ 2467}# - ($sc-dispatch - #{tmp\ 2396}# - '(any . any)))) - (if (if #{tmp\ 2467}# - (@apply - (lambda (#{aok\ 2470}# - #{r\ 2471}#) - (if (eq? (syntax->datum - #{aok\ 2470}#) - #:allow-other-keys) - (#{id?\ 379}# - #{r\ 2471}#) - #f)) - #{tmp\ 2467}#) - #f) - (@apply - (lambda (#{aok\ 2476}# - #{r\ 2477}#) - (#{rest\ 2281}# - #{r\ 2477}# - #{req\ 2389}# - #{opt\ 2390}# - (cons #t - (reverse - #{rkey\ 2391}#)))) - #{tmp\ 2467}#) - (let ((#{tmp\ 2478}# - ($sc-dispatch - #{tmp\ 2396}# - '(any any)))) - (if (if #{tmp\ 2478}# - (@apply - (lambda (#{a\ 2481}# - #{b\ 2482}#) - (eq? (syntax->datum - #{a\ 2481}#) - #:rest)) - #{tmp\ 2478}#) - #f) - (@apply - (lambda (#{a\ 2485}# - #{b\ 2486}#) - (#{rest\ 2281}# - #{b\ 2486}# - #{req\ 2389}# - #{opt\ 2390}# - (cons #f - (reverse - #{rkey\ 2391}#)))) - #{tmp\ 2478}#) - (let ((#{tmp\ 2487}# - (list #{tmp\ 2396}#))) - (if (if #{tmp\ 2487}# - (@apply - (lambda (#{r\ 2489}#) - (#{id?\ 379}# - #{r\ 2489}#)) - #{tmp\ 2487}#) - #f) - (@apply - (lambda (#{r\ 2491}#) - (#{rest\ 2281}# - #{r\ 2491}# - #{req\ 2389}# - #{opt\ 2390}# - (cons #f - (reverse - #{rkey\ 2391}#)))) - #{tmp\ 2487}#) - (let ((#{else\ 2493}# - #{tmp\ 2396}#)) - (syntax-violation - 'lambda* - "invalid keyword argument list" - #{orig-args\ 2272}# - #{args\ 2388}#))))))))))))))))))))))) - (#{rest\ 2281}# - (lambda (#{args\ 2494}# - #{req\ 2495}# - #{opt\ 2496}# - #{kw\ 2497}#) - (let ((#{tmp\ 2502}# #{args\ 2494}#)) - (let ((#{tmp\ 2503}# (list #{tmp\ 2502}#))) - (if (if #{tmp\ 2503}# - (@apply - (lambda (#{r\ 2505}#) - (#{id?\ 379}# #{r\ 2505}#)) - #{tmp\ 2503}#) - #f) - (@apply - (lambda (#{r\ 2507}#) - (#{check\ 2283}# - #{req\ 2495}# - #{opt\ 2496}# - #{r\ 2507}# - #{kw\ 2497}#)) - #{tmp\ 2503}#) - (let ((#{else\ 2509}# #{tmp\ 2502}#)) - (syntax-violation - 'lambda* - "invalid rest argument" - #{orig-args\ 2272}# - #{args\ 2494}#))))))) - (#{check\ 2283}# - (lambda (#{req\ 2510}# - #{opt\ 2511}# - #{rest\ 2512}# - #{kw\ 2513}#) - (if (#{distinct-bound-ids?\ 441}# - (append - #{req\ 2510}# - (map car #{opt\ 2511}#) - (if #{rest\ 2512}# (list #{rest\ 2512}#) '()) - (if (pair? #{kw\ 2513}#) - (map cadr (cdr #{kw\ 2513}#)) - '()))) - (values - #{req\ 2510}# - #{opt\ 2511}# - #{rest\ 2512}# - #{kw\ 2513}#) - (syntax-violation - 'lambda* - "duplicate identifier in argument list" - #{orig-args\ 2272}#))))) - (begin (#{req\ 2275}# #{orig-args\ 2272}# '()))))) - (#{chi-lambda-case\ 485}# - (lambda (#{e\ 2521}# - #{r\ 2522}# - #{w\ 2523}# - #{s\ 2524}# - #{mod\ 2525}# - #{get-formals\ 2526}# - #{clauses\ 2527}#) - (letrec* - ((#{expand-req\ 2536}# - (lambda (#{req\ 2543}# - #{opt\ 2544}# - #{rest\ 2545}# - #{kw\ 2546}# - #{body\ 2547}#) - (begin - (let ((#{vars\ 2555}# - (map #{gen-var\ 489}# #{req\ 2543}#)) - (#{labels\ 2556}# - (#{gen-labels\ 394}# #{req\ 2543}#))) - (begin - (let ((#{r*\ 2559}# - (#{extend-var-env\ 369}# - #{labels\ 2556}# - #{vars\ 2555}# - #{r\ 2522}#)) - (#{w*\ 2560}# - (#{make-binding-wrap\ 423}# - #{req\ 2543}# - #{labels\ 2556}# - #{w\ 2523}#))) - (#{expand-opt\ 2538}# - (map syntax->datum #{req\ 2543}#) - #{opt\ 2544}# - #{rest\ 2545}# - #{kw\ 2546}# - #{body\ 2547}# - (reverse #{vars\ 2555}#) - #{r*\ 2559}# - #{w*\ 2560}# + "bad local syntax definition" + (#{source-wrap 444}# + #{e 2206}# + #{w 2208}# + #{s 2209}# + #{mod 2210}#)))))))) + (#{eval-local-transformer 468}# + (lambda (#{expanded 2247}# #{mod 2248}#) + (begin + (let ((#{p 2252}# + (#{local-eval-hook 289}# + #{expanded 2247}# + #{mod 2248}#))) + (if (procedure? #{p 2252}#) + #{p 2252}# + (syntax-violation + #f + "nonprocedure transformer" + #{p 2252}#)))))) + (#{chi-void 470}# + (lambda () (#{build-void 300}# #f))) + (#{ellipsis? 472}# + (lambda (#{x 2254}#) + (if (#{nonsymbol-id? 374}# #{x 2254}#) + (#{free-id=? 432}# + #{x 2254}# + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i2255")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile))) + #f))) + (#{lambda-formals 474}# + (lambda (#{orig-args 2258}#) + (letrec* + ((#{req 2261}# + (lambda (#{args 2264}# #{rreq 2265}#) + (let ((#{tmp 2268}# #{args 2264}#)) + (let ((#{tmp 2269}# ($sc-dispatch #{tmp 2268}# '()))) + (if #{tmp 2269}# + (@apply + (lambda () + (#{check 2263}# (reverse #{rreq 2265}#) #f)) + #{tmp 2269}#) + (let ((#{tmp 2270}# + ($sc-dispatch #{tmp 2268}# '(any . any)))) + (if (if #{tmp 2270}# + (@apply + (lambda (#{a 2273}# #{b 2274}#) + (#{id? 376}# #{a 2273}#)) + #{tmp 2270}#) + #f) + (@apply + (lambda (#{a 2277}# #{b 2278}#) + (#{req 2261}# + #{b 2278}# + (cons #{a 2277}# #{rreq 2265}#))) + #{tmp 2270}#) + (let ((#{tmp 2279}# (list #{tmp 2268}#))) + (if (if #{tmp 2279}# + (@apply + (lambda (#{r 2281}#) + (#{id? 376}# #{r 2281}#)) + #{tmp 2279}#) + #f) + (@apply + (lambda (#{r 2283}#) + (#{check 2263}# + (reverse #{rreq 2265}#) + #{r 2283}#)) + #{tmp 2279}#) + (let ((#{else 2285}# #{tmp 2268}#)) + (syntax-violation + 'lambda + "invalid argument list" + #{orig-args 2258}# + #{args 2264}#))))))))))) + (#{check 2263}# + (lambda (#{req 2286}# #{rest 2287}#) + (if (#{distinct-bound-ids? 438}# + (if #{rest 2287}# + (cons #{rest 2287}# #{req 2286}#) + #{req 2286}#)) + (values #{req 2286}# #f #{rest 2287}# #f) + (syntax-violation + 'lambda + "duplicate identifier in argument list" + #{orig-args 2258}#))))) + (begin (#{req 2261}# #{orig-args 2258}# '()))))) + (#{chi-simple-lambda 476}# + (lambda (#{e 2293}# + #{r 2294}# + #{w 2295}# + #{s 2296}# + #{mod 2297}# + #{req 2298}# + #{rest 2299}# + #{meta 2300}# + #{body 2301}#) + (begin + (let ((#{ids 2313}# + (if #{rest 2299}# + (append #{req 2298}# (list #{rest 2299}#)) + #{req 2298}#))) + (begin + (let ((#{vars 2315}# + (map #{gen-var 484}# #{ids 2313}#))) + (begin + (let ((#{labels 2317}# + (#{gen-labels 391}# #{ids 2313}#))) + (#{build-simple-lambda 320}# + #{s 2296}# + (map syntax->datum #{req 2298}#) + (if #{rest 2299}# + (syntax->datum #{rest 2299}#) + #f) + #{vars 2315}# + #{meta 2300}# + (#{chi-body 464}# + #{body 2301}# + (#{source-wrap 444}# + #{e 2293}# + #{w 2295}# + #{s 2296}# + #{mod 2297}#) + (#{extend-var-env 366}# + #{labels 2317}# + #{vars 2315}# + #{r 2294}#) + (#{make-binding-wrap 420}# + #{ids 2313}# + #{labels 2317}# + #{w 2295}#) + #{mod 2297}#)))))))))) + (#{lambda*-formals 478}# + (lambda (#{orig-args 2320}#) + (letrec* + ((#{req 2323}# + (lambda (#{args 2332}# #{rreq 2333}#) + (let ((#{tmp 2336}# #{args 2332}#)) + (let ((#{tmp 2337}# ($sc-dispatch #{tmp 2336}# '()))) + (if #{tmp 2337}# + (@apply + (lambda () + (#{check 2331}# + (reverse #{rreq 2333}#) '() - '()))))))) - (#{expand-opt\ 2538}# - (lambda (#{req\ 2561}# - #{opt\ 2562}# - #{rest\ 2563}# - #{kw\ 2564}# - #{body\ 2565}# - #{vars\ 2566}# - #{r*\ 2567}# - #{w*\ 2568}# - #{out\ 2569}# - #{inits\ 2570}#) - (if (pair? #{opt\ 2562}#) - (let ((#{tmp\ 2583}# (car #{opt\ 2562}#))) - (let ((#{tmp\ 2584}# - ($sc-dispatch #{tmp\ 2583}# '(any any)))) - (if #{tmp\ 2584}# + #f + '())) + #{tmp 2337}#) + (let ((#{tmp 2338}# + ($sc-dispatch #{tmp 2336}# '(any . any)))) + (if (if #{tmp 2338}# + (@apply + (lambda (#{a 2341}# #{b 2342}#) + (#{id? 376}# #{a 2341}#)) + #{tmp 2338}#) + #f) (@apply - (lambda (#{id\ 2587}# #{i\ 2588}#) - (begin - (let ((#{v\ 2591}# - (#{gen-var\ 489}# #{id\ 2587}#))) - (begin - (let ((#{l\ 2593}# - (#{gen-labels\ 394}# - (list #{v\ 2591}#)))) - (begin - (let ((#{r**\ 2595}# - (#{extend-var-env\ 369}# - #{l\ 2593}# - (list #{v\ 2591}#) - #{r*\ 2567}#))) - (begin - (let ((#{w**\ 2597}# - (#{make-binding-wrap\ 423}# - (list #{id\ 2587}#) - #{l\ 2593}# - #{w*\ 2568}#))) - (#{expand-opt\ 2538}# - #{req\ 2561}# - (cdr #{opt\ 2562}#) - #{rest\ 2563}# - #{kw\ 2564}# - #{body\ 2565}# - (cons #{v\ 2591}# - #{vars\ 2566}#) - #{r**\ 2595}# - #{w**\ 2597}# - (cons (syntax->datum - #{id\ 2587}#) - #{out\ 2569}#) - (cons (#{chi\ 461}# - #{i\ 2588}# - #{r*\ 2567}# - #{w*\ 2568}# - #{mod\ 2525}#) - #{inits\ 2570}#))))))))))) - #{tmp\ 2584}#) - (syntax-violation + (lambda (#{a 2345}# #{b 2346}#) + (#{req 2323}# + #{b 2346}# + (cons #{a 2345}# #{rreq 2333}#))) + #{tmp 2338}#) + (let ((#{tmp 2347}# + ($sc-dispatch #{tmp 2336}# '(any . any)))) + (if (if #{tmp 2347}# + (@apply + (lambda (#{a 2350}# #{b 2351}#) + (eq? (syntax->datum #{a 2350}#) + #:optional)) + #{tmp 2347}#) + #f) + (@apply + (lambda (#{a 2354}# #{b 2355}#) + (#{opt 2325}# + #{b 2355}# + (reverse #{rreq 2333}#) + '())) + #{tmp 2347}#) + (let ((#{tmp 2356}# + ($sc-dispatch + #{tmp 2336}# + '(any . any)))) + (if (if #{tmp 2356}# + (@apply + (lambda (#{a 2359}# #{b 2360}#) + (eq? (syntax->datum #{a 2359}#) + #:key)) + #{tmp 2356}#) + #f) + (@apply + (lambda (#{a 2363}# #{b 2364}#) + (#{key 2327}# + #{b 2364}# + (reverse #{rreq 2333}#) + '() + '())) + #{tmp 2356}#) + (let ((#{tmp 2365}# + ($sc-dispatch + #{tmp 2336}# + '(any any)))) + (if (if #{tmp 2365}# + (@apply + (lambda (#{a 2368}# #{b 2369}#) + (eq? (syntax->datum #{a 2368}#) + #:rest)) + #{tmp 2365}#) + #f) + (@apply + (lambda (#{a 2372}# #{b 2373}#) + (#{rest 2329}# + #{b 2373}# + (reverse #{rreq 2333}#) + '() + '())) + #{tmp 2365}#) + (let ((#{tmp 2374}# + (list #{tmp 2336}#))) + (if (if #{tmp 2374}# + (@apply + (lambda (#{r 2376}#) + (#{id? 376}# #{r 2376}#)) + #{tmp 2374}#) + #f) + (@apply + (lambda (#{r 2378}#) + (#{rest 2329}# + #{r 2378}# + (reverse #{rreq 2333}#) + '() + '())) + #{tmp 2374}#) + (let ((#{else 2380}# #{tmp 2336}#)) + (syntax-violation + 'lambda* + "invalid argument list" + #{orig-args 2320}# + #{args 2332}#))))))))))))))))) + (#{opt 2325}# + (lambda (#{args 2381}# #{req 2382}# #{ropt 2383}#) + (let ((#{tmp 2387}# #{args 2381}#)) + (let ((#{tmp 2388}# ($sc-dispatch #{tmp 2387}# '()))) + (if #{tmp 2388}# + (@apply + (lambda () + (#{check 2331}# + #{req 2382}# + (reverse #{ropt 2383}#) #f - "source expression failed to match any pattern" - #{tmp\ 2583}#)))) - (if #{rest\ 2563}# - (begin - (let ((#{v\ 2602}# - (#{gen-var\ 489}# #{rest\ 2563}#))) - (begin - (let ((#{l\ 2604}# - (#{gen-labels\ 394}# - (list #{v\ 2602}#)))) - (begin - (let ((#{r*\ 2606}# - (#{extend-var-env\ 369}# - #{l\ 2604}# - (list #{v\ 2602}#) - #{r*\ 2567}#))) - (begin - (let ((#{w*\ 2608}# - (#{make-binding-wrap\ 423}# - (list #{rest\ 2563}#) - #{l\ 2604}# - #{w*\ 2568}#))) - (#{expand-kw\ 2540}# - #{req\ 2561}# - (if (pair? #{out\ 2569}#) - (reverse #{out\ 2569}#) + '())) + #{tmp 2388}#) + (let ((#{tmp 2389}# + ($sc-dispatch #{tmp 2387}# '(any . any)))) + (if (if #{tmp 2389}# + (@apply + (lambda (#{a 2392}# #{b 2393}#) + (#{id? 376}# #{a 2392}#)) + #{tmp 2389}#) + #f) + (@apply + (lambda (#{a 2396}# #{b 2397}#) + (#{opt 2325}# + #{b 2397}# + #{req 2382}# + (cons (cons #{a 2396}# + '(#(syntax-object + #f + ((top) + #(ribcage + #(a b) + #((top) (top)) + #("i2394" "i2395")) + #(ribcage () () ()) + #(ribcage + #(args req ropt) + #((top) (top) (top)) + #("i2384" + "i2385" + "i2386")) + #(ribcage + (check rest key opt req) + ((top) + (top) + (top) + (top) + (top)) + ("i2330" + "i2328" + "i2326" + "i2324" + "i2322")) + #(ribcage + #(orig-args) + #((top)) + #("i2321")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" + "i40" + "i39" + "i37"))) + (hygiene guile)))) + #{ropt 2383}#))) + #{tmp 2389}#) + (let ((#{tmp 2398}# + ($sc-dispatch + #{tmp 2387}# + '((any any) . any)))) + (if (if #{tmp 2398}# + (@apply + (lambda (#{a 2402}# + #{init 2403}# + #{b 2404}#) + (#{id? 376}# #{a 2402}#)) + #{tmp 2398}#) + #f) + (@apply + (lambda (#{a 2408}# #{init 2409}# #{b 2410}#) + (#{opt 2325}# + #{b 2410}# + #{req 2382}# + (cons (list #{a 2408}# #{init 2409}#) + #{ropt 2383}#))) + #{tmp 2398}#) + (let ((#{tmp 2411}# + ($sc-dispatch + #{tmp 2387}# + '(any . any)))) + (if (if #{tmp 2411}# + (@apply + (lambda (#{a 2414}# #{b 2415}#) + (eq? (syntax->datum #{a 2414}#) + #:key)) + #{tmp 2411}#) + #f) + (@apply + (lambda (#{a 2418}# #{b 2419}#) + (#{key 2327}# + #{b 2419}# + #{req 2382}# + (reverse #{ropt 2383}#) + '())) + #{tmp 2411}#) + (let ((#{tmp 2420}# + ($sc-dispatch + #{tmp 2387}# + '(any any)))) + (if (if #{tmp 2420}# + (@apply + (lambda (#{a 2423}# #{b 2424}#) + (eq? (syntax->datum #{a 2423}#) + #:rest)) + #{tmp 2420}#) #f) - (syntax->datum #{rest\ 2563}#) - (if (pair? #{kw\ 2564}#) - (cdr #{kw\ 2564}#) - #{kw\ 2564}#) - #{body\ 2565}# - (cons #{v\ 2602}# #{vars\ 2566}#) - #{r*\ 2606}# - #{w*\ 2608}# - (if (pair? #{kw\ 2564}#) - (car #{kw\ 2564}#) + (@apply + (lambda (#{a 2427}# #{b 2428}#) + (#{rest 2329}# + #{b 2428}# + #{req 2382}# + (reverse #{ropt 2383}#) + '())) + #{tmp 2420}#) + (let ((#{tmp 2429}# + (list #{tmp 2387}#))) + (if (if #{tmp 2429}# + (@apply + (lambda (#{r 2431}#) + (#{id? 376}# #{r 2431}#)) + #{tmp 2429}#) + #f) + (@apply + (lambda (#{r 2433}#) + (#{rest 2329}# + #{r 2433}# + #{req 2382}# + (reverse #{ropt 2383}#) + '())) + #{tmp 2429}#) + (let ((#{else 2435}# #{tmp 2387}#)) + (syntax-violation + 'lambda* + "invalid optional argument list" + #{orig-args 2320}# + #{args 2381}#))))))))))))))))) + (#{key 2327}# + (lambda (#{args 2436}# + #{req 2437}# + #{opt 2438}# + #{rkey 2439}#) + (let ((#{tmp 2444}# #{args 2436}#)) + (let ((#{tmp 2445}# ($sc-dispatch #{tmp 2444}# '()))) + (if #{tmp 2445}# + (@apply + (lambda () + (#{check 2331}# + #{req 2437}# + #{opt 2438}# + #f + (cons #f (reverse #{rkey 2439}#)))) + #{tmp 2445}#) + (let ((#{tmp 2446}# + ($sc-dispatch #{tmp 2444}# '(any . any)))) + (if (if #{tmp 2446}# + (@apply + (lambda (#{a 2449}# #{b 2450}#) + (#{id? 376}# #{a 2449}#)) + #{tmp 2446}#) + #f) + (@apply + (lambda (#{a 2453}# #{b 2454}#) + (let ((#{tmp 2456}# + (symbol->keyword + (syntax->datum #{a 2453}#)))) + (let ((#{k 2458}# #{tmp 2456}#)) + (#{key 2327}# + #{b 2454}# + #{req 2437}# + #{opt 2438}# + (cons (cons #{k 2458}# + (cons #{a 2453}# + '(#(syntax-object + #f + ((top) + #(ribcage + () + () + ()) + #(ribcage + #(k) + #((top)) + #("i2457")) + #(ribcage + #(a b) + #((top) (top)) + #("i2451" + "i2452")) + #(ribcage + () + () + ()) + #(ribcage + #(args + req + opt + rkey) + #((top) + (top) + (top) + (top)) + #("i2440" + "i2441" + "i2442" + "i2443")) + #(ribcage + (check rest + key + opt + req) + ((top) + (top) + (top) + (top) + (top)) + ("i2330" + "i2328" + "i2326" + "i2324" + "i2322")) + #(ribcage + #(orig-args) + #((top)) + #("i2321")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i41" + "i40" + "i39" + "i37"))) + (hygiene guile))))) + #{rkey 2439}#))))) + #{tmp 2446}#) + (let ((#{tmp 2459}# + ($sc-dispatch + #{tmp 2444}# + '((any any) . any)))) + (if (if #{tmp 2459}# + (@apply + (lambda (#{a 2463}# + #{init 2464}# + #{b 2465}#) + (#{id? 376}# #{a 2463}#)) + #{tmp 2459}#) + #f) + (@apply + (lambda (#{a 2469}# #{init 2470}# #{b 2471}#) + (let ((#{tmp 2473}# + (symbol->keyword + (syntax->datum #{a 2469}#)))) + (let ((#{k 2475}# #{tmp 2473}#)) + (#{key 2327}# + #{b 2471}# + #{req 2437}# + #{opt 2438}# + (cons (list #{k 2475}# + #{a 2469}# + #{init 2470}#) + #{rkey 2439}#))))) + #{tmp 2459}#) + (let ((#{tmp 2476}# + ($sc-dispatch + #{tmp 2444}# + '((any any any) . any)))) + (if (if #{tmp 2476}# + (@apply + (lambda (#{a 2481}# + #{init 2482}# + #{k 2483}# + #{b 2484}#) + (if (#{id? 376}# #{a 2481}#) + (keyword? + (syntax->datum #{k 2483}#)) + #f)) + #{tmp 2476}#) + #f) + (@apply + (lambda (#{a 2491}# + #{init 2492}# + #{k 2493}# + #{b 2494}#) + (#{key 2327}# + #{b 2494}# + #{req 2437}# + #{opt 2438}# + (cons (list #{k 2493}# + #{a 2491}# + #{init 2492}#) + #{rkey 2439}#))) + #{tmp 2476}#) + (let ((#{tmp 2495}# + ($sc-dispatch + #{tmp 2444}# + '(any)))) + (if (if #{tmp 2495}# + (@apply + (lambda (#{aok 2497}#) + (eq? (syntax->datum + #{aok 2497}#) + #:allow-other-keys)) + #{tmp 2495}#) #f) - '() - #{inits\ 2570}#))))))))) - (#{expand-kw\ 2540}# - #{req\ 2561}# - (if (pair? #{out\ 2569}#) - (reverse #{out\ 2569}#) - #f) - #f - (if (pair? #{kw\ 2564}#) - (cdr #{kw\ 2564}#) - #{kw\ 2564}#) - #{body\ 2565}# - #{vars\ 2566}# - #{r*\ 2567}# - #{w*\ 2568}# - (if (pair? #{kw\ 2564}#) (car #{kw\ 2564}#) #f) - '() - #{inits\ 2570}#))))) - (#{expand-kw\ 2540}# - (lambda (#{req\ 2610}# - #{opt\ 2611}# - #{rest\ 2612}# - #{kw\ 2613}# - #{body\ 2614}# - #{vars\ 2615}# - #{r*\ 2616}# - #{w*\ 2617}# - #{aok\ 2618}# - #{out\ 2619}# - #{inits\ 2620}#) - (if (pair? #{kw\ 2613}#) - (let ((#{tmp\ 2634}# (car #{kw\ 2613}#))) - (let ((#{tmp\ 2635}# - ($sc-dispatch #{tmp\ 2634}# '(any any any)))) - (if #{tmp\ 2635}# + (@apply + (lambda (#{aok 2499}#) + (#{check 2331}# + #{req 2437}# + #{opt 2438}# + #f + (cons #t + (reverse #{rkey 2439}#)))) + #{tmp 2495}#) + (let ((#{tmp 2500}# + ($sc-dispatch + #{tmp 2444}# + '(any any any)))) + (if (if #{tmp 2500}# + (@apply + (lambda (#{aok 2504}# + #{a 2505}# + #{b 2506}#) + (if (eq? (syntax->datum + #{aok 2504}#) + #:allow-other-keys) + (eq? (syntax->datum + #{a 2505}#) + #:rest) + #f)) + #{tmp 2500}#) + #f) + (@apply + (lambda (#{aok 2512}# + #{a 2513}# + #{b 2514}#) + (#{rest 2329}# + #{b 2514}# + #{req 2437}# + #{opt 2438}# + (cons #t + (reverse + #{rkey 2439}#)))) + #{tmp 2500}#) + (let ((#{tmp 2515}# + ($sc-dispatch + #{tmp 2444}# + '(any . any)))) + (if (if #{tmp 2515}# + (@apply + (lambda (#{aok 2518}# + #{r 2519}#) + (if (eq? (syntax->datum + #{aok 2518}#) + #:allow-other-keys) + (#{id? 376}# + #{r 2519}#) + #f)) + #{tmp 2515}#) + #f) + (@apply + (lambda (#{aok 2524}# + #{r 2525}#) + (#{rest 2329}# + #{r 2525}# + #{req 2437}# + #{opt 2438}# + (cons #t + (reverse + #{rkey 2439}#)))) + #{tmp 2515}#) + (let ((#{tmp 2526}# + ($sc-dispatch + #{tmp 2444}# + '(any any)))) + (if (if #{tmp 2526}# + (@apply + (lambda (#{a 2529}# + #{b 2530}#) + (eq? (syntax->datum + #{a 2529}#) + #:rest)) + #{tmp 2526}#) + #f) + (@apply + (lambda (#{a 2533}# + #{b 2534}#) + (#{rest 2329}# + #{b 2534}# + #{req 2437}# + #{opt 2438}# + (cons #f + (reverse + #{rkey 2439}#)))) + #{tmp 2526}#) + (let ((#{tmp 2535}# + (list #{tmp 2444}#))) + (if (if #{tmp 2535}# + (@apply + (lambda (#{r 2537}#) + (#{id? 376}# + #{r 2537}#)) + #{tmp 2535}#) + #f) + (@apply + (lambda (#{r 2539}#) + (#{rest 2329}# + #{r 2539}# + #{req 2437}# + #{opt 2438}# + (cons #f + (reverse + #{rkey 2439}#)))) + #{tmp 2535}#) + (let ((#{else 2541}# + #{tmp 2444}#)) + (syntax-violation + 'lambda* + "invalid keyword argument list" + #{orig-args 2320}# + #{args 2436}#))))))))))))))))))))))) + (#{rest 2329}# + (lambda (#{args 2542}# + #{req 2543}# + #{opt 2544}# + #{kw 2545}#) + (let ((#{tmp 2550}# #{args 2542}#)) + (let ((#{tmp 2551}# (list #{tmp 2550}#))) + (if (if #{tmp 2551}# (@apply - (lambda (#{k\ 2639}# #{id\ 2640}# #{i\ 2641}#) - (begin - (let ((#{v\ 2644}# - (#{gen-var\ 489}# #{id\ 2640}#))) - (begin - (let ((#{l\ 2646}# - (#{gen-labels\ 394}# - (list #{v\ 2644}#)))) - (begin - (let ((#{r**\ 2648}# - (#{extend-var-env\ 369}# - #{l\ 2646}# - (list #{v\ 2644}#) - #{r*\ 2616}#))) - (begin - (let ((#{w**\ 2650}# - (#{make-binding-wrap\ 423}# - (list #{id\ 2640}#) - #{l\ 2646}# - #{w*\ 2617}#))) - (#{expand-kw\ 2540}# - #{req\ 2610}# - #{opt\ 2611}# - #{rest\ 2612}# - (cdr #{kw\ 2613}#) - #{body\ 2614}# - (cons #{v\ 2644}# - #{vars\ 2615}#) - #{r**\ 2648}# - #{w**\ 2650}# - #{aok\ 2618}# - (cons (list (syntax->datum - #{k\ 2639}#) - (syntax->datum - #{id\ 2640}#) - #{v\ 2644}#) - #{out\ 2619}#) - (cons (#{chi\ 461}# - #{i\ 2641}# - #{r*\ 2616}# - #{w*\ 2617}# - #{mod\ 2525}#) - #{inits\ 2620}#))))))))))) - #{tmp\ 2635}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 2634}#)))) - (#{expand-body\ 2542}# - #{req\ 2610}# - #{opt\ 2611}# - #{rest\ 2612}# - (if (begin - (let ((#{t\ 2654}# #{aok\ 2618}#)) - (if #{t\ 2654}# - #{t\ 2654}# - (pair? #{out\ 2619}#)))) - (cons #{aok\ 2618}# (reverse #{out\ 2619}#)) - #f) - #{body\ 2614}# - (reverse #{vars\ 2615}#) - #{r*\ 2616}# - #{w*\ 2617}# - (reverse #{inits\ 2620}#) - '())))) - (#{expand-body\ 2542}# - (lambda (#{req\ 2656}# - #{opt\ 2657}# - #{rest\ 2658}# - #{kw\ 2659}# - #{body\ 2660}# - #{vars\ 2661}# - #{r*\ 2662}# - #{w*\ 2663}# - #{inits\ 2664}# - #{meta\ 2665}#) - (let ((#{tmp\ 2676}# #{body\ 2660}#)) - (let ((#{tmp\ 2677}# - ($sc-dispatch - #{tmp\ 2676}# - '(any any . each-any)))) - (if (if #{tmp\ 2677}# - (@apply - (lambda (#{docstring\ 2681}# - #{e1\ 2682}# - #{e2\ 2683}#) - (string? - (syntax->datum #{docstring\ 2681}#))) - #{tmp\ 2677}#) - #f) + (lambda (#{r 2553}#) (#{id? 376}# #{r 2553}#)) + #{tmp 2551}#) + #f) + (@apply + (lambda (#{r 2555}#) + (#{check 2331}# + #{req 2543}# + #{opt 2544}# + #{r 2555}# + #{kw 2545}#)) + #{tmp 2551}#) + (let ((#{else 2557}# #{tmp 2550}#)) + (syntax-violation + 'lambda* + "invalid rest argument" + #{orig-args 2320}# + #{args 2542}#))))))) + (#{check 2331}# + (lambda (#{req 2558}# + #{opt 2559}# + #{rest 2560}# + #{kw 2561}#) + (if (#{distinct-bound-ids? 438}# + (append + #{req 2558}# + (map car #{opt 2559}#) + (if #{rest 2560}# (list #{rest 2560}#) '()) + (if (pair? #{kw 2561}#) + (map cadr (cdr #{kw 2561}#)) + '()))) + (values + #{req 2558}# + #{opt 2559}# + #{rest 2560}# + #{kw 2561}#) + (syntax-violation + 'lambda* + "duplicate identifier in argument list" + #{orig-args 2320}#))))) + (begin (#{req 2323}# #{orig-args 2320}# '()))))) + (#{chi-lambda-case 480}# + (lambda (#{e 2569}# + #{r 2570}# + #{w 2571}# + #{s 2572}# + #{mod 2573}# + #{get-formals 2574}# + #{clauses 2575}#) + (letrec* + ((#{expand-req 2584}# + (lambda (#{req 2591}# + #{opt 2592}# + #{rest 2593}# + #{kw 2594}# + #{body 2595}#) + (begin + (let ((#{vars 2603}# + (map #{gen-var 484}# #{req 2591}#)) + (#{labels 2604}# + (#{gen-labels 391}# #{req 2591}#))) + (begin + (let ((#{r* 2607}# + (#{extend-var-env 366}# + #{labels 2604}# + #{vars 2603}# + #{r 2570}#)) + (#{w* 2608}# + (#{make-binding-wrap 420}# + #{req 2591}# + #{labels 2604}# + #{w 2571}#))) + (#{expand-opt 2586}# + (map syntax->datum #{req 2591}#) + #{opt 2592}# + #{rest 2593}# + #{kw 2594}# + #{body 2595}# + (reverse #{vars 2603}#) + #{r* 2607}# + #{w* 2608}# + '() + '()))))))) + (#{expand-opt 2586}# + (lambda (#{req 2609}# + #{opt 2610}# + #{rest 2611}# + #{kw 2612}# + #{body 2613}# + #{vars 2614}# + #{r* 2615}# + #{w* 2616}# + #{out 2617}# + #{inits 2618}#) + (if (pair? #{opt 2610}#) + (let ((#{tmp 2631}# (car #{opt 2610}#))) + (let ((#{tmp 2632}# + ($sc-dispatch #{tmp 2631}# '(any any)))) + (if #{tmp 2632}# (@apply - (lambda (#{docstring\ 2687}# - #{e1\ 2688}# - #{e2\ 2689}#) - (#{expand-body\ 2542}# - #{req\ 2656}# - #{opt\ 2657}# - #{rest\ 2658}# - #{kw\ 2659}# - (cons #{e1\ 2688}# #{e2\ 2689}#) - #{vars\ 2661}# - #{r*\ 2662}# - #{w*\ 2663}# - #{inits\ 2664}# - (append - #{meta\ 2665}# - (list (cons 'documentation - (syntax->datum - #{docstring\ 2687}#)))))) - #{tmp\ 2677}#) - (let ((#{tmp\ 2692}# - ($sc-dispatch - #{tmp\ 2676}# - '(#(vector #(each (any . any))) - any - . - each-any)))) - (if #{tmp\ 2692}# - (@apply - (lambda (#{k\ 2697}# - #{v\ 2698}# - #{e1\ 2699}# - #{e2\ 2700}#) - (#{expand-body\ 2542}# - #{req\ 2656}# - #{opt\ 2657}# - #{rest\ 2658}# - #{kw\ 2659}# - (cons #{e1\ 2699}# #{e2\ 2700}#) - #{vars\ 2661}# - #{r*\ 2662}# - #{w*\ 2663}# - #{inits\ 2664}# - (append - #{meta\ 2665}# - (syntax->datum - (map cons #{k\ 2697}# #{v\ 2698}#))))) - #{tmp\ 2692}#) - (let ((#{tmp\ 2704}# - ($sc-dispatch - #{tmp\ 2676}# - '(any . each-any)))) - (if #{tmp\ 2704}# - (@apply - (lambda (#{e1\ 2707}# #{e2\ 2708}#) - (values - #{meta\ 2665}# - #{req\ 2656}# - #{opt\ 2657}# - #{rest\ 2658}# - #{kw\ 2659}# - #{inits\ 2664}# - #{vars\ 2661}# - (#{chi-body\ 469}# - (cons #{e1\ 2707}# #{e2\ 2708}#) - (#{source-wrap\ 447}# - #{e\ 2521}# - #{w\ 2523}# - #{s\ 2524}# - #{mod\ 2525}#) - #{r*\ 2662}# - #{w*\ 2663}# - #{mod\ 2525}#))) - #{tmp\ 2704}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 2676}#))))))))))) - (begin - (let ((#{tmp\ 2710}# #{clauses\ 2527}#)) - (let ((#{tmp\ 2711}# ($sc-dispatch #{tmp\ 2710}# '()))) - (if #{tmp\ 2711}# - (@apply - (lambda () (values '() #f)) - #{tmp\ 2711}#) - (let ((#{tmp\ 2712}# - ($sc-dispatch - #{tmp\ 2710}# - '((any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp\ 2712}# - (@apply - (lambda (#{args\ 2719}# - #{e1\ 2720}# - #{e2\ 2721}# - #{args*\ 2722}# - #{e1*\ 2723}# - #{e2*\ 2724}#) - (call-with-values - (lambda () - (#{get-formals\ 2526}# #{args\ 2719}#)) - (lambda (#{req\ 2725}# - #{opt\ 2726}# - #{rest\ 2727}# - #{kw\ 2728}#) - (call-with-values - (lambda () - (#{expand-req\ 2536}# - #{req\ 2725}# - #{opt\ 2726}# - #{rest\ 2727}# - #{kw\ 2728}# - (cons #{e1\ 2720}# #{e2\ 2721}#))) - (lambda (#{meta\ 2734}# - #{req\ 2735}# - #{opt\ 2736}# - #{rest\ 2737}# - #{kw\ 2738}# - #{inits\ 2739}# - #{vars\ 2740}# - #{body\ 2741}#) - (call-with-values - (lambda () - (#{chi-lambda-case\ 485}# - #{e\ 2521}# - #{r\ 2522}# - #{w\ 2523}# - #{s\ 2524}# - #{mod\ 2525}# - #{get-formals\ 2526}# - (map (lambda (#{tmp\ 2752}# - #{tmp\ 2751}# - #{tmp\ 2750}#) - (cons #{tmp\ 2750}# - (cons #{tmp\ 2751}# - #{tmp\ 2752}#))) - #{e2*\ 2724}# - #{e1*\ 2723}# - #{args*\ 2722}#))) - (lambda (#{meta*\ 2754}# - #{else*\ 2755}#) - (values - (append - #{meta\ 2734}# - #{meta*\ 2754}#) - (#{build-lambda-case\ 327}# - #{s\ 2524}# - #{req\ 2735}# - #{opt\ 2736}# - #{rest\ 2737}# - #{kw\ 2738}# - #{inits\ 2739}# - #{vars\ 2740}# - #{body\ 2741}# - #{else*\ 2755}#))))))))) - #{tmp\ 2712}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 2710}#)))))))))) - (#{strip\ 487}# - (lambda (#{x\ 2758}# #{w\ 2759}#) - (if (memq 'top (car #{w\ 2759}#)) - #{x\ 2758}# - (letrec* - ((#{f\ 2766}# - (lambda (#{x\ 2767}#) - (if (#{syntax-object?\ 345}# #{x\ 2767}#) - (#{strip\ 487}# - (#{syntax-object-expression\ 347}# #{x\ 2767}#) - (#{syntax-object-wrap\ 349}# #{x\ 2767}#)) - (if (pair? #{x\ 2767}#) + (lambda (#{id 2635}# #{i 2636}#) + (begin + (let ((#{v 2639}# + (#{gen-var 484}# #{id 2635}#))) + (begin + (let ((#{l 2641}# + (#{gen-labels 391}# + (list #{v 2639}#)))) + (begin + (let ((#{r** 2643}# + (#{extend-var-env 366}# + #{l 2641}# + (list #{v 2639}#) + #{r* 2615}#))) + (begin + (let ((#{w** 2645}# + (#{make-binding-wrap 420}# + (list #{id 2635}#) + #{l 2641}# + #{w* 2616}#))) + (#{expand-opt 2586}# + #{req 2609}# + (cdr #{opt 2610}#) + #{rest 2611}# + #{kw 2612}# + #{body 2613}# + (cons #{v 2639}# #{vars 2614}#) + #{r** 2643}# + #{w** 2645}# + (cons (syntax->datum + #{id 2635}#) + #{out 2617}#) + (cons (#{chi 456}# + #{i 2636}# + #{r* 2615}# + #{w* 2616}# + #{mod 2573}#) + #{inits 2618}#))))))))))) + #{tmp 2632}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2631}#)))) + (if #{rest 2611}# + (begin + (let ((#{v 2650}# (#{gen-var 484}# #{rest 2611}#))) (begin - (let ((#{a\ 2774}# (#{f\ 2766}# (car #{x\ 2767}#))) - (#{d\ 2775}# - (#{f\ 2766}# (cdr #{x\ 2767}#)))) - (if (if (eq? #{a\ 2774}# (car #{x\ 2767}#)) - (eq? #{d\ 2775}# (cdr #{x\ 2767}#)) - #f) - #{x\ 2767}# - (cons #{a\ 2774}# #{d\ 2775}#)))) - (if (vector? #{x\ 2767}#) - (begin - (let ((#{old\ 2781}# (vector->list #{x\ 2767}#))) - (begin - (let ((#{new\ 2783}# - (map #{f\ 2766}# #{old\ 2781}#))) - (if (#{and-map*\ 37}# - eq? - #{old\ 2781}# - #{new\ 2783}#) - #{x\ 2767}# - (list->vector #{new\ 2783}#)))))) - #{x\ 2767}#)))))) - (begin (#{f\ 2766}# #{x\ 2758}#)))))) - (#{gen-var\ 489}# - (lambda (#{id\ 2785}#) - (begin - (let ((#{id\ 2788}# - (if (#{syntax-object?\ 345}# #{id\ 2785}#) - (#{syntax-object-expression\ 347}# #{id\ 2785}#) - #{id\ 2785}#))) - (gensym - (string-append (symbol->string #{id\ 2788}#) " ")))))) - (#{lambda-var-list\ 491}# - (lambda (#{vars\ 2790}#) - (letrec* - ((#{lvl\ 2796}# - (lambda (#{vars\ 2797}# #{ls\ 2798}# #{w\ 2799}#) - (if (pair? #{vars\ 2797}#) - (#{lvl\ 2796}# - (cdr #{vars\ 2797}#) - (cons (#{wrap\ 445}# - (car #{vars\ 2797}#) - #{w\ 2799}# - #f) - #{ls\ 2798}#) - #{w\ 2799}#) - (if (#{id?\ 379}# #{vars\ 2797}#) - (cons (#{wrap\ 445}# #{vars\ 2797}# #{w\ 2799}# #f) - #{ls\ 2798}#) - (if (null? #{vars\ 2797}#) - #{ls\ 2798}# - (if (#{syntax-object?\ 345}# #{vars\ 2797}#) - (#{lvl\ 2796}# - (#{syntax-object-expression\ 347}# - #{vars\ 2797}#) - #{ls\ 2798}# - (#{join-wraps\ 427}# - #{w\ 2799}# - (#{syntax-object-wrap\ 349}# #{vars\ 2797}#))) - (cons #{vars\ 2797}# #{ls\ 2798}#)))))))) - (begin (#{lvl\ 2796}# #{vars\ 2790}# '() '(()))))))) - (begin - (set! #{make-primitive-ref\ 243}# - (lambda (#{src\ 757}# #{name\ 758}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 2) - #{src\ 757}# - #{name\ 758}#))) - (set! #{fx+\ 282}# +) - (set! #{fx-\ 284}# -) - (set! #{fx=\ 286}# =) - (set! #{fx<\ 288}# <) - (set! #{set-syntax-object-expression!\ 353}# - (lambda (#{x\ 1135}# #{update\ 1136}#) - (vector-set! #{x\ 1135}# 1 #{update\ 1136}#))) - (set! #{set-syntax-object-wrap!\ 355}# - (lambda (#{x\ 1139}# #{update\ 1140}#) - (vector-set! #{x\ 1139}# 2 #{update\ 1140}#))) - (set! #{set-syntax-object-module!\ 357}# - (lambda (#{x\ 1143}# #{update\ 1144}#) - (vector-set! #{x\ 1143}# 3 #{update\ 1144}#))) - (set! #{ribcage?\ 399}# - (lambda (#{x\ 1224}#) - (if (vector? #{x\ 1224}#) - (if (= (vector-length #{x\ 1224}#) 4) - (eq? (vector-ref #{x\ 1224}# 0) 'ribcage) - #f) - #f))) - (begin - (#{global-extend\ 375}# - 'local-syntax - 'letrec-syntax - #t) - (#{global-extend\ 375}# - 'local-syntax - 'let-syntax - #f) - (#{global-extend\ 375}# - 'core - 'fluid-let-syntax - (lambda (#{e\ 2810}# - #{r\ 2811}# - #{w\ 2812}# - #{s\ 2813}# - #{mod\ 2814}#) - (let ((#{tmp\ 2820}# #{e\ 2810}#)) - (let ((#{tmp\ 2821}# - ($sc-dispatch - #{tmp\ 2820}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp\ 2821}# - (@apply - (lambda (#{var\ 2826}# - #{val\ 2827}# - #{e1\ 2828}# - #{e2\ 2829}#) - (#{valid-bound-ids?\ 439}# #{var\ 2826}#)) - #{tmp\ 2821}#) + (let ((#{l 2652}# + (#{gen-labels 391}# (list #{v 2650}#)))) + (begin + (let ((#{r* 2654}# + (#{extend-var-env 366}# + #{l 2652}# + (list #{v 2650}#) + #{r* 2615}#))) + (begin + (let ((#{w* 2656}# + (#{make-binding-wrap 420}# + (list #{rest 2611}#) + #{l 2652}# + #{w* 2616}#))) + (#{expand-kw 2588}# + #{req 2609}# + (if (pair? #{out 2617}#) + (reverse #{out 2617}#) + #f) + (syntax->datum #{rest 2611}#) + (if (pair? #{kw 2612}#) + (cdr #{kw 2612}#) + #{kw 2612}#) + #{body 2613}# + (cons #{v 2650}# #{vars 2614}#) + #{r* 2654}# + #{w* 2656}# + (if (pair? #{kw 2612}#) + (car #{kw 2612}#) + #f) + '() + #{inits 2618}#))))))))) + (#{expand-kw 2588}# + #{req 2609}# + (if (pair? #{out 2617}#) + (reverse #{out 2617}#) #f) - (@apply - (lambda (#{var\ 2835}# - #{val\ 2836}# - #{e1\ 2837}# - #{e2\ 2838}#) - (begin - (let ((#{names\ 2840}# - (map (lambda (#{x\ 2841}#) - (#{id-var-name\ 433}# - #{x\ 2841}# - #{w\ 2812}#)) - #{var\ 2835}#))) + #f + (if (pair? #{kw 2612}#) + (cdr #{kw 2612}#) + #{kw 2612}#) + #{body 2613}# + #{vars 2614}# + #{r* 2615}# + #{w* 2616}# + (if (pair? #{kw 2612}#) (car #{kw 2612}#) #f) + '() + #{inits 2618}#))))) + (#{expand-kw 2588}# + (lambda (#{req 2658}# + #{opt 2659}# + #{rest 2660}# + #{kw 2661}# + #{body 2662}# + #{vars 2663}# + #{r* 2664}# + #{w* 2665}# + #{aok 2666}# + #{out 2667}# + #{inits 2668}#) + (if (pair? #{kw 2661}#) + (let ((#{tmp 2682}# (car #{kw 2661}#))) + (let ((#{tmp 2683}# + ($sc-dispatch #{tmp 2682}# '(any any any)))) + (if #{tmp 2683}# + (@apply + (lambda (#{k 2687}# #{id 2688}# #{i 2689}#) (begin - (for-each - (lambda (#{id\ 2844}# #{n\ 2845}#) - (begin - (let ((#{atom-key\ 2850}# - (car (#{lookup\ 373}# - #{n\ 2845}# - #{r\ 2811}# - #{mod\ 2814}#)))) - (if (eqv? #{atom-key\ 2850}# - 'displaced-lexical) - (syntax-violation - 'fluid-let-syntax - "identifier out of context" - #{e\ 2810}# - (#{source-wrap\ 447}# - #{id\ 2844}# - #{w\ 2812}# - #{s\ 2813}# - #{mod\ 2814}#)))))) - #{var\ 2835}# - #{names\ 2840}#) - (#{chi-body\ 469}# - (cons #{e1\ 2837}# #{e2\ 2838}#) - (#{source-wrap\ 447}# - #{e\ 2810}# - #{w\ 2812}# - #{s\ 2813}# - #{mod\ 2814}#) - (#{extend-env\ 367}# - #{names\ 2840}# - (begin - (let ((#{trans-r\ 2856}# - (#{macros-only-env\ 371}# - #{r\ 2811}#))) - (map (lambda (#{x\ 2857}#) - (cons 'macro - (#{eval-local-transformer\ 473}# - (#{chi\ 461}# - #{x\ 2857}# - #{trans-r\ 2856}# - #{w\ 2812}# - #{mod\ 2814}#) - #{mod\ 2814}#))) - #{val\ 2836}#))) - #{r\ 2811}#) - #{w\ 2812}# - #{mod\ 2814}#))))) - #{tmp\ 2821}#) - (let ((#{_\ 2862}# #{tmp\ 2820}#)) - (syntax-violation - 'fluid-let-syntax - "bad syntax" - (#{source-wrap\ 447}# - #{e\ 2810}# - #{w\ 2812}# - #{s\ 2813}# - #{mod\ 2814}#)))))))) - (#{global-extend\ 375}# - 'core - 'quote - (lambda (#{e\ 2863}# - #{r\ 2864}# - #{w\ 2865}# - #{s\ 2866}# - #{mod\ 2867}#) - (let ((#{tmp\ 2873}# #{e\ 2863}#)) - (let ((#{tmp\ 2874}# - ($sc-dispatch #{tmp\ 2873}# '(_ any)))) - (if #{tmp\ 2874}# - (@apply - (lambda (#{e\ 2876}#) - (#{build-data\ 331}# - #{s\ 2866}# - (#{strip\ 487}# #{e\ 2876}# #{w\ 2865}#))) - #{tmp\ 2874}#) - (let ((#{_\ 2878}# #{tmp\ 2873}#)) - (syntax-violation - 'quote - "bad syntax" - (#{source-wrap\ 447}# - #{e\ 2863}# - #{w\ 2865}# - #{s\ 2866}# - #{mod\ 2867}#)))))))) - (#{global-extend\ 375}# - 'core - 'syntax - (letrec* - ((#{gen-syntax\ 2880}# - (lambda (#{src\ 2895}# - #{e\ 2896}# - #{r\ 2897}# - #{maps\ 2898}# - #{ellipsis?\ 2899}# - #{mod\ 2900}#) - (if (#{id?\ 379}# #{e\ 2896}#) - (begin - (let ((#{label\ 2908}# - (#{id-var-name\ 433}# #{e\ 2896}# '(())))) - (begin - (let ((#{b\ 2911}# - (#{lookup\ 373}# - #{label\ 2908}# - #{r\ 2897}# - #{mod\ 2900}#))) - (if (eq? (car #{b\ 2911}#) 'syntax) + (let ((#{v 2692}# + (#{gen-var 484}# #{id 2688}#))) + (begin + (let ((#{l 2694}# + (#{gen-labels 391}# + (list #{v 2692}#)))) + (begin + (let ((#{r** 2696}# + (#{extend-var-env 366}# + #{l 2694}# + (list #{v 2692}#) + #{r* 2664}#))) + (begin + (let ((#{w** 2698}# + (#{make-binding-wrap 420}# + (list #{id 2688}#) + #{l 2694}# + #{w* 2665}#))) + (#{expand-kw 2588}# + #{req 2658}# + #{opt 2659}# + #{rest 2660}# + (cdr #{kw 2661}#) + #{body 2662}# + (cons #{v 2692}# #{vars 2663}#) + #{r** 2696}# + #{w** 2698}# + #{aok 2666}# + (cons (list (syntax->datum + #{k 2687}#) + (syntax->datum + #{id 2688}#) + #{v 2692}#) + #{out 2667}#) + (cons (#{chi 456}# + #{i 2689}# + #{r* 2664}# + #{w* 2665}# + #{mod 2573}#) + #{inits 2668}#))))))))))) + #{tmp 2683}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2682}#)))) + (#{expand-body 2590}# + #{req 2658}# + #{opt 2659}# + #{rest 2660}# + (if (begin + (let ((#{t 2702}# #{aok 2666}#)) + (if #{t 2702}# #{t 2702}# (pair? #{out 2667}#)))) + (cons #{aok 2666}# (reverse #{out 2667}#)) + #f) + #{body 2662}# + (reverse #{vars 2663}#) + #{r* 2664}# + #{w* 2665}# + (reverse #{inits 2668}#) + '())))) + (#{expand-body 2590}# + (lambda (#{req 2704}# + #{opt 2705}# + #{rest 2706}# + #{kw 2707}# + #{body 2708}# + #{vars 2709}# + #{r* 2710}# + #{w* 2711}# + #{inits 2712}# + #{meta 2713}#) + (let ((#{tmp 2724}# #{body 2708}#)) + (let ((#{tmp 2725}# + ($sc-dispatch #{tmp 2724}# '(any any . each-any)))) + (if (if #{tmp 2725}# + (@apply + (lambda (#{docstring 2729}# + #{e1 2730}# + #{e2 2731}#) + (string? (syntax->datum #{docstring 2729}#))) + #{tmp 2725}#) + #f) + (@apply + (lambda (#{docstring 2735}# #{e1 2736}# #{e2 2737}#) + (#{expand-body 2590}# + #{req 2704}# + #{opt 2705}# + #{rest 2706}# + #{kw 2707}# + (cons #{e1 2736}# #{e2 2737}#) + #{vars 2709}# + #{r* 2710}# + #{w* 2711}# + #{inits 2712}# + (append + #{meta 2713}# + (list (cons 'documentation + (syntax->datum + #{docstring 2735}#)))))) + #{tmp 2725}#) + (let ((#{tmp 2740}# + ($sc-dispatch + #{tmp 2724}# + '(#(vector #(each (any . any))) + any + . + each-any)))) + (if #{tmp 2740}# + (@apply + (lambda (#{k 2745}# + #{v 2746}# + #{e1 2747}# + #{e2 2748}#) + (#{expand-body 2590}# + #{req 2704}# + #{opt 2705}# + #{rest 2706}# + #{kw 2707}# + (cons #{e1 2747}# #{e2 2748}#) + #{vars 2709}# + #{r* 2710}# + #{w* 2711}# + #{inits 2712}# + (append + #{meta 2713}# + (syntax->datum + (map cons #{k 2745}# #{v 2746}#))))) + #{tmp 2740}#) + (let ((#{tmp 2752}# + ($sc-dispatch + #{tmp 2724}# + '(any . each-any)))) + (if #{tmp 2752}# + (@apply + (lambda (#{e1 2755}# #{e2 2756}#) + (values + #{meta 2713}# + #{req 2704}# + #{opt 2705}# + #{rest 2706}# + #{kw 2707}# + #{inits 2712}# + #{vars 2709}# + (#{chi-body 464}# + (cons #{e1 2755}# #{e2 2756}#) + (#{source-wrap 444}# + #{e 2569}# + #{w 2571}# + #{s 2572}# + #{mod 2573}#) + #{r* 2710}# + #{w* 2711}# + #{mod 2573}#))) + #{tmp 2752}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2724}#))))))))))) + (begin + (let ((#{tmp 2758}# #{clauses 2575}#)) + (let ((#{tmp 2759}# ($sc-dispatch #{tmp 2758}# '()))) + (if #{tmp 2759}# + (@apply (lambda () (values '() #f)) #{tmp 2759}#) + (let ((#{tmp 2760}# + ($sc-dispatch + #{tmp 2758}# + '((any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp 2760}# + (@apply + (lambda (#{args 2767}# + #{e1 2768}# + #{e2 2769}# + #{args* 2770}# + #{e1* 2771}# + #{e2* 2772}#) + (call-with-values + (lambda () (#{get-formals 2574}# #{args 2767}#)) + (lambda (#{req 2773}# + #{opt 2774}# + #{rest 2775}# + #{kw 2776}#) (call-with-values (lambda () - (begin - (let ((#{var.lev\ 2914}# - (cdr #{b\ 2911}#))) - (#{gen-ref\ 2882}# - #{src\ 2895}# - (car #{var.lev\ 2914}#) - (cdr #{var.lev\ 2914}#) - #{maps\ 2898}#)))) - (lambda (#{var\ 2916}# #{maps\ 2917}#) - (values - (list 'ref #{var\ 2916}#) - #{maps\ 2917}#))) - (if (#{ellipsis?\ 2899}# #{e\ 2896}#) - (syntax-violation - 'syntax - "misplaced ellipsis" - #{src\ 2895}#) + (#{expand-req 2584}# + #{req 2773}# + #{opt 2774}# + #{rest 2775}# + #{kw 2776}# + (cons #{e1 2768}# #{e2 2769}#))) + (lambda (#{meta 2782}# + #{req 2783}# + #{opt 2784}# + #{rest 2785}# + #{kw 2786}# + #{inits 2787}# + #{vars 2788}# + #{body 2789}#) + (call-with-values + (lambda () + (#{chi-lambda-case 480}# + #{e 2569}# + #{r 2570}# + #{w 2571}# + #{s 2572}# + #{mod 2573}# + #{get-formals 2574}# + (map (lambda (#{tmp 2800}# + #{tmp 2799}# + #{tmp 2798}#) + (cons #{tmp 2798}# + (cons #{tmp 2799}# + #{tmp 2800}#))) + #{e2* 2772}# + #{e1* 2771}# + #{args* 2770}#))) + (lambda (#{meta* 2802}# #{else* 2803}#) + (values + (append + #{meta 2782}# + #{meta* 2802}#) + (#{build-lambda-case 324}# + #{s 2572}# + #{req 2783}# + #{opt 2784}# + #{rest 2785}# + #{kw 2786}# + #{inits 2787}# + #{vars 2788}# + #{body 2789}# + #{else* 2803}#))))))))) + #{tmp 2760}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2758}#)))))))))) + (#{strip 482}# + (lambda (#{x 2806}# #{w 2807}#) + (if (memq 'top (car #{w 2807}#)) + #{x 2806}# + (letrec* + ((#{f 2814}# + (lambda (#{x 2815}#) + (if (#{syntax-object? 342}# #{x 2815}#) + (#{strip 482}# + (#{syntax-object-expression 344}# #{x 2815}#) + (#{syntax-object-wrap 346}# #{x 2815}#)) + (if (pair? #{x 2815}#) + (begin + (let ((#{a 2822}# (#{f 2814}# (car #{x 2815}#))) + (#{d 2823}# (#{f 2814}# (cdr #{x 2815}#)))) + (if (if (eq? #{a 2822}# (car #{x 2815}#)) + (eq? #{d 2823}# (cdr #{x 2815}#)) + #f) + #{x 2815}# + (cons #{a 2822}# #{d 2823}#)))) + (if (vector? #{x 2815}#) + (begin + (let ((#{old 2829}# (vector->list #{x 2815}#))) + (begin + (let ((#{new 2831}# + (map #{f 2814}# #{old 2829}#))) + (if (#{and-map* 38}# + eq? + #{old 2829}# + #{new 2831}#) + #{x 2815}# + (list->vector #{new 2831}#)))))) + #{x 2815}#)))))) + (begin (#{f 2814}# #{x 2806}#)))))) + (#{gen-var 484}# + (lambda (#{id 2833}#) + (begin + (let ((#{id 2836}# + (if (#{syntax-object? 342}# #{id 2833}#) + (#{syntax-object-expression 344}# #{id 2833}#) + #{id 2833}#))) + (gensym + (string-append (symbol->string #{id 2836}#) " ")))))) + (#{lambda-var-list 486}# + (lambda (#{vars 2838}#) + (letrec* + ((#{lvl 2844}# + (lambda (#{vars 2845}# #{ls 2846}# #{w 2847}#) + (if (pair? #{vars 2845}#) + (#{lvl 2844}# + (cdr #{vars 2845}#) + (cons (#{wrap 442}# (car #{vars 2845}#) #{w 2847}# #f) + #{ls 2846}#) + #{w 2847}#) + (if (#{id? 376}# #{vars 2845}#) + (cons (#{wrap 442}# #{vars 2845}# #{w 2847}# #f) + #{ls 2846}#) + (if (null? #{vars 2845}#) + #{ls 2846}# + (if (#{syntax-object? 342}# #{vars 2845}#) + (#{lvl 2844}# + (#{syntax-object-expression 344}# #{vars 2845}#) + #{ls 2846}# + (#{join-wraps 424}# + #{w 2847}# + (#{syntax-object-wrap 346}# #{vars 2845}#))) + (cons #{vars 2845}# #{ls 2846}#)))))))) + (begin (#{lvl 2844}# #{vars 2838}# '() '(()))))))) + (begin + (lambda (#{src 804}# #{name 805}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 2) + #{src 804}# + #{name 805}#)) + (lambda (#{x 1182}# #{update 1183}#) + (vector-set! #{x 1182}# 1 #{update 1183}#)) + (lambda (#{x 1186}# #{update 1187}#) + (vector-set! #{x 1186}# 2 #{update 1187}#)) + (lambda (#{x 1190}# #{update 1191}#) + (vector-set! #{x 1190}# 3 #{update 1191}#)) + (lambda (#{x 1271}#) + (if (vector? #{x 1271}#) + (if (= (vector-length #{x 1271}#) 4) + (eq? (vector-ref #{x 1271}# 0) 'ribcage) + #f) + #f)) + (begin + (#{global-extend 372}# + 'local-syntax + 'letrec-syntax + #t) + (#{global-extend 372}# + 'local-syntax + 'let-syntax + #f) + (#{global-extend 372}# + 'core + 'fluid-let-syntax + (lambda (#{e 2858}# + #{r 2859}# + #{w 2860}# + #{s 2861}# + #{mod 2862}#) + (let ((#{tmp 2868}# #{e 2858}#)) + (let ((#{tmp 2869}# + ($sc-dispatch + #{tmp 2868}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 2869}# + (@apply + (lambda (#{var 2874}# + #{val 2875}# + #{e1 2876}# + #{e2 2877}#) + (#{valid-bound-ids? 436}# #{var 2874}#)) + #{tmp 2869}#) + #f) + (@apply + (lambda (#{var 2883}# + #{val 2884}# + #{e1 2885}# + #{e2 2886}#) + (begin + (let ((#{names 2888}# + (map (lambda (#{x 2889}#) + (#{id-var-name 430}# + #{x 2889}# + #{w 2860}#)) + #{var 2883}#))) + (begin + (for-each + (lambda (#{id 2892}# #{n 2893}#) + (begin + (let ((#{atom-key 2898}# + (car (#{lookup 370}# + #{n 2893}# + #{r 2859}# + #{mod 2862}#)))) + (if (eqv? #{atom-key 2898}# + 'displaced-lexical) + (syntax-violation + 'fluid-let-syntax + "identifier out of context" + #{e 2858}# + (#{source-wrap 444}# + #{id 2892}# + #{w 2860}# + #{s 2861}# + #{mod 2862}#)))))) + #{var 2883}# + #{names 2888}#) + (#{chi-body 464}# + (cons #{e1 2885}# #{e2 2886}#) + (#{source-wrap 444}# + #{e 2858}# + #{w 2860}# + #{s 2861}# + #{mod 2862}#) + (#{extend-env 364}# + #{names 2888}# + (begin + (let ((#{trans-r 2904}# + (#{macros-only-env 368}# + #{r 2859}#))) + (map (lambda (#{x 2905}#) + (cons 'macro + (#{eval-local-transformer 468}# + (#{chi 456}# + #{x 2905}# + #{trans-r 2904}# + #{w 2860}# + #{mod 2862}#) + #{mod 2862}#))) + #{val 2884}#))) + #{r 2859}#) + #{w 2860}# + #{mod 2862}#))))) + #{tmp 2869}#) + (let ((#{_ 2910}# #{tmp 2868}#)) + (syntax-violation + 'fluid-let-syntax + "bad syntax" + (#{source-wrap 444}# + #{e 2858}# + #{w 2860}# + #{s 2861}# + #{mod 2862}#)))))))) + (#{global-extend 372}# + 'core + 'quote + (lambda (#{e 2911}# + #{r 2912}# + #{w 2913}# + #{s 2914}# + #{mod 2915}#) + (let ((#{tmp 2921}# #{e 2911}#)) + (let ((#{tmp 2922}# + ($sc-dispatch #{tmp 2921}# '(_ any)))) + (if #{tmp 2922}# + (@apply + (lambda (#{e 2924}#) + (#{build-data 328}# + #{s 2914}# + (#{strip 482}# #{e 2924}# #{w 2913}#))) + #{tmp 2922}#) + (let ((#{_ 2926}# #{tmp 2921}#)) + (syntax-violation + 'quote + "bad syntax" + (#{source-wrap 444}# + #{e 2911}# + #{w 2913}# + #{s 2914}# + #{mod 2915}#)))))))) + (#{global-extend 372}# + 'core + 'syntax + (letrec* + ((#{gen-syntax 2928}# + (lambda (#{src 2943}# + #{e 2944}# + #{r 2945}# + #{maps 2946}# + #{ellipsis? 2947}# + #{mod 2948}#) + (if (#{id? 376}# #{e 2944}#) + (begin + (let ((#{label 2956}# + (#{id-var-name 430}# #{e 2944}# '(())))) + (begin + (let ((#{b 2959}# + (#{lookup 370}# + #{label 2956}# + #{r 2945}# + #{mod 2948}#))) + (if (eq? (car #{b 2959}#) 'syntax) + (call-with-values + (lambda () + (begin + (let ((#{var.lev 2962}# (cdr #{b 2959}#))) + (#{gen-ref 2930}# + #{src 2943}# + (car #{var.lev 2962}#) + (cdr #{var.lev 2962}#) + #{maps 2946}#)))) + (lambda (#{var 2964}# #{maps 2965}#) (values - (list 'quote #{e\ 2896}#) - #{maps\ 2898}#))))))) - (let ((#{tmp\ 2922}# #{e\ 2896}#)) - (let ((#{tmp\ 2923}# - ($sc-dispatch #{tmp\ 2922}# '(any any)))) - (if (if #{tmp\ 2923}# - (@apply - (lambda (#{dots\ 2926}# #{e\ 2927}#) - (#{ellipsis?\ 2899}# #{dots\ 2926}#)) - #{tmp\ 2923}#) - #f) - (@apply - (lambda (#{dots\ 2930}# #{e\ 2931}#) - (#{gen-syntax\ 2880}# - #{src\ 2895}# - #{e\ 2931}# - #{r\ 2897}# - #{maps\ 2898}# - (lambda (#{x\ 2932}#) #f) - #{mod\ 2900}#)) - #{tmp\ 2923}#) - (let ((#{tmp\ 2934}# - ($sc-dispatch - #{tmp\ 2922}# - '(any any . any)))) - (if (if #{tmp\ 2934}# - (@apply - (lambda (#{x\ 2938}# - #{dots\ 2939}# - #{y\ 2940}#) - (#{ellipsis?\ 2899}# #{dots\ 2939}#)) - #{tmp\ 2934}#) - #f) - (@apply - (lambda (#{x\ 2944}# - #{dots\ 2945}# - #{y\ 2946}#) - (letrec* - ((#{f\ 2950}# - (lambda (#{y\ 2951}# #{k\ 2952}#) - (let ((#{tmp\ 2959}# #{y\ 2951}#)) - (let ((#{tmp\ 2960}# - ($sc-dispatch - #{tmp\ 2959}# - '(any . any)))) - (if (if #{tmp\ 2960}# - (@apply - (lambda (#{dots\ 2963}# - #{y\ 2964}#) - (#{ellipsis?\ 2899}# - #{dots\ 2963}#)) - #{tmp\ 2960}#) - #f) - (@apply - (lambda (#{dots\ 2967}# - #{y\ 2968}#) - (#{f\ 2950}# - #{y\ 2968}# - (lambda (#{maps\ 2969}#) - (call-with-values - (lambda () - (#{k\ 2952}# - (cons '() - #{maps\ 2969}#))) - (lambda (#{x\ 2971}# - #{maps\ 2972}#) - (if (null? (car #{maps\ 2972}#)) - (syntax-violation - 'syntax - "extra ellipsis" - #{src\ 2895}#) - (values - (#{gen-mappend\ 2884}# - #{x\ 2971}# - (car #{maps\ 2972}#)) - (cdr #{maps\ 2972}#)))))))) - #{tmp\ 2960}#) - (let ((#{_\ 2976}# - #{tmp\ 2959}#)) - (call-with-values - (lambda () - (#{gen-syntax\ 2880}# - #{src\ 2895}# - #{y\ 2951}# - #{r\ 2897}# - #{maps\ 2898}# - #{ellipsis?\ 2899}# - #{mod\ 2900}#)) - (lambda (#{y\ 2977}# - #{maps\ 2978}#) + (list 'ref #{var 2964}#) + #{maps 2965}#))) + (if (#{ellipsis? 2947}# #{e 2944}#) + (syntax-violation + 'syntax + "misplaced ellipsis" + #{src 2943}#) + (values + (list 'quote #{e 2944}#) + #{maps 2946}#))))))) + (let ((#{tmp 2970}# #{e 2944}#)) + (let ((#{tmp 2971}# + ($sc-dispatch #{tmp 2970}# '(any any)))) + (if (if #{tmp 2971}# + (@apply + (lambda (#{dots 2974}# #{e 2975}#) + (#{ellipsis? 2947}# #{dots 2974}#)) + #{tmp 2971}#) + #f) + (@apply + (lambda (#{dots 2978}# #{e 2979}#) + (#{gen-syntax 2928}# + #{src 2943}# + #{e 2979}# + #{r 2945}# + #{maps 2946}# + (lambda (#{x 2980}#) #f) + #{mod 2948}#)) + #{tmp 2971}#) + (let ((#{tmp 2982}# + ($sc-dispatch + #{tmp 2970}# + '(any any . any)))) + (if (if #{tmp 2982}# + (@apply + (lambda (#{x 2986}# + #{dots 2987}# + #{y 2988}#) + (#{ellipsis? 2947}# #{dots 2987}#)) + #{tmp 2982}#) + #f) + (@apply + (lambda (#{x 2992}# #{dots 2993}# #{y 2994}#) + (letrec* + ((#{f 2998}# + (lambda (#{y 2999}# #{k 3000}#) + (let ((#{tmp 3007}# #{y 2999}#)) + (let ((#{tmp 3008}# + ($sc-dispatch + #{tmp 3007}# + '(any . any)))) + (if (if #{tmp 3008}# + (@apply + (lambda (#{dots 3011}# + #{y 3012}#) + (#{ellipsis? 2947}# + #{dots 3011}#)) + #{tmp 3008}#) + #f) + (@apply + (lambda (#{dots 3015}# + #{y 3016}#) + (#{f 2998}# + #{y 3016}# + (lambda (#{maps 3017}#) (call-with-values (lambda () - (#{k\ 2952}# - #{maps\ 2978}#)) - (lambda (#{x\ 2981}# - #{maps\ 2982}#) - (values - (#{gen-append\ 2890}# - #{x\ 2981}# - #{y\ 2977}#) - #{maps\ 2982}#)))))))))))) - (begin - (#{f\ 2950}# - #{y\ 2946}# - (lambda (#{maps\ 2953}#) - (call-with-values - (lambda () - (#{gen-syntax\ 2880}# - #{src\ 2895}# - #{x\ 2944}# - #{r\ 2897}# - (cons '() #{maps\ 2953}#) - #{ellipsis?\ 2899}# - #{mod\ 2900}#)) - (lambda (#{x\ 2955}# - #{maps\ 2956}#) - (if (null? (car #{maps\ 2956}#)) - (syntax-violation - 'syntax - "extra ellipsis" - #{src\ 2895}#) - (values - (#{gen-map\ 2886}# - #{x\ 2955}# - (car #{maps\ 2956}#)) - (cdr #{maps\ 2956}#)))))))))) - #{tmp\ 2934}#) - (let ((#{tmp\ 2985}# - ($sc-dispatch - #{tmp\ 2922}# - '(any . any)))) - (if #{tmp\ 2985}# - (@apply - (lambda (#{x\ 2988}# #{y\ 2989}#) - (call-with-values - (lambda () - (#{gen-syntax\ 2880}# - #{src\ 2895}# - #{x\ 2988}# - #{r\ 2897}# - #{maps\ 2898}# - #{ellipsis?\ 2899}# - #{mod\ 2900}#)) - (lambda (#{x\ 2990}# #{maps\ 2991}#) - (call-with-values - (lambda () - (#{gen-syntax\ 2880}# - #{src\ 2895}# - #{y\ 2989}# - #{r\ 2897}# - #{maps\ 2991}# - #{ellipsis?\ 2899}# - #{mod\ 2900}#)) - (lambda (#{y\ 2994}# - #{maps\ 2995}#) + (#{k 3000}# + (cons '() + #{maps 3017}#))) + (lambda (#{x 3019}# + #{maps 3020}#) + (if (null? (car #{maps 3020}#)) + (syntax-violation + 'syntax + "extra ellipsis" + #{src 2943}#) + (values + (#{gen-mappend 2932}# + #{x 3019}# + (car #{maps 3020}#)) + (cdr #{maps 3020}#)))))))) + #{tmp 3008}#) + (let ((#{_ 3024}# + #{tmp 3007}#)) + (call-with-values + (lambda () + (#{gen-syntax 2928}# + #{src 2943}# + #{y 2999}# + #{r 2945}# + #{maps 2946}# + #{ellipsis? 2947}# + #{mod 2948}#)) + (lambda (#{y 3025}# + #{maps 3026}#) + (call-with-values + (lambda () + (#{k 3000}# + #{maps 3026}#)) + (lambda (#{x 3029}# + #{maps 3030}#) + (values + (#{gen-append 2938}# + #{x 3029}# + #{y 3025}#) + #{maps 3030}#)))))))))))) + (begin + (#{f 2998}# + #{y 2994}# + (lambda (#{maps 3001}#) + (call-with-values + (lambda () + (#{gen-syntax 2928}# + #{src 2943}# + #{x 2992}# + #{r 2945}# + (cons '() #{maps 3001}#) + #{ellipsis? 2947}# + #{mod 2948}#)) + (lambda (#{x 3003}# #{maps 3004}#) + (if (null? (car #{maps 3004}#)) + (syntax-violation + 'syntax + "extra ellipsis" + #{src 2943}#) (values - (#{gen-cons\ 2888}# - #{x\ 2990}# - #{y\ 2994}#) - #{maps\ 2995}#)))))) - #{tmp\ 2985}#) - (let ((#{tmp\ 2998}# + (#{gen-map 2934}# + #{x 3003}# + (car #{maps 3004}#)) + (cdr #{maps 3004}#)))))))))) + #{tmp 2982}#) + (let ((#{tmp 3033}# + ($sc-dispatch + #{tmp 2970}# + '(any . any)))) + (if #{tmp 3033}# + (@apply + (lambda (#{x 3036}# #{y 3037}#) + (call-with-values + (lambda () + (#{gen-syntax 2928}# + #{src 2943}# + #{x 3036}# + #{r 2945}# + #{maps 2946}# + #{ellipsis? 2947}# + #{mod 2948}#)) + (lambda (#{x 3038}# #{maps 3039}#) + (call-with-values + (lambda () + (#{gen-syntax 2928}# + #{src 2943}# + #{y 3037}# + #{r 2945}# + #{maps 3039}# + #{ellipsis? 2947}# + #{mod 2948}#)) + (lambda (#{y 3042}# #{maps 3043}#) + (values + (#{gen-cons 2936}# + #{x 3038}# + #{y 3042}#) + #{maps 3043}#)))))) + #{tmp 3033}#) + (let ((#{tmp 3046}# + ($sc-dispatch + #{tmp 2970}# + '#(vector (any . each-any))))) + (if #{tmp 3046}# + (@apply + (lambda (#{e1 3049}# #{e2 3050}#) + (call-with-values + (lambda () + (#{gen-syntax 2928}# + #{src 2943}# + (cons #{e1 3049}# #{e2 3050}#) + #{r 2945}# + #{maps 2946}# + #{ellipsis? 2947}# + #{mod 2948}#)) + (lambda (#{e 3052}# #{maps 3053}#) + (values + (#{gen-vector 2940}# + #{e 3052}#) + #{maps 3053}#)))) + #{tmp 3046}#) + (let ((#{_ 3057}# #{tmp 2970}#)) + (values + (list 'quote #{e 2944}#) + #{maps 2946}#)))))))))))))) + (#{gen-ref 2930}# + (lambda (#{src 3059}# + #{var 3060}# + #{level 3061}# + #{maps 3062}#) + (if (= #{level 3061}# 0) + (values #{var 3060}# #{maps 3062}#) + (if (null? #{maps 3062}#) + (syntax-violation + 'syntax + "missing ellipsis" + #{src 3059}#) + (call-with-values + (lambda () + (#{gen-ref 2930}# + #{src 3059}# + #{var 3060}# + (#{1-}# #{level 3061}#) + (cdr #{maps 3062}#))) + (lambda (#{outer-var 3069}# #{outer-maps 3070}#) + (begin + (let ((#{b 3074}# + (assq #{outer-var 3069}# + (car #{maps 3062}#)))) + (if #{b 3074}# + (values (cdr #{b 3074}#) #{maps 3062}#) + (begin + (let ((#{inner-var 3076}# + (#{gen-var 484}# 'tmp))) + (values + #{inner-var 3076}# + (cons (cons (cons #{outer-var 3069}# + #{inner-var 3076}#) + (car #{maps 3062}#)) + #{outer-maps 3070}#))))))))))))) + (#{gen-mappend 2932}# + (lambda (#{e 3077}# #{map-env 3078}#) + (list 'apply + '(primitive append) + (#{gen-map 2934}# #{e 3077}# #{map-env 3078}#)))) + (#{gen-map 2934}# + (lambda (#{e 3082}# #{map-env 3083}#) + (begin + (let ((#{formals 3088}# (map cdr #{map-env 3083}#)) + (#{actuals 3089}# + (map (lambda (#{x 3090}#) + (list 'ref (car #{x 3090}#))) + #{map-env 3083}#))) + (if (eq? (car #{e 3082}#) 'ref) + (car #{actuals 3089}#) + (if (and-map + (lambda (#{x 3097}#) + (if (eq? (car #{x 3097}#) 'ref) + (memq (car (cdr #{x 3097}#)) + #{formals 3088}#) + #f)) + (cdr #{e 3082}#)) + (cons 'map + (cons (list 'primitive (car #{e 3082}#)) + (map (begin + (let ((#{r 3103}# + (map cons + #{formals 3088}# + #{actuals 3089}#))) + (lambda (#{x 3104}#) + (cdr (assq (car (cdr #{x 3104}#)) + #{r 3103}#))))) + (cdr #{e 3082}#)))) + (cons 'map + (cons (list 'lambda + #{formals 3088}# + #{e 3082}#) + #{actuals 3089}#)))))))) + (#{gen-cons 2936}# + (lambda (#{x 3108}# #{y 3109}#) + (begin + (let ((#{atom-key 3114}# (car #{y 3109}#))) + (if (eqv? #{atom-key 3114}# 'quote) + (if (eq? (car #{x 3108}#) 'quote) + (list 'quote + (cons (car (cdr #{x 3108}#)) + (car (cdr #{y 3109}#)))) + (if (eq? (car (cdr #{y 3109}#)) '()) + (list 'list #{x 3108}#) + (list 'cons #{x 3108}# #{y 3109}#))) + (if (eqv? #{atom-key 3114}# 'list) + (cons 'list (cons #{x 3108}# (cdr #{y 3109}#))) + (list 'cons #{x 3108}# #{y 3109}#))))))) + (#{gen-append 2938}# + (lambda (#{x 3123}# #{y 3124}#) + (if (equal? #{y 3124}# ''()) + #{x 3123}# + (list 'append #{x 3123}# #{y 3124}#)))) + (#{gen-vector 2940}# + (lambda (#{x 3128}#) + (if (eq? (car #{x 3128}#) 'list) + (cons 'vector (cdr #{x 3128}#)) + (if (eq? (car #{x 3128}#) 'quote) + (list 'quote + (list->vector (car (cdr #{x 3128}#)))) + (list 'list->vector #{x 3128}#))))) + (#{regen 2942}# + (lambda (#{x 3138}#) + (begin + (let ((#{atom-key 3142}# (car #{x 3138}#))) + (if (eqv? #{atom-key 3142}# 'ref) + (#{build-lexical-reference 308}# + 'value + #f + (car (cdr #{x 3138}#)) + (car (cdr #{x 3138}#))) + (if (eqv? #{atom-key 3142}# 'primitive) + (#{build-primref 326}# #f (car (cdr #{x 3138}#))) + (if (eqv? #{atom-key 3142}# 'quote) + (#{build-data 328}# #f (car (cdr #{x 3138}#))) + (if (eqv? #{atom-key 3142}# 'lambda) + (if (list? (car (cdr #{x 3138}#))) + (#{build-simple-lambda 320}# + #f + (car (cdr #{x 3138}#)) + #f + (car (cdr #{x 3138}#)) + '() + (#{regen 2942}# + (car (cdr (cdr #{x 3138}#))))) + (error "how did we get here" #{x 3138}#)) + (#{build-application 302}# + #f + (#{build-primref 326}# #f (car #{x 3138}#)) + (map #{regen 2942}# + (cdr #{x 3138}#)))))))))))) + (begin + (lambda (#{e 3154}# + #{r 3155}# + #{w 3156}# + #{s 3157}# + #{mod 3158}#) + (begin + (let ((#{e 3165}# + (#{source-wrap 444}# + #{e 3154}# + #{w 3156}# + #{s 3157}# + #{mod 3158}#))) + (let ((#{tmp 3166}# #{e 3165}#)) + (let ((#{tmp 3167}# + ($sc-dispatch #{tmp 3166}# '(_ any)))) + (if #{tmp 3167}# + (@apply + (lambda (#{x 3169}#) + (call-with-values + (lambda () + (#{gen-syntax 2928}# + #{e 3165}# + #{x 3169}# + #{r 3155}# + '() + #{ellipsis? 472}# + #{mod 3158}#)) + (lambda (#{e 3170}# #{maps 3171}#) + (#{regen 2942}# #{e 3170}#)))) + #{tmp 3167}#) + (let ((#{_ 3175}# #{tmp 3166}#)) + (syntax-violation + 'syntax + "bad `syntax' form" + #{e 3165}#))))))))))) + (#{global-extend 372}# + 'core + 'lambda + (lambda (#{e 3176}# + #{r 3177}# + #{w 3178}# + #{s 3179}# + #{mod 3180}#) + (let ((#{tmp 3186}# #{e 3176}#)) + (let ((#{tmp 3187}# + ($sc-dispatch + #{tmp 3186}# + '(_ any any . each-any)))) + (if #{tmp 3187}# + (@apply + (lambda (#{args 3191}# #{e1 3192}# #{e2 3193}#) + (call-with-values + (lambda () + (#{lambda-formals 474}# #{args 3191}#)) + (lambda (#{req 3194}# + #{opt 3195}# + #{rest 3196}# + #{kw 3197}#) + (letrec* + ((#{lp 3205}# + (lambda (#{body 3206}# #{meta 3207}#) + (let ((#{tmp 3209}# #{body 3206}#)) + (let ((#{tmp 3210}# ($sc-dispatch - #{tmp\ 2922}# - '#(vector (any . each-any))))) - (if #{tmp\ 2998}# + #{tmp 3209}# + '(any any . each-any)))) + (if (if #{tmp 3210}# + (@apply + (lambda (#{docstring 3214}# + #{e1 3215}# + #{e2 3216}#) + (string? + (syntax->datum + #{docstring 3214}#))) + #{tmp 3210}#) + #f) (@apply - (lambda (#{e1\ 3001}# #{e2\ 3002}#) - (call-with-values - (lambda () - (#{gen-syntax\ 2880}# - #{src\ 2895}# - (cons #{e1\ 3001}# - #{e2\ 3002}#) - #{r\ 2897}# - #{maps\ 2898}# - #{ellipsis?\ 2899}# - #{mod\ 2900}#)) - (lambda (#{e\ 3004}# - #{maps\ 3005}#) - (values - (#{gen-vector\ 2892}# - #{e\ 3004}#) - #{maps\ 3005}#)))) - #{tmp\ 2998}#) - (let ((#{_\ 3009}# #{tmp\ 2922}#)) - (values - (list 'quote #{e\ 2896}#) - #{maps\ 2898}#)))))))))))))) - (#{gen-ref\ 2882}# - (lambda (#{src\ 3011}# - #{var\ 3012}# - #{level\ 3013}# - #{maps\ 3014}#) - (if (#{fx=\ 286}# #{level\ 3013}# 0) - (values #{var\ 3012}# #{maps\ 3014}#) - (if (null? #{maps\ 3014}#) - (syntax-violation - 'syntax - "missing ellipsis" - #{src\ 3011}#) - (call-with-values - (lambda () - (#{gen-ref\ 2882}# - #{src\ 3011}# - #{var\ 3012}# - (#{fx-\ 284}# #{level\ 3013}# 1) - (cdr #{maps\ 3014}#))) - (lambda (#{outer-var\ 3019}# #{outer-maps\ 3020}#) - (begin - (let ((#{b\ 3024}# - (assq #{outer-var\ 3019}# - (car #{maps\ 3014}#)))) - (if #{b\ 3024}# - (values (cdr #{b\ 3024}#) #{maps\ 3014}#) - (begin - (let ((#{inner-var\ 3026}# - (#{gen-var\ 489}# 'tmp))) - (values - #{inner-var\ 3026}# - (cons (cons (cons #{outer-var\ 3019}# - #{inner-var\ 3026}#) - (car #{maps\ 3014}#)) - #{outer-maps\ 3020}#))))))))))))) - (#{gen-mappend\ 2884}# - (lambda (#{e\ 3027}# #{map-env\ 3028}#) - (list 'apply - '(primitive append) - (#{gen-map\ 2886}# #{e\ 3027}# #{map-env\ 3028}#)))) - (#{gen-map\ 2886}# - (lambda (#{e\ 3032}# #{map-env\ 3033}#) - (begin - (let ((#{formals\ 3038}# (map cdr #{map-env\ 3033}#)) - (#{actuals\ 3039}# - (map (lambda (#{x\ 3040}#) - (list 'ref (car #{x\ 3040}#))) - #{map-env\ 3033}#))) - (if (eq? (car #{e\ 3032}#) 'ref) - (car #{actuals\ 3039}#) - (if (and-map - (lambda (#{x\ 3047}#) - (if (eq? (car #{x\ 3047}#) 'ref) - (memq (car (cdr #{x\ 3047}#)) - #{formals\ 3038}#) - #f)) - (cdr #{e\ 3032}#)) - (cons 'map - (cons (list 'primitive (car #{e\ 3032}#)) - (map (begin - (let ((#{r\ 3053}# - (map cons - #{formals\ 3038}# - #{actuals\ 3039}#))) - (lambda (#{x\ 3054}#) - (cdr (assq (car (cdr #{x\ 3054}#)) - #{r\ 3053}#))))) - (cdr #{e\ 3032}#)))) - (cons 'map - (cons (list 'lambda - #{formals\ 3038}# - #{e\ 3032}#) - #{actuals\ 3039}#)))))))) - (#{gen-cons\ 2888}# - (lambda (#{x\ 3058}# #{y\ 3059}#) - (begin - (let ((#{atom-key\ 3064}# (car #{y\ 3059}#))) - (if (eqv? #{atom-key\ 3064}# 'quote) - (if (eq? (car #{x\ 3058}#) 'quote) - (list 'quote - (cons (car (cdr #{x\ 3058}#)) - (car (cdr #{y\ 3059}#)))) - (if (eq? (car (cdr #{y\ 3059}#)) '()) - (list 'list #{x\ 3058}#) - (list 'cons #{x\ 3058}# #{y\ 3059}#))) - (if (eqv? #{atom-key\ 3064}# 'list) - (cons 'list (cons #{x\ 3058}# (cdr #{y\ 3059}#))) - (list 'cons #{x\ 3058}# #{y\ 3059}#))))))) - (#{gen-append\ 2890}# - (lambda (#{x\ 3073}# #{y\ 3074}#) - (if (equal? #{y\ 3074}# ''()) - #{x\ 3073}# - (list 'append #{x\ 3073}# #{y\ 3074}#)))) - (#{gen-vector\ 2892}# - (lambda (#{x\ 3078}#) - (if (eq? (car #{x\ 3078}#) 'list) - (cons 'vector (cdr #{x\ 3078}#)) - (if (eq? (car #{x\ 3078}#) 'quote) - (list 'quote - (list->vector (car (cdr #{x\ 3078}#)))) - (list 'list->vector #{x\ 3078}#))))) - (#{regen\ 2894}# - (lambda (#{x\ 3088}#) - (begin - (let ((#{atom-key\ 3092}# (car #{x\ 3088}#))) - (if (eqv? #{atom-key\ 3092}# 'ref) - (#{build-lexical-reference\ 311}# - 'value - #f - (car (cdr #{x\ 3088}#)) - (car (cdr #{x\ 3088}#))) - (if (eqv? #{atom-key\ 3092}# 'primitive) - (#{build-primref\ 329}# - #f - (car (cdr #{x\ 3088}#))) - (if (eqv? #{atom-key\ 3092}# 'quote) - (#{build-data\ 331}# #f (car (cdr #{x\ 3088}#))) - (if (eqv? #{atom-key\ 3092}# 'lambda) - (if (list? (car (cdr #{x\ 3088}#))) - (#{build-simple-lambda\ 323}# - #f - (car (cdr #{x\ 3088}#)) - #f - (car (cdr #{x\ 3088}#)) - '() - (#{regen\ 2894}# - (car (cdr (cdr #{x\ 3088}#))))) - (error "how did we get here" #{x\ 3088}#)) - (#{build-application\ 305}# - #f - (#{build-primref\ 329}# - #f - (car #{x\ 3088}#)) - (map #{regen\ 2894}# - (cdr #{x\ 3088}#)))))))))))) - (begin - (lambda (#{e\ 3104}# - #{r\ 3105}# - #{w\ 3106}# - #{s\ 3107}# - #{mod\ 3108}#) - (begin - (let ((#{e\ 3115}# - (#{source-wrap\ 447}# - #{e\ 3104}# - #{w\ 3106}# - #{s\ 3107}# - #{mod\ 3108}#))) - (let ((#{tmp\ 3116}# #{e\ 3115}#)) - (let ((#{tmp\ 3117}# - ($sc-dispatch #{tmp\ 3116}# '(_ any)))) - (if #{tmp\ 3117}# - (@apply - (lambda (#{x\ 3119}#) - (call-with-values - (lambda () - (#{gen-syntax\ 2880}# - #{e\ 3115}# - #{x\ 3119}# - #{r\ 3105}# - '() - #{ellipsis?\ 477}# - #{mod\ 3108}#)) - (lambda (#{e\ 3120}# #{maps\ 3121}#) - (#{regen\ 2894}# #{e\ 3120}#)))) - #{tmp\ 3117}#) - (let ((#{_\ 3125}# #{tmp\ 3116}#)) - (syntax-violation - 'syntax - "bad `syntax' form" - #{e\ 3115}#))))))))))) - (#{global-extend\ 375}# - 'core - 'lambda - (lambda (#{e\ 3126}# - #{r\ 3127}# - #{w\ 3128}# - #{s\ 3129}# - #{mod\ 3130}#) - (let ((#{tmp\ 3136}# #{e\ 3126}#)) - (let ((#{tmp\ 3137}# - ($sc-dispatch - #{tmp\ 3136}# - '(_ any any . each-any)))) - (if #{tmp\ 3137}# - (@apply - (lambda (#{args\ 3141}# #{e1\ 3142}# #{e2\ 3143}#) - (call-with-values - (lambda () - (#{lambda-formals\ 479}# #{args\ 3141}#)) - (lambda (#{req\ 3144}# - #{opt\ 3145}# - #{rest\ 3146}# - #{kw\ 3147}#) - (letrec* - ((#{lp\ 3155}# - (lambda (#{body\ 3156}# #{meta\ 3157}#) - (let ((#{tmp\ 3159}# #{body\ 3156}#)) - (let ((#{tmp\ 3160}# - ($sc-dispatch - #{tmp\ 3159}# - '(any any . each-any)))) - (if (if #{tmp\ 3160}# - (@apply - (lambda (#{docstring\ 3164}# - #{e1\ 3165}# - #{e2\ 3166}#) - (string? + (lambda (#{docstring 3220}# + #{e1 3221}# + #{e2 3222}#) + (#{lp 3205}# + (cons #{e1 3221}# #{e2 3222}#) + (append + #{meta 3207}# + (list (cons 'documentation + (syntax->datum + #{docstring 3220}#)))))) + #{tmp 3210}#) + (let ((#{tmp 3225}# + ($sc-dispatch + #{tmp 3209}# + '(#(vector + #(each (any . any))) + any + . + each-any)))) + (if #{tmp 3225}# + (@apply + (lambda (#{k 3230}# + #{v 3231}# + #{e1 3232}# + #{e2 3233}#) + (#{lp 3205}# + (cons #{e1 3232}# + #{e2 3233}#) + (append + #{meta 3207}# (syntax->datum - #{docstring\ 3164}#))) - #{tmp\ 3160}#) - #f) - (@apply - (lambda (#{docstring\ 3170}# - #{e1\ 3171}# - #{e2\ 3172}#) - (#{lp\ 3155}# - (cons #{e1\ 3171}# - #{e2\ 3172}#) - (append - #{meta\ 3157}# - (list (cons 'documentation - (syntax->datum - #{docstring\ 3170}#)))))) - #{tmp\ 3160}#) - (let ((#{tmp\ 3175}# - ($sc-dispatch - #{tmp\ 3159}# - '(#(vector - #(each (any . any))) - any - . - each-any)))) - (if #{tmp\ 3175}# - (@apply - (lambda (#{k\ 3180}# - #{v\ 3181}# - #{e1\ 3182}# - #{e2\ 3183}#) - (#{lp\ 3155}# - (cons #{e1\ 3182}# - #{e2\ 3183}#) - (append - #{meta\ 3157}# - (syntax->datum - (map cons - #{k\ 3180}# - #{v\ 3181}#))))) - #{tmp\ 3175}#) - (let ((#{_\ 3188}# - #{tmp\ 3159}#)) - (#{chi-simple-lambda\ 481}# - #{e\ 3126}# - #{r\ 3127}# - #{w\ 3128}# - #{s\ 3129}# - #{mod\ 3130}# - #{req\ 3144}# - #{rest\ 3146}# - #{meta\ 3157}# - #{body\ 3156}#)))))))))) + (map cons + #{k 3230}# + #{v 3231}#))))) + #{tmp 3225}#) + (let ((#{_ 3238}# #{tmp 3209}#)) + (#{chi-simple-lambda 476}# + #{e 3176}# + #{r 3177}# + #{w 3178}# + #{s 3179}# + #{mod 3180}# + #{req 3194}# + #{rest 3196}# + #{meta 3207}# + #{body 3206}#)))))))))) + (begin + (#{lp 3205}# + (cons #{e1 3192}# #{e2 3193}#) + '())))))) + #{tmp 3187}#) + (let ((#{_ 3240}# #{tmp 3186}#)) + (syntax-violation + 'lambda + "bad lambda" + #{e 3176}#))))))) + (#{global-extend 372}# + 'core + 'lambda* + (lambda (#{e 3241}# + #{r 3242}# + #{w 3243}# + #{s 3244}# + #{mod 3245}#) + (let ((#{tmp 3251}# #{e 3241}#)) + (let ((#{tmp 3252}# + ($sc-dispatch + #{tmp 3251}# + '(_ any any . each-any)))) + (if #{tmp 3252}# + (@apply + (lambda (#{args 3256}# #{e1 3257}# #{e2 3258}#) + (call-with-values + (lambda () + (#{chi-lambda-case 480}# + #{e 3241}# + #{r 3242}# + #{w 3243}# + #{s 3244}# + #{mod 3245}# + #{lambda*-formals 478}# + (list (cons #{args 3256}# + (cons #{e1 3257}# #{e2 3258}#))))) + (lambda (#{meta 3260}# #{lcase 3261}#) + (#{build-case-lambda 322}# + #{s 3244}# + #{meta 3260}# + #{lcase 3261}#)))) + #{tmp 3252}#) + (let ((#{_ 3265}# #{tmp 3251}#)) + (syntax-violation + 'lambda + "bad lambda*" + #{e 3241}#))))))) + (#{global-extend 372}# + 'core + 'case-lambda + (lambda (#{e 3266}# + #{r 3267}# + #{w 3268}# + #{s 3269}# + #{mod 3270}#) + (let ((#{tmp 3276}# #{e 3266}#)) + (let ((#{tmp 3277}# + ($sc-dispatch + #{tmp 3276}# + '(_ (any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp 3277}# + (@apply + (lambda (#{args 3284}# + #{e1 3285}# + #{e2 3286}# + #{args* 3287}# + #{e1* 3288}# + #{e2* 3289}#) + (call-with-values + (lambda () + (#{chi-lambda-case 480}# + #{e 3266}# + #{r 3267}# + #{w 3268}# + #{s 3269}# + #{mod 3270}# + #{lambda-formals 474}# + (cons (cons #{args 3284}# + (cons #{e1 3285}# #{e2 3286}#)) + (map (lambda (#{tmp 3293}# + #{tmp 3292}# + #{tmp 3291}#) + (cons #{tmp 3291}# + (cons #{tmp 3292}# + #{tmp 3293}#))) + #{e2* 3289}# + #{e1* 3288}# + #{args* 3287}#)))) + (lambda (#{meta 3295}# #{lcase 3296}#) + (#{build-case-lambda 322}# + #{s 3269}# + #{meta 3295}# + #{lcase 3296}#)))) + #{tmp 3277}#) + (let ((#{_ 3300}# #{tmp 3276}#)) + (syntax-violation + 'case-lambda + "bad case-lambda" + #{e 3266}#))))))) + (#{global-extend 372}# + 'core + 'case-lambda* + (lambda (#{e 3301}# + #{r 3302}# + #{w 3303}# + #{s 3304}# + #{mod 3305}#) + (let ((#{tmp 3311}# #{e 3301}#)) + (let ((#{tmp 3312}# + ($sc-dispatch + #{tmp 3311}# + '(_ (any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp 3312}# + (@apply + (lambda (#{args 3319}# + #{e1 3320}# + #{e2 3321}# + #{args* 3322}# + #{e1* 3323}# + #{e2* 3324}#) + (call-with-values + (lambda () + (#{chi-lambda-case 480}# + #{e 3301}# + #{r 3302}# + #{w 3303}# + #{s 3304}# + #{mod 3305}# + #{lambda*-formals 478}# + (cons (cons #{args 3319}# + (cons #{e1 3320}# #{e2 3321}#)) + (map (lambda (#{tmp 3328}# + #{tmp 3327}# + #{tmp 3326}#) + (cons #{tmp 3326}# + (cons #{tmp 3327}# + #{tmp 3328}#))) + #{e2* 3324}# + #{e1* 3323}# + #{args* 3322}#)))) + (lambda (#{meta 3330}# #{lcase 3331}#) + (#{build-case-lambda 322}# + #{s 3304}# + #{meta 3330}# + #{lcase 3331}#)))) + #{tmp 3312}#) + (let ((#{_ 3335}# #{tmp 3311}#)) + (syntax-violation + 'case-lambda + "bad case-lambda*" + #{e 3301}#))))))) + (#{global-extend 372}# + 'core + 'let + (letrec* + ((#{chi-let 3337}# + (lambda (#{e 3338}# + #{r 3339}# + #{w 3340}# + #{s 3341}# + #{mod 3342}# + #{constructor 3343}# + #{ids 3344}# + #{vals 3345}# + #{exps 3346}#) + (if (not (#{valid-bound-ids? 436}# #{ids 3344}#)) + (syntax-violation + 'let + "duplicate bound variable" + #{e 3338}#) + (begin + (let ((#{labels 3358}# + (#{gen-labels 391}# #{ids 3344}#)) + (#{new-vars 3359}# + (map #{gen-var 484}# #{ids 3344}#))) + (begin + (let ((#{nw 3362}# + (#{make-binding-wrap 420}# + #{ids 3344}# + #{labels 3358}# + #{w 3340}#)) + (#{nr 3363}# + (#{extend-var-env 366}# + #{labels 3358}# + #{new-vars 3359}# + #{r 3339}#))) + (#{constructor 3343}# + #{s 3341}# + (map syntax->datum #{ids 3344}#) + #{new-vars 3359}# + (map (lambda (#{x 3364}#) + (#{chi 456}# + #{x 3364}# + #{r 3339}# + #{w 3340}# + #{mod 3342}#)) + #{vals 3345}#) + (#{chi-body 464}# + #{exps 3346}# + (#{source-wrap 444}# + #{e 3338}# + #{nw 3362}# + #{s 3341}# + #{mod 3342}#) + #{nr 3363}# + #{nw 3362}# + #{mod 3342}#)))))))))) + (begin + (lambda (#{e 3366}# + #{r 3367}# + #{w 3368}# + #{s 3369}# + #{mod 3370}#) + (let ((#{tmp 3376}# #{e 3366}#)) + (let ((#{tmp 3377}# + ($sc-dispatch + #{tmp 3376}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 3377}# + (@apply + (lambda (#{id 3382}# + #{val 3383}# + #{e1 3384}# + #{e2 3385}#) + (and-map #{id? 376}# #{id 3382}#)) + #{tmp 3377}#) + #f) + (@apply + (lambda (#{id 3391}# + #{val 3392}# + #{e1 3393}# + #{e2 3394}#) + (#{chi-let 3337}# + #{e 3366}# + #{r 3367}# + #{w 3368}# + #{s 3369}# + #{mod 3370}# + #{build-let 332}# + #{id 3391}# + #{val 3392}# + (cons #{e1 3393}# #{e2 3394}#))) + #{tmp 3377}#) + (let ((#{tmp 3398}# + ($sc-dispatch + #{tmp 3376}# + '(_ any #(each (any any)) any . each-any)))) + (if (if #{tmp 3398}# + (@apply + (lambda (#{f 3404}# + #{id 3405}# + #{val 3406}# + #{e1 3407}# + #{e2 3408}#) + (if (#{id? 376}# #{f 3404}#) + (and-map #{id? 376}# #{id 3405}#) + #f)) + #{tmp 3398}#) + #f) + (@apply + (lambda (#{f 3417}# + #{id 3418}# + #{val 3419}# + #{e1 3420}# + #{e2 3421}#) + (#{chi-let 3337}# + #{e 3366}# + #{r 3367}# + #{w 3368}# + #{s 3369}# + #{mod 3370}# + #{build-named-let 334}# + (cons #{f 3417}# #{id 3418}#) + #{val 3419}# + (cons #{e1 3420}# #{e2 3421}#))) + #{tmp 3398}#) + (let ((#{_ 3426}# #{tmp 3376}#)) + (syntax-violation + 'let + "bad let" + (#{source-wrap 444}# + #{e 3366}# + #{w 3368}# + #{s 3369}# + #{mod 3370}#)))))))))))) + (#{global-extend 372}# + 'core + 'letrec + (lambda (#{e 3427}# + #{r 3428}# + #{w 3429}# + #{s 3430}# + #{mod 3431}#) + (let ((#{tmp 3437}# #{e 3427}#)) + (let ((#{tmp 3438}# + ($sc-dispatch + #{tmp 3437}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 3438}# + (@apply + (lambda (#{id 3443}# + #{val 3444}# + #{e1 3445}# + #{e2 3446}#) + (and-map #{id? 376}# #{id 3443}#)) + #{tmp 3438}#) + #f) + (@apply + (lambda (#{id 3452}# + #{val 3453}# + #{e1 3454}# + #{e2 3455}#) + (begin + (let ((#{ids 3457}# #{id 3452}#)) + (if (not (#{valid-bound-ids? 436}# #{ids 3457}#)) + (syntax-violation + 'letrec + "duplicate bound variable" + #{e 3427}#) + (begin + (let ((#{labels 3461}# + (#{gen-labels 391}# #{ids 3457}#)) + (#{new-vars 3462}# + (map #{gen-var 484}# #{ids 3457}#))) + (begin + (let ((#{w 3465}# + (#{make-binding-wrap 420}# + #{ids 3457}# + #{labels 3461}# + #{w 3429}#)) + (#{r 3466}# + (#{extend-var-env 366}# + #{labels 3461}# + #{new-vars 3462}# + #{r 3428}#))) + (#{build-letrec 336}# + #{s 3430}# + #f + (map syntax->datum #{ids 3457}#) + #{new-vars 3462}# + (map (lambda (#{x 3467}#) + (#{chi 456}# + #{x 3467}# + #{r 3466}# + #{w 3465}# + #{mod 3431}#)) + #{val 3453}#) + (#{chi-body 464}# + (cons #{e1 3454}# #{e2 3455}#) + (#{source-wrap 444}# + #{e 3427}# + #{w 3465}# + #{s 3430}# + #{mod 3431}#) + #{r 3466}# + #{w 3465}# + #{mod 3431}#)))))))))) + #{tmp 3438}#) + (let ((#{_ 3472}# #{tmp 3437}#)) + (syntax-violation + 'letrec + "bad letrec" + (#{source-wrap 444}# + #{e 3427}# + #{w 3429}# + #{s 3430}# + #{mod 3431}#)))))))) + (#{global-extend 372}# + 'core + 'letrec* + (lambda (#{e 3473}# + #{r 3474}# + #{w 3475}# + #{s 3476}# + #{mod 3477}#) + (let ((#{tmp 3483}# #{e 3473}#)) + (let ((#{tmp 3484}# + ($sc-dispatch + #{tmp 3483}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 3484}# + (@apply + (lambda (#{id 3489}# + #{val 3490}# + #{e1 3491}# + #{e2 3492}#) + (and-map #{id? 376}# #{id 3489}#)) + #{tmp 3484}#) + #f) + (@apply + (lambda (#{id 3498}# + #{val 3499}# + #{e1 3500}# + #{e2 3501}#) + (begin + (let ((#{ids 3503}# #{id 3498}#)) + (if (not (#{valid-bound-ids? 436}# #{ids 3503}#)) + (syntax-violation + 'letrec* + "duplicate bound variable" + #{e 3473}#) + (begin + (let ((#{labels 3507}# + (#{gen-labels 391}# #{ids 3503}#)) + (#{new-vars 3508}# + (map #{gen-var 484}# #{ids 3503}#))) + (begin + (let ((#{w 3511}# + (#{make-binding-wrap 420}# + #{ids 3503}# + #{labels 3507}# + #{w 3475}#)) + (#{r 3512}# + (#{extend-var-env 366}# + #{labels 3507}# + #{new-vars 3508}# + #{r 3474}#))) + (#{build-letrec 336}# + #{s 3476}# + #t + (map syntax->datum #{ids 3503}#) + #{new-vars 3508}# + (map (lambda (#{x 3513}#) + (#{chi 456}# + #{x 3513}# + #{r 3512}# + #{w 3511}# + #{mod 3477}#)) + #{val 3499}#) + (#{chi-body 464}# + (cons #{e1 3500}# #{e2 3501}#) + (#{source-wrap 444}# + #{e 3473}# + #{w 3511}# + #{s 3476}# + #{mod 3477}#) + #{r 3512}# + #{w 3511}# + #{mod 3477}#)))))))))) + #{tmp 3484}#) + (let ((#{_ 3518}# #{tmp 3483}#)) + (syntax-violation + 'letrec* + "bad letrec*" + (#{source-wrap 444}# + #{e 3473}# + #{w 3475}# + #{s 3476}# + #{mod 3477}#)))))))) + (#{global-extend 372}# + 'core + 'set! + (lambda (#{e 3519}# + #{r 3520}# + #{w 3521}# + #{s 3522}# + #{mod 3523}#) + (let ((#{tmp 3529}# #{e 3519}#)) + (let ((#{tmp 3530}# + ($sc-dispatch #{tmp 3529}# '(_ any any)))) + (if (if #{tmp 3530}# + (@apply + (lambda (#{id 3533}# #{val 3534}#) + (#{id? 376}# #{id 3533}#)) + #{tmp 3530}#) + #f) + (@apply + (lambda (#{id 3537}# #{val 3538}#) + (begin + (let ((#{n 3541}# + (#{id-var-name 430}# #{id 3537}# #{w 3521}#)) + (#{id-mod 3542}# + (if (#{syntax-object? 342}# #{id 3537}#) + (#{syntax-object-module 348}# #{id 3537}#) + #{mod 3523}#))) + (begin + (let ((#{b 3544}# + (#{lookup 370}# + #{n 3541}# + #{r 3520}# + #{id-mod 3542}#))) (begin - (#{lp\ 3155}# - (cons #{e1\ 3142}# #{e2\ 3143}#) - '())))))) - #{tmp\ 3137}#) - (let ((#{_\ 3190}# #{tmp\ 3136}#)) - (syntax-violation - 'lambda - "bad lambda" - #{e\ 3126}#))))))) - (#{global-extend\ 375}# - 'core - 'lambda* - (lambda (#{e\ 3191}# - #{r\ 3192}# - #{w\ 3193}# - #{s\ 3194}# - #{mod\ 3195}#) - (let ((#{tmp\ 3201}# #{e\ 3191}#)) - (let ((#{tmp\ 3202}# - ($sc-dispatch - #{tmp\ 3201}# - '(_ any any . each-any)))) - (if #{tmp\ 3202}# - (@apply - (lambda (#{args\ 3206}# #{e1\ 3207}# #{e2\ 3208}#) - (call-with-values - (lambda () - (#{chi-lambda-case\ 485}# - #{e\ 3191}# - #{r\ 3192}# - #{w\ 3193}# - #{s\ 3194}# - #{mod\ 3195}# - #{lambda*-formals\ 483}# - (list (cons #{args\ 3206}# - (cons #{e1\ 3207}# - #{e2\ 3208}#))))) - (lambda (#{meta\ 3210}# #{lcase\ 3211}#) - (#{build-case-lambda\ 325}# - #{s\ 3194}# - #{meta\ 3210}# - #{lcase\ 3211}#)))) - #{tmp\ 3202}#) - (let ((#{_\ 3215}# #{tmp\ 3201}#)) - (syntax-violation - 'lambda - "bad lambda*" - #{e\ 3191}#))))))) - (#{global-extend\ 375}# - 'core - 'case-lambda - (lambda (#{e\ 3216}# - #{r\ 3217}# - #{w\ 3218}# - #{s\ 3219}# - #{mod\ 3220}#) - (let ((#{tmp\ 3226}# #{e\ 3216}#)) - (let ((#{tmp\ 3227}# - ($sc-dispatch - #{tmp\ 3226}# - '(_ (any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp\ 3227}# - (@apply - (lambda (#{args\ 3234}# - #{e1\ 3235}# - #{e2\ 3236}# - #{args*\ 3237}# - #{e1*\ 3238}# - #{e2*\ 3239}#) - (call-with-values - (lambda () - (#{chi-lambda-case\ 485}# - #{e\ 3216}# - #{r\ 3217}# - #{w\ 3218}# - #{s\ 3219}# - #{mod\ 3220}# - #{lambda-formals\ 479}# - (cons (cons #{args\ 3234}# - (cons #{e1\ 3235}# #{e2\ 3236}#)) - (map (lambda (#{tmp\ 3243}# - #{tmp\ 3242}# - #{tmp\ 3241}#) - (cons #{tmp\ 3241}# - (cons #{tmp\ 3242}# - #{tmp\ 3243}#))) - #{e2*\ 3239}# - #{e1*\ 3238}# - #{args*\ 3237}#)))) - (lambda (#{meta\ 3245}# #{lcase\ 3246}#) - (#{build-case-lambda\ 325}# - #{s\ 3219}# - #{meta\ 3245}# - #{lcase\ 3246}#)))) - #{tmp\ 3227}#) - (let ((#{_\ 3250}# #{tmp\ 3226}#)) - (syntax-violation - 'case-lambda - "bad case-lambda" - #{e\ 3216}#))))))) - (#{global-extend\ 375}# - 'core - 'case-lambda* - (lambda (#{e\ 3251}# - #{r\ 3252}# - #{w\ 3253}# - #{s\ 3254}# - #{mod\ 3255}#) - (let ((#{tmp\ 3261}# #{e\ 3251}#)) - (let ((#{tmp\ 3262}# - ($sc-dispatch - #{tmp\ 3261}# - '(_ (any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp\ 3262}# - (@apply - (lambda (#{args\ 3269}# - #{e1\ 3270}# - #{e2\ 3271}# - #{args*\ 3272}# - #{e1*\ 3273}# - #{e2*\ 3274}#) - (call-with-values - (lambda () - (#{chi-lambda-case\ 485}# - #{e\ 3251}# - #{r\ 3252}# - #{w\ 3253}# - #{s\ 3254}# - #{mod\ 3255}# - #{lambda*-formals\ 483}# - (cons (cons #{args\ 3269}# - (cons #{e1\ 3270}# #{e2\ 3271}#)) - (map (lambda (#{tmp\ 3278}# - #{tmp\ 3277}# - #{tmp\ 3276}#) - (cons #{tmp\ 3276}# - (cons #{tmp\ 3277}# - #{tmp\ 3278}#))) - #{e2*\ 3274}# - #{e1*\ 3273}# - #{args*\ 3272}#)))) - (lambda (#{meta\ 3280}# #{lcase\ 3281}#) - (#{build-case-lambda\ 325}# - #{s\ 3254}# - #{meta\ 3280}# - #{lcase\ 3281}#)))) - #{tmp\ 3262}#) - (let ((#{_\ 3285}# #{tmp\ 3261}#)) - (syntax-violation - 'case-lambda - "bad case-lambda*" - #{e\ 3251}#))))))) - (#{global-extend\ 375}# - 'core - 'let + (let ((#{atom-key 3547}# (car #{b 3544}#))) + (if (eqv? #{atom-key 3547}# 'lexical) + (#{build-lexical-assignment 310}# + #{s 3522}# + (syntax->datum #{id 3537}#) + (cdr #{b 3544}#) + (#{chi 456}# + #{val 3538}# + #{r 3520}# + #{w 3521}# + #{mod 3523}#)) + (if (eqv? #{atom-key 3547}# 'global) + (#{build-global-assignment 316}# + #{s 3522}# + #{n 3541}# + (#{chi 456}# + #{val 3538}# + #{r 3520}# + #{w 3521}# + #{mod 3523}#) + #{id-mod 3542}#) + (if (eqv? #{atom-key 3547}# 'macro) + (begin + (let ((#{p 3554}# + (cdr #{b 3544}#))) + (if (procedure-property + #{p 3554}# + 'variable-transformer) + (#{chi 456}# + (#{chi-macro 462}# + #{p 3554}# + #{e 3519}# + #{r 3520}# + #{w 3521}# + #{s 3522}# + #f + #{mod 3523}#) + #{r 3520}# + '(()) + #{mod 3523}#) + (syntax-violation + 'set! + "not a variable transformer" + (#{wrap 442}# + #{e 3519}# + #{w 3521}# + #{mod 3523}#) + (#{wrap 442}# + #{id 3537}# + #{w 3521}# + #{id-mod 3542}#))))) + (if (eqv? #{atom-key 3547}# + 'displaced-lexical) + (syntax-violation + 'set! + "identifier out of context" + (#{wrap 442}# + #{id 3537}# + #{w 3521}# + #{mod 3523}#)) + (syntax-violation + 'set! + "bad set!" + (#{source-wrap 444}# + #{e 3519}# + #{w 3521}# + #{s 3522}# + #{mod 3523}#))))))))))))) + #{tmp 3530}#) + (let ((#{tmp 3559}# + ($sc-dispatch + #{tmp 3529}# + '(_ (any . each-any) any)))) + (if #{tmp 3559}# + (@apply + (lambda (#{head 3563}# #{tail 3564}# #{val 3565}#) + (call-with-values + (lambda () + (#{syntax-type 454}# + #{head 3563}# + #{r 3520}# + '(()) + #f + #f + #{mod 3523}# + #t)) + (lambda (#{type 3568}# + #{value 3569}# + #{ee 3570}# + #{ww 3571}# + #{ss 3572}# + #{modmod 3573}#) + (if (eqv? #{type 3568}# 'module-ref) + (begin + (let ((#{val 3582}# + (#{chi 456}# + #{val 3565}# + #{r 3520}# + #{w 3521}# + #{mod 3523}#))) + (call-with-values + (lambda () + (#{value 3569}# + (cons #{head 3563}# #{tail 3564}#) + #{r 3520}# + #{w 3521}#)) + (lambda (#{e 3584}# + #{r 3585}# + #{w 3586}# + #{s* 3587}# + #{mod 3588}#) + (let ((#{tmp 3594}# #{e 3584}#)) + (let ((#{tmp 3595}# + (list #{tmp 3594}#))) + (if (if #{tmp 3595}# + (@apply + (lambda (#{e 3597}#) + (#{id? 376}# + #{e 3597}#)) + #{tmp 3595}#) + #f) + (@apply + (lambda (#{e 3599}#) + (#{build-global-assignment 316}# + #{s 3522}# + (syntax->datum + #{e 3599}#) + #{val 3582}# + #{mod 3588}#)) + #{tmp 3595}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3594}#)))))))) + (#{build-application 302}# + #{s 3522}# + (#{chi 456}# + (list '#(syntax-object + setter + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(type value ee ww ss modmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i3574" + "i3575" + "i3576" + "i3577" + "i3578" + "i3579")) + #(ribcage + #(head tail val) + #((top) (top) (top)) + #("i3560" "i3561" "i3562")) + #(ribcage () () ()) + #(ribcage + #(e r w s mod) + #((top) + (top) + (top) + (top) + (top)) + #("i3524" + "i3525" + "i3526" + "i3527" + "i3528")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile)) + #{head 3563}#) + #{r 3520}# + #{w 3521}# + #{mod 3523}#) + (map (lambda (#{e 3601}#) + (#{chi 456}# + #{e 3601}# + #{r 3520}# + #{w 3521}# + #{mod 3523}#)) + (append + #{tail 3564}# + (list #{val 3565}#)))))))) + #{tmp 3559}#) + (let ((#{_ 3605}# #{tmp 3529}#)) + (syntax-violation + 'set! + "bad set!" + (#{source-wrap 444}# + #{e 3519}# + #{w 3521}# + #{s 3522}# + #{mod 3523}#)))))))))) + (#{global-extend 372}# + 'module-ref + '@ + (lambda (#{e 3606}# #{r 3607}# #{w 3608}#) + (let ((#{tmp 3612}# #{e 3606}#)) + (let ((#{tmp 3613}# + ($sc-dispatch #{tmp 3612}# '(_ each-any any)))) + (if (if #{tmp 3613}# + (@apply + (lambda (#{mod 3616}# #{id 3617}#) + (if (and-map #{id? 376}# #{mod 3616}#) + (#{id? 376}# #{id 3617}#) + #f)) + #{tmp 3613}#) + #f) + (@apply + (lambda (#{mod 3623}# #{id 3624}#) + (values + (syntax->datum #{id 3624}#) + #{r 3607}# + #{w 3608}# + #f + (syntax->datum + (cons '#(syntax-object + public + ((top) + #(ribcage + #(mod id) + #((top) (top)) + #("i3621" "i3622")) + #(ribcage () () ()) + #(ribcage + #(e r w) + #((top) (top) (top)) + #("i3609" "i3610" "i3611")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile)) + #{mod 3623}#)))) + #{tmp 3613}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3612}#)))))) + (#{global-extend 372}# + 'module-ref + '@@ + (lambda (#{e 3626}# #{r 3627}# #{w 3628}#) (letrec* - ((#{chi-let\ 3287}# - (lambda (#{e\ 3288}# - #{r\ 3289}# - #{w\ 3290}# - #{s\ 3291}# - #{mod\ 3292}# - #{constructor\ 3293}# - #{ids\ 3294}# - #{vals\ 3295}# - #{exps\ 3296}#) - (if (not (#{valid-bound-ids?\ 439}# #{ids\ 3294}#)) - (syntax-violation - 'let - "duplicate bound variable" - #{e\ 3288}#) - (begin - (let ((#{labels\ 3308}# - (#{gen-labels\ 394}# #{ids\ 3294}#)) - (#{new-vars\ 3309}# - (map #{gen-var\ 489}# #{ids\ 3294}#))) + ((#{remodulate 3633}# + (lambda (#{x 3634}# #{mod 3635}#) + (if (pair? #{x 3634}#) + (cons (#{remodulate 3633}# + (car #{x 3634}#) + #{mod 3635}#) + (#{remodulate 3633}# + (cdr #{x 3634}#) + #{mod 3635}#)) + (if (#{syntax-object? 342}# #{x 3634}#) + (#{make-syntax-object 340}# + (#{remodulate 3633}# + (#{syntax-object-expression 344}# #{x 3634}#) + #{mod 3635}#) + (#{syntax-object-wrap 346}# #{x 3634}#) + #{mod 3635}#) + (if (vector? #{x 3634}#) (begin - (let ((#{nw\ 3312}# - (#{make-binding-wrap\ 423}# - #{ids\ 3294}# - #{labels\ 3308}# - #{w\ 3290}#)) - (#{nr\ 3313}# - (#{extend-var-env\ 369}# - #{labels\ 3308}# - #{new-vars\ 3309}# - #{r\ 3289}#))) - (#{constructor\ 3293}# - #{s\ 3291}# - (map syntax->datum #{ids\ 3294}#) - #{new-vars\ 3309}# - (map (lambda (#{x\ 3314}#) - (#{chi\ 461}# - #{x\ 3314}# - #{r\ 3289}# - #{w\ 3290}# - #{mod\ 3292}#)) - #{vals\ 3295}#) - (#{chi-body\ 469}# - #{exps\ 3296}# - (#{source-wrap\ 447}# - #{e\ 3288}# - #{nw\ 3312}# - #{s\ 3291}# - #{mod\ 3292}#) - #{nr\ 3313}# - #{nw\ 3312}# - #{mod\ 3292}#)))))))))) - (begin - (lambda (#{e\ 3316}# - #{r\ 3317}# - #{w\ 3318}# - #{s\ 3319}# - #{mod\ 3320}#) - (let ((#{tmp\ 3326}# #{e\ 3316}#)) - (let ((#{tmp\ 3327}# - ($sc-dispatch - #{tmp\ 3326}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp\ 3327}# - (@apply - (lambda (#{id\ 3332}# - #{val\ 3333}# - #{e1\ 3334}# - #{e2\ 3335}#) - (and-map #{id?\ 379}# #{id\ 3332}#)) - #{tmp\ 3327}#) - #f) - (@apply - (lambda (#{id\ 3341}# - #{val\ 3342}# - #{e1\ 3343}# - #{e2\ 3344}#) - (#{chi-let\ 3287}# - #{e\ 3316}# - #{r\ 3317}# - #{w\ 3318}# - #{s\ 3319}# - #{mod\ 3320}# - #{build-let\ 335}# - #{id\ 3341}# - #{val\ 3342}# - (cons #{e1\ 3343}# #{e2\ 3344}#))) - #{tmp\ 3327}#) - (let ((#{tmp\ 3348}# - ($sc-dispatch - #{tmp\ 3326}# - '(_ any - #(each (any any)) - any - . - each-any)))) - (if (if #{tmp\ 3348}# - (@apply - (lambda (#{f\ 3354}# - #{id\ 3355}# - #{val\ 3356}# - #{e1\ 3357}# - #{e2\ 3358}#) - (if (#{id?\ 379}# #{f\ 3354}#) - (and-map #{id?\ 379}# #{id\ 3355}#) - #f)) - #{tmp\ 3348}#) - #f) - (@apply - (lambda (#{f\ 3367}# - #{id\ 3368}# - #{val\ 3369}# - #{e1\ 3370}# - #{e2\ 3371}#) - (#{chi-let\ 3287}# - #{e\ 3316}# - #{r\ 3317}# - #{w\ 3318}# - #{s\ 3319}# - #{mod\ 3320}# - #{build-named-let\ 337}# - (cons #{f\ 3367}# #{id\ 3368}#) - #{val\ 3369}# - (cons #{e1\ 3370}# #{e2\ 3371}#))) - #{tmp\ 3348}#) - (let ((#{_\ 3376}# #{tmp\ 3326}#)) - (syntax-violation - 'let - "bad let" - (#{source-wrap\ 447}# - #{e\ 3316}# - #{w\ 3318}# - #{s\ 3319}# - #{mod\ 3320}#)))))))))))) - (#{global-extend\ 375}# - 'core - 'letrec - (lambda (#{e\ 3377}# - #{r\ 3378}# - #{w\ 3379}# - #{s\ 3380}# - #{mod\ 3381}#) - (let ((#{tmp\ 3387}# #{e\ 3377}#)) - (let ((#{tmp\ 3388}# - ($sc-dispatch - #{tmp\ 3387}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp\ 3388}# - (@apply - (lambda (#{id\ 3393}# - #{val\ 3394}# - #{e1\ 3395}# - #{e2\ 3396}#) - (and-map #{id?\ 379}# #{id\ 3393}#)) - #{tmp\ 3388}#) - #f) - (@apply - (lambda (#{id\ 3402}# - #{val\ 3403}# - #{e1\ 3404}# - #{e2\ 3405}#) - (begin - (let ((#{ids\ 3407}# #{id\ 3402}#)) - (if (not (#{valid-bound-ids?\ 439}# - #{ids\ 3407}#)) - (syntax-violation - 'letrec - "duplicate bound variable" - #{e\ 3377}#) - (begin - (let ((#{labels\ 3411}# - (#{gen-labels\ 394}# #{ids\ 3407}#)) - (#{new-vars\ 3412}# - (map #{gen-var\ 489}# - #{ids\ 3407}#))) - (begin - (let ((#{w\ 3415}# - (#{make-binding-wrap\ 423}# - #{ids\ 3407}# - #{labels\ 3411}# - #{w\ 3379}#)) - (#{r\ 3416}# - (#{extend-var-env\ 369}# - #{labels\ 3411}# - #{new-vars\ 3412}# - #{r\ 3378}#))) - (#{build-letrec\ 339}# - #{s\ 3380}# - #f - (map syntax->datum #{ids\ 3407}#) - #{new-vars\ 3412}# - (map (lambda (#{x\ 3417}#) - (#{chi\ 461}# - #{x\ 3417}# - #{r\ 3416}# - #{w\ 3415}# - #{mod\ 3381}#)) - #{val\ 3403}#) - (#{chi-body\ 469}# - (cons #{e1\ 3404}# #{e2\ 3405}#) - (#{source-wrap\ 447}# - #{e\ 3377}# - #{w\ 3415}# - #{s\ 3380}# - #{mod\ 3381}#) - #{r\ 3416}# - #{w\ 3415}# - #{mod\ 3381}#)))))))))) - #{tmp\ 3388}#) - (let ((#{_\ 3422}# #{tmp\ 3387}#)) - (syntax-violation - 'letrec - "bad letrec" - (#{source-wrap\ 447}# - #{e\ 3377}# - #{w\ 3379}# - #{s\ 3380}# - #{mod\ 3381}#)))))))) - (#{global-extend\ 375}# - 'core - 'letrec* - (lambda (#{e\ 3423}# - #{r\ 3424}# - #{w\ 3425}# - #{s\ 3426}# - #{mod\ 3427}#) - (let ((#{tmp\ 3433}# #{e\ 3423}#)) - (let ((#{tmp\ 3434}# - ($sc-dispatch - #{tmp\ 3433}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp\ 3434}# - (@apply - (lambda (#{id\ 3439}# - #{val\ 3440}# - #{e1\ 3441}# - #{e2\ 3442}#) - (and-map #{id?\ 379}# #{id\ 3439}#)) - #{tmp\ 3434}#) - #f) - (@apply - (lambda (#{id\ 3448}# - #{val\ 3449}# - #{e1\ 3450}# - #{e2\ 3451}#) - (begin - (let ((#{ids\ 3453}# #{id\ 3448}#)) - (if (not (#{valid-bound-ids?\ 439}# - #{ids\ 3453}#)) - (syntax-violation - 'letrec* - "duplicate bound variable" - #{e\ 3423}#) - (begin - (let ((#{labels\ 3457}# - (#{gen-labels\ 394}# #{ids\ 3453}#)) - (#{new-vars\ 3458}# - (map #{gen-var\ 489}# - #{ids\ 3453}#))) - (begin - (let ((#{w\ 3461}# - (#{make-binding-wrap\ 423}# - #{ids\ 3453}# - #{labels\ 3457}# - #{w\ 3425}#)) - (#{r\ 3462}# - (#{extend-var-env\ 369}# - #{labels\ 3457}# - #{new-vars\ 3458}# - #{r\ 3424}#))) - (#{build-letrec\ 339}# - #{s\ 3426}# - #t - (map syntax->datum #{ids\ 3453}#) - #{new-vars\ 3458}# - (map (lambda (#{x\ 3463}#) - (#{chi\ 461}# - #{x\ 3463}# - #{r\ 3462}# - #{w\ 3461}# - #{mod\ 3427}#)) - #{val\ 3449}#) - (#{chi-body\ 469}# - (cons #{e1\ 3450}# #{e2\ 3451}#) - (#{source-wrap\ 447}# - #{e\ 3423}# - #{w\ 3461}# - #{s\ 3426}# - #{mod\ 3427}#) - #{r\ 3462}# - #{w\ 3461}# - #{mod\ 3427}#)))))))))) - #{tmp\ 3434}#) - (let ((#{_\ 3468}# #{tmp\ 3433}#)) - (syntax-violation - 'letrec* - "bad letrec*" - (#{source-wrap\ 447}# - #{e\ 3423}# - #{w\ 3425}# - #{s\ 3426}# - #{mod\ 3427}#)))))))) - (#{global-extend\ 375}# - 'core - 'set! - (lambda (#{e\ 3469}# - #{r\ 3470}# - #{w\ 3471}# - #{s\ 3472}# - #{mod\ 3473}#) - (let ((#{tmp\ 3479}# #{e\ 3469}#)) - (let ((#{tmp\ 3480}# - ($sc-dispatch #{tmp\ 3479}# '(_ any any)))) - (if (if #{tmp\ 3480}# - (@apply - (lambda (#{id\ 3483}# #{val\ 3484}#) - (#{id?\ 379}# #{id\ 3483}#)) - #{tmp\ 3480}#) - #f) - (@apply - (lambda (#{id\ 3487}# #{val\ 3488}#) - (begin - (let ((#{n\ 3491}# - (#{id-var-name\ 433}# - #{id\ 3487}# - #{w\ 3471}#)) - (#{id-mod\ 3492}# - (if (#{syntax-object?\ 345}# #{id\ 3487}#) - (#{syntax-object-module\ 351}# - #{id\ 3487}#) - #{mod\ 3473}#))) - (begin - (let ((#{b\ 3494}# - (#{lookup\ 373}# - #{n\ 3491}# - #{r\ 3470}# - #{id-mod\ 3492}#))) - (begin - (let ((#{atom-key\ 3497}# - (car #{b\ 3494}#))) - (if (eqv? #{atom-key\ 3497}# 'lexical) - (#{build-lexical-assignment\ 313}# - #{s\ 3472}# - (syntax->datum #{id\ 3487}#) - (cdr #{b\ 3494}#) - (#{chi\ 461}# - #{val\ 3488}# - #{r\ 3470}# - #{w\ 3471}# - #{mod\ 3473}#)) - (if (eqv? #{atom-key\ 3497}# 'global) - (#{build-global-assignment\ 319}# - #{s\ 3472}# - #{n\ 3491}# - (#{chi\ 461}# - #{val\ 3488}# - #{r\ 3470}# - #{w\ 3471}# - #{mod\ 3473}#) - #{id-mod\ 3492}#) - (if (eqv? #{atom-key\ 3497}# 'macro) + (let ((#{n 3646}# (vector-length #{x 3634}#))) + (begin + (let ((#{v 3648}# (make-vector #{n 3646}#))) + (letrec* + ((#{loop 3651}# + (lambda (#{i 3652}#) + (if (= #{i 3652}# #{n 3646}#) + (begin (if #f #f) #{v 3648}#) (begin - (let ((#{p\ 3504}# - (cdr #{b\ 3494}#))) - (if (procedure-property - #{p\ 3504}# - 'variable-transformer) - (#{chi\ 461}# - (#{chi-macro\ 467}# - #{p\ 3504}# - #{e\ 3469}# - #{r\ 3470}# - #{w\ 3471}# - #{s\ 3472}# - #f - #{mod\ 3473}#) - #{r\ 3470}# - '(()) - #{mod\ 3473}#) - (syntax-violation - 'set! - "not a variable transformer" - (#{wrap\ 445}# - #{e\ 3469}# - #{w\ 3471}# - #{mod\ 3473}#) - (#{wrap\ 445}# - #{id\ 3487}# - #{w\ 3471}# - #{id-mod\ 3492}#))))) - (if (eqv? #{atom-key\ 3497}# - 'displaced-lexical) - (syntax-violation - 'set! - "identifier out of context" - (#{wrap\ 445}# - #{id\ 3487}# - #{w\ 3471}# - #{mod\ 3473}#)) - (syntax-violation - 'set! - "bad set!" - (#{source-wrap\ 447}# - #{e\ 3469}# - #{w\ 3471}# - #{s\ 3472}# - #{mod\ 3473}#))))))))))))) - #{tmp\ 3480}#) - (let ((#{tmp\ 3509}# - ($sc-dispatch - #{tmp\ 3479}# - '(_ (any . each-any) any)))) - (if #{tmp\ 3509}# - (@apply - (lambda (#{head\ 3513}# - #{tail\ 3514}# - #{val\ 3515}#) - (call-with-values - (lambda () - (#{syntax-type\ 457}# - #{head\ 3513}# - #{r\ 3470}# - '(()) - #f - #f - #{mod\ 3473}# - #t)) - (lambda (#{type\ 3518}# - #{value\ 3519}# - #{ee\ 3520}# - #{ww\ 3521}# - #{ss\ 3522}# - #{modmod\ 3523}#) - (if (eqv? #{type\ 3518}# 'module-ref) - (begin - (let ((#{val\ 3532}# - (#{chi\ 461}# - #{val\ 3515}# - #{r\ 3470}# - #{w\ 3471}# - #{mod\ 3473}#))) - (call-with-values - (lambda () - (#{value\ 3519}# - (cons #{head\ 3513}# - #{tail\ 3514}#) - #{r\ 3470}# - #{w\ 3471}#)) - (lambda (#{e\ 3534}# - #{r\ 3535}# - #{w\ 3536}# - #{s*\ 3537}# - #{mod\ 3538}#) - (let ((#{tmp\ 3544}# #{e\ 3534}#)) - (let ((#{tmp\ 3545}# - (list #{tmp\ 3544}#))) - (if (if #{tmp\ 3545}# - (@apply - (lambda (#{e\ 3547}#) - (#{id?\ 379}# - #{e\ 3547}#)) - #{tmp\ 3545}#) - #f) - (@apply - (lambda (#{e\ 3549}#) - (#{build-global-assignment\ 319}# - #{s\ 3472}# - (syntax->datum - #{e\ 3549}#) - #{val\ 3532}# - #{mod\ 3538}#)) - #{tmp\ 3545}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 3544}#)))))))) - (#{build-application\ 305}# - #{s\ 3472}# - (#{chi\ 461}# - (list '#(syntax-object - setter + (vector-set! + #{v 3648}# + #{i 3652}# + (#{remodulate 3633}# + (vector-ref + #{x 3634}# + #{i 3652}#) + #{mod 3635}#)) + (#{loop 3651}# + (#{1+}# #{i 3652}#))))))) + (begin (#{loop 3651}# 0))))))) + #{x 3634}#)))))) + (begin + (let ((#{tmp 3658}# #{e 3626}#)) + (let ((#{tmp 3659}# + ($sc-dispatch #{tmp 3658}# '(_ each-any any)))) + (if (if #{tmp 3659}# + (@apply + (lambda (#{mod 3662}# #{exp 3663}#) + (and-map #{id? 376}# #{mod 3662}#)) + #{tmp 3659}#) + #f) + (@apply + (lambda (#{mod 3667}# #{exp 3668}#) + (begin + (let ((#{mod 3670}# + (syntax->datum + (cons '#(syntax-object + private ((top) - #(ribcage () () ()) - #(ribcage () () ()) #(ribcage - #(type - value - ee - ww - ss - modmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i3524" - "i3525" - "i3526" - "i3527" - "i3528" - "i3529")) + #(mod exp) + #((top) (top)) + #("i3665" "i3666")) #(ribcage - #(head tail val) - #((top) (top) (top)) - #("i3510" "i3511" "i3512")) - #(ribcage () () ()) + (remodulate) + ((top)) + ("i3632")) #(ribcage - #(e r w s mod) - #((top) - (top) - (top) - (top) - (top)) - #("i3474" - "i3475" - "i3476" - "i3477" - "i3478")) + #(e r w) + #((top) (top) (top)) + #("i3629" "i3630" "i3631")) #(ribcage (lambda-var-list gen-var @@ -10237,7 +11113,6 @@ chi-application chi-expr chi - chi-top syntax-type chi-when-list chi-install-global @@ -10493,211 +11368,339 @@ (top) (top) (top) - (top) (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" "i419" - "i418" + "i417" "i416" "i415" - "i414" "i413" "i412" + "i411" "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" "i393" - "i391" "i390" - "i389" "i388" "i387" "i386" "i385" "i384" "i383" + "i382" "i381" "i380" "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" "i365" - "i364" "i363" "i362" "i361" + "i360" "i359" "i358" "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" "i293" "i291" - "i289" - "i287" + "i290" + "i288" + "i286" "i285" + "i284" "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) + ("i41" "i40" "i39" "i37"))) (hygiene guile)) - #{head\ 3513}#) - #{r\ 3470}# - #{w\ 3471}# - #{mod\ 3473}#) - (map (lambda (#{e\ 3551}#) - (#{chi\ 461}# - #{e\ 3551}# - #{r\ 3470}# - #{w\ 3471}# - #{mod\ 3473}#)) - (append - #{tail\ 3514}# - (list #{val\ 3515}#)))))))) - #{tmp\ 3509}#) - (let ((#{_\ 3555}# #{tmp\ 3479}#)) - (syntax-violation - 'set! - "bad set!" - (#{source-wrap\ 447}# - #{e\ 3469}# - #{w\ 3471}# - #{s\ 3472}# - #{mod\ 3473}#)))))))))) - (#{global-extend\ 375}# - 'module-ref - '@ - (lambda (#{e\ 3556}# #{r\ 3557}# #{w\ 3558}#) - (let ((#{tmp\ 3562}# #{e\ 3556}#)) - (let ((#{tmp\ 3563}# - ($sc-dispatch #{tmp\ 3562}# '(_ each-any any)))) - (if (if #{tmp\ 3563}# - (@apply - (lambda (#{mod\ 3566}# #{id\ 3567}#) - (if (and-map #{id?\ 379}# #{mod\ 3566}#) - (#{id?\ 379}# #{id\ 3567}#) - #f)) - #{tmp\ 3563}#) - #f) - (@apply - (lambda (#{mod\ 3573}# #{id\ 3574}#) - (values - (syntax->datum #{id\ 3574}#) - #{r\ 3557}# - #{w\ 3558}# - #f - (syntax->datum - (cons '#(syntax-object - public + #{mod 3667}#)))) + (values + (#{remodulate 3633}# + #{exp 3668}# + #{mod 3670}#) + #{r 3627}# + #{w 3628}# + (#{source-annotation 357}# #{exp 3668}#) + #{mod 3670}#)))) + #{tmp 3659}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3658}#)))))))) + (#{global-extend 372}# + 'core + 'if + (lambda (#{e 3672}# + #{r 3673}# + #{w 3674}# + #{s 3675}# + #{mod 3676}#) + (let ((#{tmp 3682}# #{e 3672}#)) + (let ((#{tmp 3683}# + ($sc-dispatch #{tmp 3682}# '(_ any any)))) + (if #{tmp 3683}# + (@apply + (lambda (#{test 3686}# #{then 3687}#) + (#{build-conditional 304}# + #{s 3675}# + (#{chi 456}# + #{test 3686}# + #{r 3673}# + #{w 3674}# + #{mod 3676}#) + (#{chi 456}# + #{then 3687}# + #{r 3673}# + #{w 3674}# + #{mod 3676}#) + (#{build-void 300}# #f))) + #{tmp 3683}#) + (let ((#{tmp 3689}# + ($sc-dispatch #{tmp 3682}# '(_ any any any)))) + (if #{tmp 3689}# + (@apply + (lambda (#{test 3693}# #{then 3694}# #{else 3695}#) + (#{build-conditional 304}# + #{s 3675}# + (#{chi 456}# + #{test 3693}# + #{r 3673}# + #{w 3674}# + #{mod 3676}#) + (#{chi 456}# + #{then 3694}# + #{r 3673}# + #{w 3674}# + #{mod 3676}#) + (#{chi 456}# + #{else 3695}# + #{r 3673}# + #{w 3674}# + #{mod 3676}#))) + #{tmp 3689}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3682}#)))))))) + (#{global-extend 372}# + 'core + 'with-fluids + (lambda (#{e 3696}# + #{r 3697}# + #{w 3698}# + #{s 3699}# + #{mod 3700}#) + (let ((#{tmp 3706}# #{e 3696}#)) + (let ((#{tmp 3707}# + ($sc-dispatch + #{tmp 3706}# + '(_ #(each (any any)) any . each-any)))) + (if #{tmp 3707}# + (@apply + (lambda (#{fluid 3712}# + #{val 3713}# + #{b 3714}# + #{b* 3715}#) + (#{build-dynlet 306}# + #{s 3699}# + (map (lambda (#{x 3716}#) + (#{chi 456}# + #{x 3716}# + #{r 3697}# + #{w 3698}# + #{mod 3700}#)) + #{fluid 3712}#) + (map (lambda (#{x 3719}#) + (#{chi 456}# + #{x 3719}# + #{r 3697}# + #{w 3698}# + #{mod 3700}#)) + #{val 3713}#) + (#{chi-body 464}# + (cons #{b 3714}# #{b* 3715}#) + (#{source-wrap 444}# + #{e 3696}# + #{w 3698}# + #{s 3699}# + #{mod 3700}#) + #{r 3697}# + #{w 3698}# + #{mod 3700}#))) + #{tmp 3707}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3706}#)))))) + (#{global-extend 372}# 'begin 'begin '()) + (#{global-extend 372}# 'define 'define '()) + (#{global-extend 372}# + 'define-syntax + 'define-syntax + '()) + (#{global-extend 372}# 'eval-when 'eval-when '()) + (#{global-extend 372}# + 'core + 'syntax-case + (letrec* + ((#{convert-pattern 3724}# + (lambda (#{pattern 3731}# #{keys 3732}#) + (letrec* + ((#{cvt* 3736}# + (lambda (#{p* 3739}# #{n 3740}# #{ids 3741}#) + (if (null? #{p* 3739}#) + (values '() #{ids 3741}#) + (call-with-values + (lambda () + (#{cvt* 3736}# + (cdr #{p* 3739}#) + #{n 3740}# + #{ids 3741}#)) + (lambda (#{y 3745}# #{ids 3746}#) + (call-with-values + (lambda () + (#{cvt 3738}# + (car #{p* 3739}#) + #{n 3740}# + #{ids 3746}#)) + (lambda (#{x 3749}# #{ids 3750}#) + (values + (cons #{x 3749}# #{y 3745}#) + #{ids 3750}#)))))))) + (#{cvt 3738}# + (lambda (#{p 3753}# #{n 3754}# #{ids 3755}#) + (if (#{id? 376}# #{p 3753}#) + (if (#{bound-id-member? 440}# + #{p 3753}# + #{keys 3732}#) + (values + (vector 'free-id #{p 3753}#) + #{ids 3755}#) + (if (#{free-id=? 432}# + #{p 3753}# + '#(syntax-object + _ ((top) - #(ribcage - #(mod id) - #((top) (top)) - #("i3571" "i3572")) #(ribcage () () ()) #(ribcage - #(e r w) + #(p n ids) #((top) (top) (top)) - #("i3559" "i3560" "i3561")) + #("i3756" "i3757" "i3758")) + #(ribcage + (cvt cvt*) + ((top) (top)) + ("i3737" "i3735")) + #(ribcage + #(pattern keys) + #((top) (top)) + #("i3733" "i3734")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3729" "i3727" "i3725" "i3723")) #(ribcage (lambda-var-list gen-var @@ -10715,7 +11718,6 @@ chi-application chi-expr chi - chi-top syntax-type chi-when-list chi-install-global @@ -10971,3601 +11973,2428 @@ (top) (top) (top) - (top) (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" "i419" - "i418" + "i417" "i416" "i415" - "i414" "i413" "i412" + "i411" "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" "i393" - "i391" "i390" - "i389" "i388" "i387" "i386" "i385" "i384" "i383" + "i382" "i381" "i380" "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" "i365" - "i364" "i363" "i362" "i361" + "i360" "i359" "i358" "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" "i293" "i291" - "i289" - "i287" + "i290" + "i288" + "i286" "i285" + "i284" "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) - (hygiene guile)) - #{mod\ 3573}#)))) - #{tmp\ 3563}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 3562}#)))))) - (#{global-extend\ 375}# - 'module-ref - '@@ - (lambda (#{e\ 3576}# #{r\ 3577}# #{w\ 3578}#) - (letrec* - ((#{remodulate\ 3583}# - (lambda (#{x\ 3584}# #{mod\ 3585}#) - (if (pair? #{x\ 3584}#) - (cons (#{remodulate\ 3583}# - (car #{x\ 3584}#) - #{mod\ 3585}#) - (#{remodulate\ 3583}# - (cdr #{x\ 3584}#) - #{mod\ 3585}#)) - (if (#{syntax-object?\ 345}# #{x\ 3584}#) - (#{make-syntax-object\ 343}# - (#{remodulate\ 3583}# - (#{syntax-object-expression\ 347}# #{x\ 3584}#) - #{mod\ 3585}#) - (#{syntax-object-wrap\ 349}# #{x\ 3584}#) - #{mod\ 3585}#) - (if (vector? #{x\ 3584}#) - (begin - (let ((#{n\ 3596}# (vector-length #{x\ 3584}#))) - (begin - (let ((#{v\ 3598}# - (make-vector #{n\ 3596}#))) - (letrec* - ((#{loop\ 3601}# - (lambda (#{i\ 3602}#) - (if (#{fx=\ 286}# - #{i\ 3602}# - #{n\ 3596}#) - (begin (if #f #f) #{v\ 3598}#) - (begin - (vector-set! - #{v\ 3598}# - #{i\ 3602}# - (#{remodulate\ 3583}# - (vector-ref - #{x\ 3584}# - #{i\ 3602}#) - #{mod\ 3585}#)) - (#{loop\ 3601}# - (#{fx+\ 282}# - #{i\ 3602}# - 1))))))) - (begin (#{loop\ 3601}# 0))))))) - #{x\ 3584}#)))))) - (begin - (let ((#{tmp\ 3606}# #{e\ 3576}#)) - (let ((#{tmp\ 3607}# - ($sc-dispatch #{tmp\ 3606}# '(_ each-any any)))) - (if (if #{tmp\ 3607}# - (@apply - (lambda (#{mod\ 3610}# #{exp\ 3611}#) - (and-map #{id?\ 379}# #{mod\ 3610}#)) - #{tmp\ 3607}#) - #f) - (@apply - (lambda (#{mod\ 3615}# #{exp\ 3616}#) - (begin - (let ((#{mod\ 3618}# - (syntax->datum - (cons '#(syntax-object - private - ((top) - #(ribcage - #(mod exp) - #((top) (top)) - #("i3613" "i3614")) - #(ribcage - (remodulate) - ((top)) - ("i3582")) - #(ribcage - #(e r w) - #((top) (top) (top)) - #("i3579" - "i3580" - "i3581")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene guile)) - #{mod\ 3615}#)))) - (values - (#{remodulate\ 3583}# - #{exp\ 3616}# - #{mod\ 3618}#) - #{r\ 3577}# - #{w\ 3578}# - (#{source-annotation\ 360}# #{exp\ 3616}#) - #{mod\ 3618}#)))) - #{tmp\ 3607}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 3606}#)))))))) - (#{global-extend\ 375}# - 'core - 'if - (lambda (#{e\ 3620}# - #{r\ 3621}# - #{w\ 3622}# - #{s\ 3623}# - #{mod\ 3624}#) - (let ((#{tmp\ 3630}# #{e\ 3620}#)) - (let ((#{tmp\ 3631}# - ($sc-dispatch #{tmp\ 3630}# '(_ any any)))) - (if #{tmp\ 3631}# - (@apply - (lambda (#{test\ 3634}# #{then\ 3635}#) - (#{build-conditional\ 307}# - #{s\ 3623}# - (#{chi\ 461}# - #{test\ 3634}# - #{r\ 3621}# - #{w\ 3622}# - #{mod\ 3624}#) - (#{chi\ 461}# - #{then\ 3635}# - #{r\ 3621}# - #{w\ 3622}# - #{mod\ 3624}#) - (#{build-void\ 303}# #f))) - #{tmp\ 3631}#) - (let ((#{tmp\ 3637}# - ($sc-dispatch #{tmp\ 3630}# '(_ any any any)))) - (if #{tmp\ 3637}# - (@apply - (lambda (#{test\ 3641}# - #{then\ 3642}# - #{else\ 3643}#) - (#{build-conditional\ 307}# - #{s\ 3623}# - (#{chi\ 461}# - #{test\ 3641}# - #{r\ 3621}# - #{w\ 3622}# - #{mod\ 3624}#) - (#{chi\ 461}# - #{then\ 3642}# - #{r\ 3621}# - #{w\ 3622}# - #{mod\ 3624}#) - (#{chi\ 461}# - #{else\ 3643}# - #{r\ 3621}# - #{w\ 3622}# - #{mod\ 3624}#))) - #{tmp\ 3637}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 3630}#)))))))) - (#{global-extend\ 375}# - 'core - 'with-fluids - (lambda (#{e\ 3644}# - #{r\ 3645}# - #{w\ 3646}# - #{s\ 3647}# - #{mod\ 3648}#) - (let ((#{tmp\ 3654}# #{e\ 3644}#)) - (let ((#{tmp\ 3655}# - ($sc-dispatch - #{tmp\ 3654}# - '(_ #(each (any any)) any . each-any)))) - (if #{tmp\ 3655}# - (@apply - (lambda (#{fluid\ 3660}# - #{val\ 3661}# - #{b\ 3662}# - #{b*\ 3663}#) - (#{build-dynlet\ 309}# - #{s\ 3647}# - (map (lambda (#{x\ 3664}#) - (#{chi\ 461}# - #{x\ 3664}# - #{r\ 3645}# - #{w\ 3646}# - #{mod\ 3648}#)) - #{fluid\ 3660}#) - (map (lambda (#{x\ 3667}#) - (#{chi\ 461}# - #{x\ 3667}# - #{r\ 3645}# - #{w\ 3646}# - #{mod\ 3648}#)) - #{val\ 3661}#) - (#{chi-body\ 469}# - (cons #{b\ 3662}# #{b*\ 3663}#) - (#{source-wrap\ 447}# - #{e\ 3644}# - #{w\ 3646}# - #{s\ 3647}# - #{mod\ 3648}#) - #{r\ 3645}# - #{w\ 3646}# - #{mod\ 3648}#))) - #{tmp\ 3655}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 3654}#)))))) - (#{global-extend\ 375}# 'begin 'begin '()) - (#{global-extend\ 375}# 'define 'define '()) - (#{global-extend\ 375}# - 'define-syntax - 'define-syntax - '()) - (#{global-extend\ 375}# - 'eval-when - 'eval-when - '()) - (#{global-extend\ 375}# - 'core - 'syntax-case - (letrec* - ((#{convert-pattern\ 3672}# - (lambda (#{pattern\ 3679}# #{keys\ 3680}#) - (letrec* - ((#{cvt*\ 3684}# - (lambda (#{p*\ 3687}# #{n\ 3688}# #{ids\ 3689}#) - (if (null? #{p*\ 3687}#) - (values '() #{ids\ 3689}#) - (call-with-values - (lambda () - (#{cvt*\ 3684}# - (cdr #{p*\ 3687}#) - #{n\ 3688}# - #{ids\ 3689}#)) - (lambda (#{y\ 3693}# #{ids\ 3694}#) - (call-with-values - (lambda () - (#{cvt\ 3686}# - (car #{p*\ 3687}#) - #{n\ 3688}# - #{ids\ 3694}#)) - (lambda (#{x\ 3697}# #{ids\ 3698}#) - (values - (cons #{x\ 3697}# #{y\ 3693}#) - #{ids\ 3698}#)))))))) - (#{cvt\ 3686}# - (lambda (#{p\ 3701}# #{n\ 3702}# #{ids\ 3703}#) - (if (#{id?\ 379}# #{p\ 3701}#) - (if (#{bound-id-member?\ 443}# - #{p\ 3701}# - #{keys\ 3680}#) + ("i41" "i40" "i39" "i37"))) + (hygiene guile))) + (values '_ #{ids 3755}#) (values - (vector 'free-id #{p\ 3701}#) - #{ids\ 3703}#) - (if (#{free-id=?\ 435}# - #{p\ 3701}# - '#(syntax-object - _ - ((top) - #(ribcage () () ()) - #(ribcage - #(p n ids) - #((top) (top) (top)) - #("i3704" "i3705" "i3706")) - #(ribcage - (cvt cvt*) - ((top) (top)) - ("i3685" "i3683")) - #(ribcage - #(pattern keys) - #((top) (top)) - #("i3681" "i3682")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3677" "i3675" "i3673" "i3671")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) - (hygiene guile))) - (values '_ #{ids\ 3703}#) - (values - 'any - (cons (cons #{p\ 3701}# #{n\ 3702}#) - #{ids\ 3703}#)))) - (let ((#{tmp\ 3712}# #{p\ 3701}#)) - (let ((#{tmp\ 3713}# - ($sc-dispatch - #{tmp\ 3712}# - '(any any)))) - (if (if #{tmp\ 3713}# - (@apply - (lambda (#{x\ 3716}# #{dots\ 3717}#) - (#{ellipsis?\ 477}# - #{dots\ 3717}#)) - #{tmp\ 3713}#) - #f) - (@apply - (lambda (#{x\ 3720}# #{dots\ 3721}#) - (call-with-values - (lambda () - (#{cvt\ 3686}# - #{x\ 3720}# - (#{fx+\ 282}# #{n\ 3702}# 1) - #{ids\ 3703}#)) - (lambda (#{p\ 3722}# #{ids\ 3723}#) - (values - (if (eq? #{p\ 3722}# 'any) - 'each-any - (vector 'each #{p\ 3722}#)) - #{ids\ 3723}#)))) - #{tmp\ 3713}#) - (let ((#{tmp\ 3726}# - ($sc-dispatch - #{tmp\ 3712}# - '(any any . each-any)))) - (if (if #{tmp\ 3726}# - (@apply - (lambda (#{x\ 3730}# - #{dots\ 3731}# - #{ys\ 3732}#) - (#{ellipsis?\ 477}# - #{dots\ 3731}#)) - #{tmp\ 3726}#) - #f) - (@apply - (lambda (#{x\ 3736}# - #{dots\ 3737}# - #{ys\ 3738}#) - (call-with-values - (lambda () - (#{cvt*\ 3684}# - #{ys\ 3738}# - #{n\ 3702}# - #{ids\ 3703}#)) - (lambda (#{ys\ 3740}# - #{ids\ 3741}#) - (call-with-values - (lambda () - (#{cvt\ 3686}# - #{x\ 3736}# - (1+ #{n\ 3702}#) - #{ids\ 3741}#)) - (lambda (#{x\ 3744}# - #{ids\ 3745}#) + 'any + (cons (cons #{p 3753}# #{n 3754}#) + #{ids 3755}#)))) + (let ((#{tmp 3764}# #{p 3753}#)) + (let ((#{tmp 3765}# + ($sc-dispatch #{tmp 3764}# '(any any)))) + (if (if #{tmp 3765}# + (@apply + (lambda (#{x 3768}# #{dots 3769}#) + (#{ellipsis? 472}# #{dots 3769}#)) + #{tmp 3765}#) + #f) + (@apply + (lambda (#{x 3772}# #{dots 3773}#) + (call-with-values + (lambda () + (#{cvt 3738}# + #{x 3772}# + (#{1+}# #{n 3754}#) + #{ids 3755}#)) + (lambda (#{p 3775}# #{ids 3776}#) + (values + (if (eq? #{p 3775}# 'any) + 'each-any + (vector 'each #{p 3775}#)) + #{ids 3776}#)))) + #{tmp 3765}#) + (let ((#{tmp 3779}# + ($sc-dispatch + #{tmp 3764}# + '(any any . each-any)))) + (if (if #{tmp 3779}# + (@apply + (lambda (#{x 3783}# + #{dots 3784}# + #{ys 3785}#) + (#{ellipsis? 472}# + #{dots 3784}#)) + #{tmp 3779}#) + #f) + (@apply + (lambda (#{x 3789}# + #{dots 3790}# + #{ys 3791}#) + (call-with-values + (lambda () + (#{cvt* 3736}# + #{ys 3791}# + #{n 3754}# + #{ids 3755}#)) + (lambda (#{ys 3793}# #{ids 3794}#) + (call-with-values + (lambda () + (#{cvt 3738}# + #{x 3789}# + (#{1+}# #{n 3754}#) + #{ids 3794}#)) + (lambda (#{x 3797}# + #{ids 3798}#) + (values + (vector + 'each+ + #{x 3797}# + (reverse #{ys 3793}#) + '()) + #{ids 3798}#)))))) + #{tmp 3779}#) + (let ((#{tmp 3802}# + ($sc-dispatch + #{tmp 3764}# + '(any . any)))) + (if #{tmp 3802}# + (@apply + (lambda (#{x 3805}# #{y 3806}#) + (call-with-values + (lambda () + (#{cvt 3738}# + #{y 3806}# + #{n 3754}# + #{ids 3755}#)) + (lambda (#{y 3807}# + #{ids 3808}#) + (call-with-values + (lambda () + (#{cvt 3738}# + #{x 3805}# + #{n 3754}# + #{ids 3808}#)) + (lambda (#{x 3811}# + #{ids 3812}#) + (values + (cons #{x 3811}# + #{y 3807}#) + #{ids 3812}#)))))) + #{tmp 3802}#) + (let ((#{tmp 3815}# + ($sc-dispatch + #{tmp 3764}# + '()))) + (if #{tmp 3815}# + (@apply + (lambda () + (values '() #{ids 3755}#)) + #{tmp 3815}#) + (let ((#{tmp 3816}# + ($sc-dispatch + #{tmp 3764}# + '#(vector each-any)))) + (if #{tmp 3816}# + (@apply + (lambda (#{x 3818}#) + (call-with-values + (lambda () + (#{cvt 3738}# + #{x 3818}# + #{n 3754}# + #{ids 3755}#)) + (lambda (#{p 3820}# + #{ids 3821}#) + (values + (vector + 'vector + #{p 3820}#) + #{ids 3821}#)))) + #{tmp 3816}#) + (let ((#{x 3825}# + #{tmp 3764}#)) (values (vector - 'each+ - #{x\ 3744}# - (reverse #{ys\ 3740}#) - '()) - #{ids\ 3745}#)))))) - #{tmp\ 3726}#) - (let ((#{tmp\ 3749}# - ($sc-dispatch - #{tmp\ 3712}# - '(any . any)))) - (if #{tmp\ 3749}# - (@apply - (lambda (#{x\ 3752}# #{y\ 3753}#) - (call-with-values - (lambda () - (#{cvt\ 3686}# - #{y\ 3753}# - #{n\ 3702}# - #{ids\ 3703}#)) - (lambda (#{y\ 3754}# - #{ids\ 3755}#) - (call-with-values - (lambda () - (#{cvt\ 3686}# - #{x\ 3752}# - #{n\ 3702}# - #{ids\ 3755}#)) - (lambda (#{x\ 3758}# - #{ids\ 3759}#) - (values - (cons #{x\ 3758}# - #{y\ 3754}#) - #{ids\ 3759}#)))))) - #{tmp\ 3749}#) - (let ((#{tmp\ 3762}# - ($sc-dispatch - #{tmp\ 3712}# - '()))) - (if #{tmp\ 3762}# - (@apply - (lambda () - (values '() #{ids\ 3703}#)) - #{tmp\ 3762}#) - (let ((#{tmp\ 3763}# - ($sc-dispatch - #{tmp\ 3712}# - '#(vector - each-any)))) - (if #{tmp\ 3763}# - (@apply - (lambda (#{x\ 3765}#) - (call-with-values - (lambda () - (#{cvt\ 3686}# - #{x\ 3765}# - #{n\ 3702}# - #{ids\ 3703}#)) - (lambda (#{p\ 3767}# - #{ids\ 3768}#) - (values - (vector - 'vector - #{p\ 3767}#) - #{ids\ 3768}#)))) - #{tmp\ 3763}#) - (let ((#{x\ 3772}# - #{tmp\ 3712}#)) - (values - (vector - 'atom - (#{strip\ 487}# - #{p\ 3701}# - '(()))) - #{ids\ 3703}#))))))))))))))))) - (begin (#{cvt\ 3686}# #{pattern\ 3679}# 0 '()))))) - (#{build-dispatch-call\ 3674}# - (lambda (#{pvars\ 3774}# - #{exp\ 3775}# - #{y\ 3776}# - #{r\ 3777}# - #{mod\ 3778}#) - (begin - (map cdr #{pvars\ 3774}#) - (let ((#{ids\ 3786}# (map car #{pvars\ 3774}#))) - (begin - (let ((#{labels\ 3790}# - (#{gen-labels\ 394}# #{ids\ 3786}#)) - (#{new-vars\ 3791}# - (map #{gen-var\ 489}# #{ids\ 3786}#))) - (#{build-application\ 305}# - #f - (#{build-primref\ 329}# #f 'apply) - (list (#{build-simple-lambda\ 323}# - #f - (map syntax->datum #{ids\ 3786}#) - #f - #{new-vars\ 3791}# - '() - (#{chi\ 461}# - #{exp\ 3775}# - (#{extend-env\ 367}# - #{labels\ 3790}# - (map (lambda (#{var\ 3795}# - #{level\ 3796}#) - (cons 'syntax - (cons #{var\ 3795}# - #{level\ 3796}#))) - #{new-vars\ 3791}# - (map cdr #{pvars\ 3774}#)) - #{r\ 3777}#) - (#{make-binding-wrap\ 423}# - #{ids\ 3786}# - #{labels\ 3790}# - '(())) - #{mod\ 3778}#)) - #{y\ 3776}#)))))))) - (#{gen-clause\ 3676}# - (lambda (#{x\ 3802}# - #{keys\ 3803}# - #{clauses\ 3804}# - #{r\ 3805}# - #{pat\ 3806}# - #{fender\ 3807}# - #{exp\ 3808}# - #{mod\ 3809}#) - (call-with-values - (lambda () - (#{convert-pattern\ 3672}# - #{pat\ 3806}# - #{keys\ 3803}#)) - (lambda (#{p\ 3818}# #{pvars\ 3819}#) - (if (not (#{distinct-bound-ids?\ 441}# - (map car #{pvars\ 3819}#))) - (syntax-violation - 'syntax-case - "duplicate pattern variable" - #{pat\ 3806}#) - (if (not (and-map - (lambda (#{x\ 3826}#) - (not (#{ellipsis?\ 477}# - (car #{x\ 3826}#)))) - #{pvars\ 3819}#)) - (syntax-violation - 'syntax-case - "misplaced ellipsis" - #{pat\ 3806}#) - (begin - (let ((#{y\ 3830}# (#{gen-var\ 489}# 'tmp))) - (#{build-application\ 305}# - #f - (#{build-simple-lambda\ 323}# + 'atom + (#{strip 482}# + #{p 3753}# + '(()))) + #{ids 3755}#))))))))))))))))) + (begin (#{cvt 3738}# #{pattern 3731}# 0 '()))))) + (#{build-dispatch-call 3726}# + (lambda (#{pvars 3827}# + #{exp 3828}# + #{y 3829}# + #{r 3830}# + #{mod 3831}#) + (begin + (map cdr #{pvars 3827}#) + (let ((#{ids 3839}# (map car #{pvars 3827}#))) + (begin + (let ((#{labels 3843}# + (#{gen-labels 391}# #{ids 3839}#)) + (#{new-vars 3844}# + (map #{gen-var 484}# #{ids 3839}#))) + (#{build-application 302}# + #f + (#{build-primref 326}# #f 'apply) + (list (#{build-simple-lambda 320}# #f - (list 'tmp) + (map syntax->datum #{ids 3839}#) #f - (list #{y\ 3830}#) + #{new-vars 3844}# '() - (begin - (let ((#{y\ 3834}# - (#{build-lexical-reference\ 311}# - 'value - #f - 'tmp - #{y\ 3830}#))) - (#{build-conditional\ 307}# - #f - (let ((#{tmp\ 3837}# - #{fender\ 3807}#)) - (let ((#{tmp\ 3838}# - ($sc-dispatch - #{tmp\ 3837}# - '#(atom #t)))) - (if #{tmp\ 3838}# - (@apply - (lambda () #{y\ 3834}#) - #{tmp\ 3838}#) - (let ((#{_\ 3840}# - #{tmp\ 3837}#)) - (#{build-conditional\ 307}# - #f - #{y\ 3834}# - (#{build-dispatch-call\ 3674}# - #{pvars\ 3819}# - #{fender\ 3807}# - #{y\ 3834}# - #{r\ 3805}# - #{mod\ 3809}#) - (#{build-data\ 331}# - #f - #f)))))) - (#{build-dispatch-call\ 3674}# - #{pvars\ 3819}# - #{exp\ 3808}# - #{y\ 3834}# - #{r\ 3805}# - #{mod\ 3809}#) - (#{gen-syntax-case\ 3678}# - #{x\ 3802}# - #{keys\ 3803}# - #{clauses\ 3804}# - #{r\ 3805}# - #{mod\ 3809}#))))) - (list (if (eq? #{p\ 3818}# 'any) - (#{build-application\ 305}# - #f - (#{build-primref\ 329}# #f 'list) - (list #{x\ 3802}#)) - (#{build-application\ 305}# - #f - (#{build-primref\ 329}# + (#{chi 456}# + #{exp 3828}# + (#{extend-env 364}# + #{labels 3843}# + (map (lambda (#{var 3848}# + #{level 3849}#) + (cons 'syntax + (cons #{var 3848}# + #{level 3849}#))) + #{new-vars 3844}# + (map cdr #{pvars 3827}#)) + #{r 3830}#) + (#{make-binding-wrap 420}# + #{ids 3839}# + #{labels 3843}# + '(())) + #{mod 3831}#)) + #{y 3829}#)))))))) + (#{gen-clause 3728}# + (lambda (#{x 3855}# + #{keys 3856}# + #{clauses 3857}# + #{r 3858}# + #{pat 3859}# + #{fender 3860}# + #{exp 3861}# + #{mod 3862}#) + (call-with-values + (lambda () + (#{convert-pattern 3724}# + #{pat 3859}# + #{keys 3856}#)) + (lambda (#{p 3871}# #{pvars 3872}#) + (if (not (#{distinct-bound-ids? 438}# + (map car #{pvars 3872}#))) + (syntax-violation + 'syntax-case + "duplicate pattern variable" + #{pat 3859}#) + (if (not (and-map + (lambda (#{x 3879}#) + (not (#{ellipsis? 472}# + (car #{x 3879}#)))) + #{pvars 3872}#)) + (syntax-violation + 'syntax-case + "misplaced ellipsis" + #{pat 3859}#) + (begin + (let ((#{y 3883}# (#{gen-var 484}# 'tmp))) + (#{build-application 302}# + #f + (#{build-simple-lambda 320}# + #f + (list 'tmp) + #f + (list #{y 3883}#) + '() + (begin + (let ((#{y 3887}# + (#{build-lexical-reference 308}# + 'value #f - '$sc-dispatch) - (list #{x\ 3802}# - (#{build-data\ 331}# + 'tmp + #{y 3883}#))) + (#{build-conditional 304}# + #f + (let ((#{tmp 3890}# #{fender 3860}#)) + (let ((#{tmp 3891}# + ($sc-dispatch + #{tmp 3890}# + '#(atom #t)))) + (if #{tmp 3891}# + (@apply + (lambda () #{y 3887}#) + #{tmp 3891}#) + (let ((#{_ 3893}# #{tmp 3890}#)) + (#{build-conditional 304}# + #f + #{y 3887}# + (#{build-dispatch-call 3726}# + #{pvars 3872}# + #{fender 3860}# + #{y 3887}# + #{r 3858}# + #{mod 3862}#) + (#{build-data 328}# #f - #{p\ 3818}#)))))))))))))) - (#{gen-syntax-case\ 3678}# - (lambda (#{x\ 3848}# - #{keys\ 3849}# - #{clauses\ 3850}# - #{r\ 3851}# - #{mod\ 3852}#) - (if (null? #{clauses\ 3850}#) - (#{build-application\ 305}# - #f - (#{build-primref\ 329}# #f 'syntax-violation) - (list (#{build-data\ 331}# #f #f) - (#{build-data\ 331}# - #f - "source expression failed to match any pattern") - #{x\ 3848}#)) - (let ((#{tmp\ 3862}# (car #{clauses\ 3850}#))) - (let ((#{tmp\ 3863}# - ($sc-dispatch #{tmp\ 3862}# '(any any)))) - (if #{tmp\ 3863}# - (@apply - (lambda (#{pat\ 3866}# #{exp\ 3867}#) - (if (if (#{id?\ 379}# #{pat\ 3866}#) - (and-map - (lambda (#{x\ 3870}#) - (not (#{free-id=?\ 435}# - #{pat\ 3866}# - #{x\ 3870}#))) - (cons '#(syntax-object - ... - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i3864" "i3865")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) - (top) - (top) - (top) - (top)) - #("i3853" - "i3854" - "i3855" - "i3856" - "i3857")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3677" - "i3675" - "i3673" - "i3671")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" - "i39" - "i38" - "i36"))) - (hygiene guile)) - #{keys\ 3849}#)) - #f) - (if (#{free-id=?\ 435}# - '#(syntax-object - pad - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i3864" "i3865")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i3853" - "i3854" - "i3855" - "i3856" - "i3857")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3677" - "i3675" - "i3673" - "i3671")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) - (hygiene guile)) - '#(syntax-object - _ - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i3864" "i3865")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i3853" - "i3854" - "i3855" - "i3856" - "i3857")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3677" - "i3675" - "i3673" - "i3671")) - #(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 - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i490" - "i488" - "i486" - "i484" - "i482" - "i480" - "i478" - "i476" - "i474" - "i472" - "i470" - "i468" - "i466" - "i464" - "i462" - "i460" - "i458" - "i456" - "i454" - "i452" - "i450" - "i448" - "i446" - "i444" - "i442" - "i440" - "i438" - "i436" - "i434" - "i432" - "i430" - "i428" - "i426" - "i424" - "i422" - "i420" - "i419" - "i418" - "i416" - "i415" - "i414" - "i413" - "i412" - "i410" - "i408" - "i406" - "i404" - "i402" - "i400" - "i398" - "i396" - "i393" - "i391" - "i390" - "i389" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i381" - "i380" - "i378" - "i376" - "i374" - "i372" - "i370" - "i368" - "i366" - "i365" - "i364" - "i363" - "i362" - "i361" - "i359" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i298" - "i296" - "i294" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i279" - "i277" - "i275" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244" - "i242" - "i240" - "i238")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i40" "i39" "i38" "i36"))) - (hygiene guile))) - (#{chi\ 461}# - #{exp\ 3867}# - #{r\ 3851}# - '(()) - #{mod\ 3852}#) - (begin - (let ((#{labels\ 3875}# - (list (#{gen-label\ 392}#))) - (#{var\ 3876}# - (#{gen-var\ 489}# - #{pat\ 3866}#))) - (#{build-application\ 305}# + #f)))))) + (#{build-dispatch-call 3726}# + #{pvars 3872}# + #{exp 3861}# + #{y 3887}# + #{r 3858}# + #{mod 3862}#) + (#{gen-syntax-case 3730}# + #{x 3855}# + #{keys 3856}# + #{clauses 3857}# + #{r 3858}# + #{mod 3862}#))))) + (list (if (eq? #{p 3871}# 'any) + (#{build-application 302}# #f - (#{build-simple-lambda\ 323}# - #f - (list (syntax->datum - #{pat\ 3866}#)) + (#{build-primref 326}# #f 'list) + (list #{x 3855}#)) + (#{build-application 302}# + #f + (#{build-primref 326}# #f - (list #{var\ 3876}#) - '() - (#{chi\ 461}# - #{exp\ 3867}# - (#{extend-env\ 367}# - #{labels\ 3875}# - (list (cons 'syntax - (cons #{var\ 3876}# - 0))) - #{r\ 3851}#) - (#{make-binding-wrap\ 423}# - (list #{pat\ 3866}#) - #{labels\ 3875}# - '(())) - #{mod\ 3852}#)) - (list #{x\ 3848}#))))) - (#{gen-clause\ 3676}# - #{x\ 3848}# - #{keys\ 3849}# - (cdr #{clauses\ 3850}#) - #{r\ 3851}# - #{pat\ 3866}# - #t - #{exp\ 3867}# - #{mod\ 3852}#))) - #{tmp\ 3863}#) - (let ((#{tmp\ 3882}# - ($sc-dispatch - #{tmp\ 3862}# - '(any any any)))) - (if #{tmp\ 3882}# - (@apply - (lambda (#{pat\ 3886}# - #{fender\ 3887}# - #{exp\ 3888}#) - (#{gen-clause\ 3676}# - #{x\ 3848}# - #{keys\ 3849}# - (cdr #{clauses\ 3850}#) - #{r\ 3851}# - #{pat\ 3886}# - #{fender\ 3887}# - #{exp\ 3888}# - #{mod\ 3852}#)) - #{tmp\ 3882}#) - (let ((#{_\ 3890}# #{tmp\ 3862}#)) - (syntax-violation - 'syntax-case - "invalid clause" - (car #{clauses\ 3850}#)))))))))))) + '$sc-dispatch) + (list #{x 3855}# + (#{build-data 328}# + #f + #{p 3871}#)))))))))))))) + (#{gen-syntax-case 3730}# + (lambda (#{x 3901}# + #{keys 3902}# + #{clauses 3903}# + #{r 3904}# + #{mod 3905}#) + (if (null? #{clauses 3903}#) + (#{build-application 302}# + #f + (#{build-primref 326}# #f 'syntax-violation) + (list (#{build-data 328}# #f #f) + (#{build-data 328}# + #f + "source expression failed to match any pattern") + #{x 3901}#)) + (let ((#{tmp 3915}# (car #{clauses 3903}#))) + (let ((#{tmp 3916}# + ($sc-dispatch #{tmp 3915}# '(any any)))) + (if #{tmp 3916}# + (@apply + (lambda (#{pat 3919}# #{exp 3920}#) + (if (if (#{id? 376}# #{pat 3919}#) + (and-map + (lambda (#{x 3923}#) + (not (#{free-id=? 432}# + #{pat 3919}# + #{x 3923}#))) + (cons '#(syntax-object + ... + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("i3917" "i3918")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) + (top) + (top) + (top) + (top)) + #("i3906" + "i3907" + "i3908" + "i3909" + "i3910")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3729" + "i3727" + "i3725" + "i3723")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile)) + #{keys 3902}#)) + #f) + (if (#{free-id=? 432}# + '#(syntax-object + pad + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("i3917" "i3918")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("i3906" + "i3907" + "i3908" + "i3909" + "i3910")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3729" "i3727" "i3725" "i3723")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile)) + '#(syntax-object + _ + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("i3917" "i3918")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("i3906" + "i3907" + "i3908" + "i3909" + "i3910")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3729" "i3727" "i3725" "i3723")) + #(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 + 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 + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i429" + "i427" + "i425" + "i423" + "i421" + "i419" + "i417" + "i416" + "i415" + "i413" + "i412" + "i411" + "i410" + "i409" + "i407" + "i405" + "i403" + "i401" + "i399" + "i397" + "i395" + "i393" + "i390" + "i388" + "i387" + "i386" + "i385" + "i384" + "i383" + "i382" + "i381" + "i380" + "i378" + "i377" + "i375" + "i373" + "i371" + "i369" + "i367" + "i365" + "i363" + "i362" + "i361" + "i360" + "i359" + "i358" + "i356" + "i355" + "i353" + "i351" + "i349" + "i347" + "i345" + "i343" + "i341" + "i339" + "i337" + "i335" + "i333" + "i331" + "i329" + "i327" + "i325" + "i323" + "i321" + "i319" + "i317" + "i315" + "i313" + "i311" + "i309" + "i307" + "i305" + "i303" + "i301" + "i299" + "i297" + "i295" + "i293" + "i291" + "i290" + "i288" + "i286" + "i285" + "i284" + "i283" + "i282" + "i280" + "i278" + "i276" + "i273" + "i271" + "i269" + "i267" + "i265" + "i263" + "i261" + "i259" + "i257" + "i255" + "i253" + "i251" + "i249" + "i247" + "i245" + "i243" + "i241" + "i239")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i41" "i40" "i39" "i37"))) + (hygiene guile))) + (#{chi 456}# + #{exp 3920}# + #{r 3904}# + '(()) + #{mod 3905}#) + (begin + (let ((#{labels 3928}# + (list (#{gen-label 389}#))) + (#{var 3929}# + (#{gen-var 484}# #{pat 3919}#))) + (#{build-application 302}# + #f + (#{build-simple-lambda 320}# + #f + (list (syntax->datum #{pat 3919}#)) + #f + (list #{var 3929}#) + '() + (#{chi 456}# + #{exp 3920}# + (#{extend-env 364}# + #{labels 3928}# + (list (cons 'syntax + (cons #{var 3929}# + 0))) + #{r 3904}#) + (#{make-binding-wrap 420}# + (list #{pat 3919}#) + #{labels 3928}# + '(())) + #{mod 3905}#)) + (list #{x 3901}#))))) + (#{gen-clause 3728}# + #{x 3901}# + #{keys 3902}# + (cdr #{clauses 3903}#) + #{r 3904}# + #{pat 3919}# + #t + #{exp 3920}# + #{mod 3905}#))) + #{tmp 3916}#) + (let ((#{tmp 3935}# + ($sc-dispatch #{tmp 3915}# '(any any any)))) + (if #{tmp 3935}# + (@apply + (lambda (#{pat 3939}# + #{fender 3940}# + #{exp 3941}#) + (#{gen-clause 3728}# + #{x 3901}# + #{keys 3902}# + (cdr #{clauses 3903}#) + #{r 3904}# + #{pat 3939}# + #{fender 3940}# + #{exp 3941}# + #{mod 3905}#)) + #{tmp 3935}#) + (let ((#{_ 3943}# #{tmp 3915}#)) + (syntax-violation + 'syntax-case + "invalid clause" + (car #{clauses 3903}#)))))))))))) + (begin + (lambda (#{e 3944}# + #{r 3945}# + #{w 3946}# + #{s 3947}# + #{mod 3948}#) + (begin + (let ((#{e 3955}# + (#{source-wrap 444}# + #{e 3944}# + #{w 3946}# + #{s 3947}# + #{mod 3948}#))) + (let ((#{tmp 3956}# #{e 3955}#)) + (let ((#{tmp 3957}# + ($sc-dispatch + #{tmp 3956}# + '(_ any each-any . each-any)))) + (if #{tmp 3957}# + (@apply + (lambda (#{val 3961}# #{key 3962}# #{m 3963}#) + (if (and-map + (lambda (#{x 3964}#) + (if (#{id? 376}# #{x 3964}#) + (not (#{ellipsis? 472}# #{x 3964}#)) + #f)) + #{key 3962}#) + (begin + (let ((#{x 3970}# (#{gen-var 484}# 'tmp))) + (#{build-application 302}# + #{s 3947}# + (#{build-simple-lambda 320}# + #f + (list 'tmp) + #f + (list #{x 3970}#) + '() + (#{gen-syntax-case 3730}# + (#{build-lexical-reference 308}# + 'value + #f + 'tmp + #{x 3970}#) + #{key 3962}# + #{m 3963}# + #{r 3945}# + #{mod 3948}#)) + (list (#{chi 456}# + #{val 3961}# + #{r 3945}# + '(()) + #{mod 3948}#))))) + (syntax-violation + 'syntax-case + "invalid literals list" + #{e 3955}#))) + #{tmp 3957}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3956}#)))))))))) + (set! macroexpand + (lambda* + (#{x 3976}# + #:optional + (#{m 3978}# 'e) + (#{esew 3980}# '(eval))) + (#{chi-top-sequence 448}# + (list #{x 3976}#) + '() + '((top)) + #f + #{m 3978}# + #{esew 3980}# + (cons 'hygiene (module-name (current-module)))))) + (set! identifier? + (lambda (#{x 3984}#) + (#{nonsymbol-id? 374}# #{x 3984}#))) + (set! datum->syntax + (lambda (#{id 3986}# #{datum 3987}#) + (#{make-syntax-object 340}# + #{datum 3987}# + (#{syntax-object-wrap 346}# #{id 3986}#) + (#{syntax-object-module 348}# #{id 3986}#)))) + (set! syntax->datum + (lambda (#{x 3990}#) + (#{strip 482}# #{x 3990}# '(())))) + (set! syntax-source + (lambda (#{x 3993}#) + (#{source-annotation 357}# #{x 3993}#))) + (set! generate-temporaries + (lambda (#{ls 3995}#) + (begin (begin - (lambda (#{e\ 3891}# - #{r\ 3892}# - #{w\ 3893}# - #{s\ 3894}# - #{mod\ 3895}#) - (begin - (let ((#{e\ 3902}# - (#{source-wrap\ 447}# - #{e\ 3891}# - #{w\ 3893}# - #{s\ 3894}# - #{mod\ 3895}#))) - (let ((#{tmp\ 3903}# #{e\ 3902}#)) - (let ((#{tmp\ 3904}# - ($sc-dispatch - #{tmp\ 3903}# - '(_ any each-any . each-any)))) - (if #{tmp\ 3904}# - (@apply - (lambda (#{val\ 3908}# - #{key\ 3909}# - #{m\ 3910}#) - (if (and-map - (lambda (#{x\ 3911}#) - (if (#{id?\ 379}# #{x\ 3911}#) - (not (#{ellipsis?\ 477}# - #{x\ 3911}#)) - #f)) - #{key\ 3909}#) - (begin - (let ((#{x\ 3917}# - (#{gen-var\ 489}# 'tmp))) - (#{build-application\ 305}# - #{s\ 3894}# - (#{build-simple-lambda\ 323}# - #f - (list 'tmp) - #f - (list #{x\ 3917}#) - '() - (#{gen-syntax-case\ 3678}# - (#{build-lexical-reference\ 311}# - 'value - #f - 'tmp - #{x\ 3917}#) - #{key\ 3909}# - #{m\ 3910}# - #{r\ 3892}# - #{mod\ 3895}#)) - (list (#{chi\ 461}# - #{val\ 3908}# - #{r\ 3892}# - '(()) - #{mod\ 3895}#))))) - (syntax-violation - 'syntax-case - "invalid literals list" - #{e\ 3902}#))) - #{tmp\ 3904}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 3903}#)))))))))) - (set! macroexpand - (lambda* - (#{x\ 3923}# - #:optional - (#{m\ 3925}# 'e) - (#{esew\ 3927}# '(eval))) - (#{chi-top\ 459}# - #{x\ 3923}# - '() - '((top)) - #{m\ 3925}# - #{esew\ 3927}# - (cons 'hygiene (module-name (current-module)))))) - (set! identifier? - (lambda (#{x\ 3931}#) - (#{nonsymbol-id?\ 377}# #{x\ 3931}#))) - (set! datum->syntax - (lambda (#{id\ 3933}# #{datum\ 3934}#) - (#{make-syntax-object\ 343}# - #{datum\ 3934}# - (#{syntax-object-wrap\ 349}# #{id\ 3933}#) - (#{syntax-object-module\ 351}# #{id\ 3933}#)))) - (set! syntax->datum - (lambda (#{x\ 3937}#) - (#{strip\ 487}# #{x\ 3937}# '(())))) - (set! syntax-source - (lambda (#{x\ 3940}#) - (#{source-annotation\ 360}# #{x\ 3940}#))) - (set! generate-temporaries - (lambda (#{ls\ 3942}#) + (let ((#{x 3999}# #{ls 3995}#)) + (if (not (list? #{x 3999}#)) + (syntax-violation + 'generate-temporaries + "invalid argument" + #{x 3999}#)))) + (map (lambda (#{x 4000}#) + (#{wrap 442}# (gensym) '((top)) #f)) + #{ls 3995}#)))) + (set! free-identifier=? + (lambda (#{x 4004}# #{y 4005}#) + (begin (begin - (begin - (let ((#{x\ 3946}# #{ls\ 3942}#)) - (if (not (list? #{x\ 3946}#)) - (syntax-violation - 'generate-temporaries - "invalid argument" - #{x\ 3946}#)))) - (map (lambda (#{x\ 3947}#) - (#{wrap\ 445}# (gensym) '((top)) #f)) - #{ls\ 3942}#)))) - (set! free-identifier=? - (lambda (#{x\ 3951}# #{y\ 3952}#) + (let ((#{x 4010}# #{x 4004}#)) + (if (not (#{nonsymbol-id? 374}# #{x 4010}#)) + (syntax-violation + 'free-identifier=? + "invalid argument" + #{x 4010}#)))) (begin - (begin - (let ((#{x\ 3957}# #{x\ 3951}#)) - (if (not (#{nonsymbol-id?\ 377}# #{x\ 3957}#)) - (syntax-violation - 'free-identifier=? - "invalid argument" - #{x\ 3957}#)))) - (begin - (let ((#{x\ 3960}# #{y\ 3952}#)) - (if (not (#{nonsymbol-id?\ 377}# #{x\ 3960}#)) - (syntax-violation - 'free-identifier=? - "invalid argument" - #{x\ 3960}#)))) - (#{free-id=?\ 435}# #{x\ 3951}# #{y\ 3952}#)))) - (set! bound-identifier=? - (lambda (#{x\ 3961}# #{y\ 3962}#) + (let ((#{x 4013}# #{y 4005}#)) + (if (not (#{nonsymbol-id? 374}# #{x 4013}#)) + (syntax-violation + 'free-identifier=? + "invalid argument" + #{x 4013}#)))) + (#{free-id=? 432}# #{x 4004}# #{y 4005}#)))) + (set! bound-identifier=? + (lambda (#{x 4014}# #{y 4015}#) + (begin (begin - (begin - (let ((#{x\ 3967}# #{x\ 3961}#)) - (if (not (#{nonsymbol-id?\ 377}# #{x\ 3967}#)) - (syntax-violation - 'bound-identifier=? - "invalid argument" - #{x\ 3967}#)))) - (begin - (let ((#{x\ 3970}# #{y\ 3962}#)) - (if (not (#{nonsymbol-id?\ 377}# #{x\ 3970}#)) - (syntax-violation - 'bound-identifier=? - "invalid argument" - #{x\ 3970}#)))) - (#{bound-id=?\ 437}# #{x\ 3961}# #{y\ 3962}#)))) - (set! syntax-violation - (lambda* - (#{who\ 3971}# - #{message\ 3972}# - #{form\ 3973}# - #:optional - (#{subform\ 3977}# #f)) + (let ((#{x 4020}# #{x 4014}#)) + (if (not (#{nonsymbol-id? 374}# #{x 4020}#)) + (syntax-violation + 'bound-identifier=? + "invalid argument" + #{x 4020}#)))) (begin - (begin - (let ((#{x\ 3981}# #{who\ 3971}#)) - (if (not (let ((#{x\ 3982}# #{x\ 3981}#)) - (begin - (let ((#{t\ 3986}# (not #{x\ 3982}#))) - (if #{t\ 3986}# - #{t\ 3986}# - (begin - (let ((#{t\ 3989}# - (string? #{x\ 3982}#))) - (if #{t\ 3989}# - #{t\ 3989}# - (symbol? #{x\ 3982}#))))))))) - (syntax-violation - 'syntax-violation - "invalid argument" - #{x\ 3981}#)))) - (begin - (let ((#{x\ 3993}# #{message\ 3972}#)) - (if (not (string? #{x\ 3993}#)) - (syntax-violation - 'syntax-violation - "invalid argument" - #{x\ 3993}#)))) - (throw 'syntax-error - #{who\ 3971}# - #{message\ 3972}# - (#{source-annotation\ 360}# - (begin - (let ((#{t\ 3996}# #{form\ 3973}#)) - (if #{t\ 3996}# - #{t\ 3996}# - #{subform\ 3977}#)))) - (#{strip\ 487}# #{form\ 3973}# '(())) - (if #{subform\ 3977}# - (#{strip\ 487}# #{subform\ 3977}# '(())) - #f))))) - (letrec* - ((#{match-each\ 4003}# - (lambda (#{e\ 4016}# - #{p\ 4017}# - #{w\ 4018}# - #{mod\ 4019}#) - (if (pair? #{e\ 4016}#) - (begin - (let ((#{first\ 4027}# - (#{match\ 4015}# - (car #{e\ 4016}#) - #{p\ 4017}# - #{w\ 4018}# - '() - #{mod\ 4019}#))) - (if #{first\ 4027}# - (begin - (let ((#{rest\ 4031}# - (#{match-each\ 4003}# - (cdr #{e\ 4016}#) - #{p\ 4017}# - #{w\ 4018}# - #{mod\ 4019}#))) - (if #{rest\ 4031}# - (cons #{first\ 4027}# #{rest\ 4031}#) - #f))) - #f))) - (if (null? #{e\ 4016}#) - '() - (if (#{syntax-object?\ 345}# #{e\ 4016}#) - (#{match-each\ 4003}# - (#{syntax-object-expression\ 347}# #{e\ 4016}#) - #{p\ 4017}# - (#{join-wraps\ 427}# - #{w\ 4018}# - (#{syntax-object-wrap\ 349}# #{e\ 4016}#)) - (#{syntax-object-module\ 351}# #{e\ 4016}#)) - #f))))) - (#{match-each+\ 4005}# - (lambda (#{e\ 4039}# - #{x-pat\ 4040}# - #{y-pat\ 4041}# - #{z-pat\ 4042}# - #{w\ 4043}# - #{r\ 4044}# - #{mod\ 4045}#) - (letrec* - ((#{f\ 4056}# - (lambda (#{e\ 4057}# #{w\ 4058}#) - (if (pair? #{e\ 4057}#) - (call-with-values - (lambda () - (#{f\ 4056}# (cdr #{e\ 4057}#) #{w\ 4058}#)) - (lambda (#{xr*\ 4061}# - #{y-pat\ 4062}# - #{r\ 4063}#) - (if #{r\ 4063}# - (if (null? #{y-pat\ 4062}#) - (begin - (let ((#{xr\ 4068}# - (#{match\ 4015}# - (car #{e\ 4057}#) - #{x-pat\ 4040}# - #{w\ 4058}# - '() - #{mod\ 4045}#))) - (if #{xr\ 4068}# - (values - (cons #{xr\ 4068}# #{xr*\ 4061}#) - #{y-pat\ 4062}# - #{r\ 4063}#) - (values #f #f #f)))) - (values - '() - (cdr #{y-pat\ 4062}#) - (#{match\ 4015}# - (car #{e\ 4057}#) - (car #{y-pat\ 4062}#) - #{w\ 4058}# - #{r\ 4063}# - #{mod\ 4045}#))) - (values #f #f #f)))) - (if (#{syntax-object?\ 345}# #{e\ 4057}#) - (#{f\ 4056}# - (#{syntax-object-expression\ 347}# #{e\ 4057}#) - (#{join-wraps\ 427}# #{w\ 4058}# #{e\ 4057}#)) - (values - '() - #{y-pat\ 4041}# - (#{match\ 4015}# - #{e\ 4057}# - #{z-pat\ 4042}# - #{w\ 4058}# - #{r\ 4044}# - #{mod\ 4045}#))))))) - (begin (#{f\ 4056}# #{e\ 4039}# #{w\ 4043}#))))) - (#{match-each-any\ 4007}# - (lambda (#{e\ 4072}# #{w\ 4073}# #{mod\ 4074}#) - (if (pair? #{e\ 4072}#) - (begin - (let ((#{l\ 4081}# - (#{match-each-any\ 4007}# - (cdr #{e\ 4072}#) - #{w\ 4073}# - #{mod\ 4074}#))) - (if #{l\ 4081}# - (cons (#{wrap\ 445}# - (car #{e\ 4072}#) - #{w\ 4073}# - #{mod\ 4074}#) - #{l\ 4081}#) - #f))) - (if (null? #{e\ 4072}#) - '() - (if (#{syntax-object?\ 345}# #{e\ 4072}#) - (#{match-each-any\ 4007}# - (#{syntax-object-expression\ 347}# #{e\ 4072}#) - (#{join-wraps\ 427}# - #{w\ 4073}# - (#{syntax-object-wrap\ 349}# #{e\ 4072}#)) - #{mod\ 4074}#) + (let ((#{x 4023}# #{y 4015}#)) + (if (not (#{nonsymbol-id? 374}# #{x 4023}#)) + (syntax-violation + 'bound-identifier=? + "invalid argument" + #{x 4023}#)))) + (#{bound-id=? 434}# #{x 4014}# #{y 4015}#)))) + (set! syntax-violation + (lambda* + (#{who 4024}# + #{message 4025}# + #{form 4026}# + #:optional + (#{subform 4030}# #f)) + (begin + (begin + (let ((#{x 4034}# #{who 4024}#)) + (if (not (let ((#{x 4035}# #{x 4034}#)) + (begin + (let ((#{t 4039}# (not #{x 4035}#))) + (if #{t 4039}# + #{t 4039}# + (begin + (let ((#{t 4042}# (string? #{x 4035}#))) + (if #{t 4042}# + #{t 4042}# + (symbol? #{x 4035}#))))))))) + (syntax-violation + 'syntax-violation + "invalid argument" + #{x 4034}#)))) + (begin + (let ((#{x 4046}# #{message 4025}#)) + (if (not (string? #{x 4046}#)) + (syntax-violation + 'syntax-violation + "invalid argument" + #{x 4046}#)))) + (throw 'syntax-error + #{who 4024}# + #{message 4025}# + (#{source-annotation 357}# + (begin + (let ((#{t 4049}# #{form 4026}#)) + (if #{t 4049}# #{t 4049}# #{subform 4030}#)))) + (#{strip 482}# #{form 4026}# '(())) + (if #{subform 4030}# + (#{strip 482}# #{subform 4030}# '(())) #f))))) - (#{match-empty\ 4009}# - (lambda (#{p\ 4089}# #{r\ 4090}#) - (if (null? #{p\ 4089}#) - #{r\ 4090}# - (if (eq? #{p\ 4089}# '_) - #{r\ 4090}# - (if (eq? #{p\ 4089}# 'any) - (cons '() #{r\ 4090}#) - (if (pair? #{p\ 4089}#) - (#{match-empty\ 4009}# - (car #{p\ 4089}#) - (#{match-empty\ 4009}# - (cdr #{p\ 4089}#) - #{r\ 4090}#)) - (if (eq? #{p\ 4089}# 'each-any) - (cons '() #{r\ 4090}#) - (begin - (let ((#{atom-key\ 4106}# - (vector-ref #{p\ 4089}# 0))) - (if (eqv? #{atom-key\ 4106}# 'each) - (#{match-empty\ 4009}# - (vector-ref #{p\ 4089}# 1) - #{r\ 4090}#) - (if (eqv? #{atom-key\ 4106}# 'each+) - (#{match-empty\ 4009}# - (vector-ref #{p\ 4089}# 1) - (#{match-empty\ 4009}# - (reverse (vector-ref #{p\ 4089}# 2)) - (#{match-empty\ 4009}# - (vector-ref #{p\ 4089}# 3) - #{r\ 4090}#))) - (if (if (eqv? #{atom-key\ 4106}# 'free-id) - #t - (eqv? #{atom-key\ 4106}# 'atom)) - #{r\ 4090}# - (if (eqv? #{atom-key\ 4106}# 'vector) - (#{match-empty\ 4009}# - (vector-ref #{p\ 4089}# 1) - #{r\ 4090}#)))))))))))))) - (#{combine\ 4011}# - (lambda (#{r*\ 4111}# #{r\ 4112}#) - (if (null? (car #{r*\ 4111}#)) - #{r\ 4112}# - (cons (map car #{r*\ 4111}#) - (#{combine\ 4011}# - (map cdr #{r*\ 4111}#) - #{r\ 4112}#))))) - (#{match*\ 4013}# - (lambda (#{e\ 4115}# - #{p\ 4116}# - #{w\ 4117}# - #{r\ 4118}# - #{mod\ 4119}#) - (if (null? #{p\ 4116}#) - (if (null? #{e\ 4115}#) #{r\ 4118}# #f) - (if (pair? #{p\ 4116}#) - (if (pair? #{e\ 4115}#) - (#{match\ 4015}# - (car #{e\ 4115}#) - (car #{p\ 4116}#) - #{w\ 4117}# - (#{match\ 4015}# - (cdr #{e\ 4115}#) - (cdr #{p\ 4116}#) - #{w\ 4117}# - #{r\ 4118}# - #{mod\ 4119}#) - #{mod\ 4119}#) - #f) - (if (eq? #{p\ 4116}# 'each-any) + (letrec* + ((#{match-each 4056}# + (lambda (#{e 4069}# #{p 4070}# #{w 4071}# #{mod 4072}#) + (if (pair? #{e 4069}#) + (begin + (let ((#{first 4080}# + (#{match 4068}# + (car #{e 4069}#) + #{p 4070}# + #{w 4071}# + '() + #{mod 4072}#))) + (if #{first 4080}# (begin - (let ((#{l\ 4136}# - (#{match-each-any\ 4007}# - #{e\ 4115}# - #{w\ 4117}# - #{mod\ 4119}#))) - (if #{l\ 4136}# - (cons #{l\ 4136}# #{r\ 4118}#) + (let ((#{rest 4084}# + (#{match-each 4056}# + (cdr #{e 4069}#) + #{p 4070}# + #{w 4071}# + #{mod 4072}#))) + (if #{rest 4084}# + (cons #{first 4080}# #{rest 4084}#) #f))) - (begin - (let ((#{atom-key\ 4142}# - (vector-ref #{p\ 4116}# 0))) - (if (eqv? #{atom-key\ 4142}# 'each) - (if (null? #{e\ 4115}#) - (#{match-empty\ 4009}# - (vector-ref #{p\ 4116}# 1) - #{r\ 4118}#) - (begin - (let ((#{l\ 4145}# - (#{match-each\ 4003}# - #{e\ 4115}# - (vector-ref #{p\ 4116}# 1) - #{w\ 4117}# - #{mod\ 4119}#))) - (if #{l\ 4145}# - (letrec* - ((#{collect\ 4150}# - (lambda (#{l\ 4151}#) - (if (null? (car #{l\ 4151}#)) - #{r\ 4118}# - (cons (map car #{l\ 4151}#) - (#{collect\ 4150}# - (map cdr - #{l\ 4151}#))))))) - (begin - (#{collect\ 4150}# #{l\ 4145}#))) - #f)))) - (if (eqv? #{atom-key\ 4142}# 'each+) - (call-with-values - (lambda () - (#{match-each+\ 4005}# - #{e\ 4115}# - (vector-ref #{p\ 4116}# 1) - (vector-ref #{p\ 4116}# 2) - (vector-ref #{p\ 4116}# 3) - #{w\ 4117}# - #{r\ 4118}# - #{mod\ 4119}#)) - (lambda (#{xr*\ 4153}# - #{y-pat\ 4154}# - #{r\ 4155}#) - (if #{r\ 4155}# - (if (null? #{y-pat\ 4154}#) - (if (null? #{xr*\ 4153}#) - (#{match-empty\ 4009}# - (vector-ref #{p\ 4116}# 1) - #{r\ 4155}#) - (#{combine\ 4011}# - #{xr*\ 4153}# - #{r\ 4155}#)) - #f) - #f))) - (if (eqv? #{atom-key\ 4142}# 'free-id) - (if (#{id?\ 379}# #{e\ 4115}#) - (if (#{free-id=?\ 435}# - (#{wrap\ 445}# - #{e\ 4115}# - #{w\ 4117}# - #{mod\ 4119}#) - (vector-ref #{p\ 4116}# 1)) - #{r\ 4118}# + #f))) + (if (null? #{e 4069}#) + '() + (if (#{syntax-object? 342}# #{e 4069}#) + (#{match-each 4056}# + (#{syntax-object-expression 344}# #{e 4069}#) + #{p 4070}# + (#{join-wraps 424}# + #{w 4071}# + (#{syntax-object-wrap 346}# #{e 4069}#)) + (#{syntax-object-module 348}# #{e 4069}#)) + #f))))) + (#{match-each+ 4058}# + (lambda (#{e 4092}# + #{x-pat 4093}# + #{y-pat 4094}# + #{z-pat 4095}# + #{w 4096}# + #{r 4097}# + #{mod 4098}#) + (letrec* + ((#{f 4109}# + (lambda (#{e 4110}# #{w 4111}#) + (if (pair? #{e 4110}#) + (call-with-values + (lambda () + (#{f 4109}# (cdr #{e 4110}#) #{w 4111}#)) + (lambda (#{xr* 4114}# #{y-pat 4115}# #{r 4116}#) + (if #{r 4116}# + (if (null? #{y-pat 4115}#) + (begin + (let ((#{xr 4121}# + (#{match 4068}# + (car #{e 4110}#) + #{x-pat 4093}# + #{w 4111}# + '() + #{mod 4098}#))) + (if #{xr 4121}# + (values + (cons #{xr 4121}# #{xr* 4114}#) + #{y-pat 4115}# + #{r 4116}#) + (values #f #f #f)))) + (values + '() + (cdr #{y-pat 4115}#) + (#{match 4068}# + (car #{e 4110}#) + (car #{y-pat 4115}#) + #{w 4111}# + #{r 4116}# + #{mod 4098}#))) + (values #f #f #f)))) + (if (#{syntax-object? 342}# #{e 4110}#) + (#{f 4109}# + (#{syntax-object-expression 344}# #{e 4110}#) + (#{join-wraps 424}# #{w 4111}# #{e 4110}#)) + (values + '() + #{y-pat 4094}# + (#{match 4068}# + #{e 4110}# + #{z-pat 4095}# + #{w 4111}# + #{r 4097}# + #{mod 4098}#))))))) + (begin (#{f 4109}# #{e 4092}# #{w 4096}#))))) + (#{match-each-any 4060}# + (lambda (#{e 4125}# #{w 4126}# #{mod 4127}#) + (if (pair? #{e 4125}#) + (begin + (let ((#{l 4134}# + (#{match-each-any 4060}# + (cdr #{e 4125}#) + #{w 4126}# + #{mod 4127}#))) + (if #{l 4134}# + (cons (#{wrap 442}# + (car #{e 4125}#) + #{w 4126}# + #{mod 4127}#) + #{l 4134}#) + #f))) + (if (null? #{e 4125}#) + '() + (if (#{syntax-object? 342}# #{e 4125}#) + (#{match-each-any 4060}# + (#{syntax-object-expression 344}# #{e 4125}#) + (#{join-wraps 424}# + #{w 4126}# + (#{syntax-object-wrap 346}# #{e 4125}#)) + #{mod 4127}#) + #f))))) + (#{match-empty 4062}# + (lambda (#{p 4142}# #{r 4143}#) + (if (null? #{p 4142}#) + #{r 4143}# + (if (eq? #{p 4142}# '_) + #{r 4143}# + (if (eq? #{p 4142}# 'any) + (cons '() #{r 4143}#) + (if (pair? #{p 4142}#) + (#{match-empty 4062}# + (car #{p 4142}#) + (#{match-empty 4062}# + (cdr #{p 4142}#) + #{r 4143}#)) + (if (eq? #{p 4142}# 'each-any) + (cons '() #{r 4143}#) + (begin + (let ((#{atom-key 4159}# + (vector-ref #{p 4142}# 0))) + (if (eqv? #{atom-key 4159}# 'each) + (#{match-empty 4062}# + (vector-ref #{p 4142}# 1) + #{r 4143}#) + (if (eqv? #{atom-key 4159}# 'each+) + (#{match-empty 4062}# + (vector-ref #{p 4142}# 1) + (#{match-empty 4062}# + (reverse (vector-ref #{p 4142}# 2)) + (#{match-empty 4062}# + (vector-ref #{p 4142}# 3) + #{r 4143}#))) + (if (if (eqv? #{atom-key 4159}# 'free-id) + #t + (eqv? #{atom-key 4159}# 'atom)) + #{r 4143}# + (if (eqv? #{atom-key 4159}# 'vector) + (#{match-empty 4062}# + (vector-ref #{p 4142}# 1) + #{r 4143}#)))))))))))))) + (#{combine 4064}# + (lambda (#{r* 4164}# #{r 4165}#) + (if (null? (car #{r* 4164}#)) + #{r 4165}# + (cons (map car #{r* 4164}#) + (#{combine 4064}# + (map cdr #{r* 4164}#) + #{r 4165}#))))) + (#{match* 4066}# + (lambda (#{e 4168}# + #{p 4169}# + #{w 4170}# + #{r 4171}# + #{mod 4172}#) + (if (null? #{p 4169}#) + (if (null? #{e 4168}#) #{r 4171}# #f) + (if (pair? #{p 4169}#) + (if (pair? #{e 4168}#) + (#{match 4068}# + (car #{e 4168}#) + (car #{p 4169}#) + #{w 4170}# + (#{match 4068}# + (cdr #{e 4168}#) + (cdr #{p 4169}#) + #{w 4170}# + #{r 4171}# + #{mod 4172}#) + #{mod 4172}#) + #f) + (if (eq? #{p 4169}# 'each-any) + (begin + (let ((#{l 4189}# + (#{match-each-any 4060}# + #{e 4168}# + #{w 4170}# + #{mod 4172}#))) + (if #{l 4189}# (cons #{l 4189}# #{r 4171}#) #f))) + (begin + (let ((#{atom-key 4195}# (vector-ref #{p 4169}# 0))) + (if (eqv? #{atom-key 4195}# 'each) + (if (null? #{e 4168}#) + (#{match-empty 4062}# + (vector-ref #{p 4169}# 1) + #{r 4171}#) + (begin + (let ((#{l 4198}# + (#{match-each 4056}# + #{e 4168}# + (vector-ref #{p 4169}# 1) + #{w 4170}# + #{mod 4172}#))) + (if #{l 4198}# + (letrec* + ((#{collect 4203}# + (lambda (#{l 4204}#) + (if (null? (car #{l 4204}#)) + #{r 4171}# + (cons (map car #{l 4204}#) + (#{collect 4203}# + (map cdr + #{l 4204}#))))))) + (begin (#{collect 4203}# #{l 4198}#))) + #f)))) + (if (eqv? #{atom-key 4195}# 'each+) + (call-with-values + (lambda () + (#{match-each+ 4058}# + #{e 4168}# + (vector-ref #{p 4169}# 1) + (vector-ref #{p 4169}# 2) + (vector-ref #{p 4169}# 3) + #{w 4170}# + #{r 4171}# + #{mod 4172}#)) + (lambda (#{xr* 4206}# + #{y-pat 4207}# + #{r 4208}#) + (if #{r 4208}# + (if (null? #{y-pat 4207}#) + (if (null? #{xr* 4206}#) + (#{match-empty 4062}# + (vector-ref #{p 4169}# 1) + #{r 4208}#) + (#{combine 4064}# + #{xr* 4206}# + #{r 4208}#)) #f) + #f))) + (if (eqv? #{atom-key 4195}# 'free-id) + (if (#{id? 376}# #{e 4168}#) + (if (#{free-id=? 432}# + (#{wrap 442}# + #{e 4168}# + #{w 4170}# + #{mod 4172}#) + (vector-ref #{p 4169}# 1)) + #{r 4171}# #f) - (if (eqv? #{atom-key\ 4142}# 'atom) - (if (equal? - (vector-ref #{p\ 4116}# 1) - (#{strip\ 487}# - #{e\ 4115}# - #{w\ 4117}#)) - #{r\ 4118}# - #f) - (if (eqv? #{atom-key\ 4142}# 'vector) - (if (vector? #{e\ 4115}#) - (#{match\ 4015}# - (vector->list #{e\ 4115}#) - (vector-ref #{p\ 4116}# 1) - #{w\ 4117}# - #{r\ 4118}# - #{mod\ 4119}#) - #f))))))))))))) - (#{match\ 4015}# - (lambda (#{e\ 4172}# - #{p\ 4173}# - #{w\ 4174}# - #{r\ 4175}# - #{mod\ 4176}#) - (if (not #{r\ 4175}#) - #f - (if (eq? #{p\ 4173}# '_) - #{r\ 4175}# - (if (eq? #{p\ 4173}# 'any) - (cons (#{wrap\ 445}# - #{e\ 4172}# - #{w\ 4174}# - #{mod\ 4176}#) - #{r\ 4175}#) - (if (#{syntax-object?\ 345}# #{e\ 4172}#) - (#{match*\ 4013}# - (#{syntax-object-expression\ 347}# #{e\ 4172}#) - #{p\ 4173}# - (#{join-wraps\ 427}# - #{w\ 4174}# - (#{syntax-object-wrap\ 349}# #{e\ 4172}#)) - #{r\ 4175}# - (#{syntax-object-module\ 351}# #{e\ 4172}#)) - (#{match*\ 4013}# - #{e\ 4172}# - #{p\ 4173}# - #{w\ 4174}# - #{r\ 4175}# - #{mod\ 4176}#)))))))) - (begin - (set! $sc-dispatch - (lambda (#{e\ 4191}# #{p\ 4192}#) - (if (eq? #{p\ 4192}# 'any) - (list #{e\ 4191}#) - (if (eq? #{p\ 4192}# '_) - '() - (if (#{syntax-object?\ 345}# #{e\ 4191}#) - (#{match*\ 4013}# - (#{syntax-object-expression\ 347}# #{e\ 4191}#) - #{p\ 4192}# - (#{syntax-object-wrap\ 349}# #{e\ 4191}#) - '() - (#{syntax-object-module\ 351}# #{e\ 4191}#)) - (#{match*\ 4013}# - #{e\ 4191}# - #{p\ 4192}# - '(()) - '() - #f)))))))))))))) + #f) + (if (eqv? #{atom-key 4195}# 'atom) + (if (equal? + (vector-ref #{p 4169}# 1) + (#{strip 482}# #{e 4168}# #{w 4170}#)) + #{r 4171}# + #f) + (if (eqv? #{atom-key 4195}# 'vector) + (if (vector? #{e 4168}#) + (#{match 4068}# + (vector->list #{e 4168}#) + (vector-ref #{p 4169}# 1) + #{w 4170}# + #{r 4171}# + #{mod 4172}#) + #f))))))))))))) + (#{match 4068}# + (lambda (#{e 4225}# + #{p 4226}# + #{w 4227}# + #{r 4228}# + #{mod 4229}#) + (if (not #{r 4228}#) + #f + (if (eq? #{p 4226}# '_) + #{r 4228}# + (if (eq? #{p 4226}# 'any) + (cons (#{wrap 442}# #{e 4225}# #{w 4227}# #{mod 4229}#) + #{r 4228}#) + (if (#{syntax-object? 342}# #{e 4225}#) + (#{match* 4066}# + (#{syntax-object-expression 344}# #{e 4225}#) + #{p 4226}# + (#{join-wraps 424}# + #{w 4227}# + (#{syntax-object-wrap 346}# #{e 4225}#)) + #{r 4228}# + (#{syntax-object-module 348}# #{e 4225}#)) + (#{match* 4066}# + #{e 4225}# + #{p 4226}# + #{w 4227}# + #{r 4228}# + #{mod 4229}#)))))))) + (begin + (set! $sc-dispatch + (lambda (#{e 4244}# #{p 4245}#) + (if (eq? #{p 4245}# 'any) + (list #{e 4244}#) + (if (eq? #{p 4245}# '_) + '() + (if (#{syntax-object? 342}# #{e 4244}#) + (#{match* 4066}# + (#{syntax-object-expression 344}# #{e 4244}#) + #{p 4245}# + (#{syntax-object-wrap 346}# #{e 4244}#) + '() + (#{syntax-object-module 348}# #{e 4244}#)) + (#{match* 4066}# + #{e 4244}# + #{p 4245}# + '(()) + '() + #f))))))))))))) (define with-syntax (make-syntax-transformer 'with-syntax 'macro - (lambda (#{x\ 4203}#) - (let ((#{tmp\ 4205}# #{x\ 4203}#)) - (let ((#{tmp\ 4206}# + (lambda (#{x 4256}#) + (let ((#{tmp 4258}# #{x 4256}#)) + (let ((#{tmp 4259}# ($sc-dispatch - #{tmp\ 4205}# + #{tmp 4258}# '(_ () any . each-any)))) - (if #{tmp\ 4206}# + (if #{tmp 4259}# (@apply - (lambda (#{e1\ 4209}# #{e2\ 4210}#) + (lambda (#{e1 4262}# #{e2 4263}#) (cons '#(syntax-object - begin + let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4207" "i4208")) + #("i4260" "i4261")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4204"))) + #(ribcage #(x) #((top)) #("i4257"))) (hygiene guile)) - (cons #{e1\ 4209}# #{e2\ 4210}#))) - #{tmp\ 4206}#) - (let ((#{tmp\ 4212}# + (cons '() (cons #{e1 4262}# #{e2 4263}#)))) + #{tmp 4259}#) + (let ((#{tmp 4265}# ($sc-dispatch - #{tmp\ 4205}# + #{tmp 4258}# '(_ ((any any)) any . each-any)))) - (if #{tmp\ 4212}# + (if #{tmp 4265}# (@apply - (lambda (#{out\ 4217}# - #{in\ 4218}# - #{e1\ 4219}# - #{e2\ 4220}#) + (lambda (#{out 4270}# + #{in 4271}# + #{e1 4272}# + #{e2 4273}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4213" "i4214" "i4215" "i4216")) + #("i4266" "i4267" "i4268" "i4269")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4204"))) + #(ribcage #(x) #((top)) #("i4257"))) (hygiene guile)) - #{in\ 4218}# + #{in 4271}# '() - (list #{out\ 4217}# + (list #{out 4270}# (cons '#(syntax-object - begin + let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4213" "i4214" "i4215" "i4216")) + #("i4266" "i4267" "i4268" "i4269")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4204"))) + #(ribcage #(x) #((top)) #("i4257"))) (hygiene guile)) - (cons #{e1\ 4219}# #{e2\ 4220}#))))) - #{tmp\ 4212}#) - (let ((#{tmp\ 4222}# + (cons '() + (cons #{e1 4272}# #{e2 4273}#)))))) + #{tmp 4265}#) + (let ((#{tmp 4275}# ($sc-dispatch - #{tmp\ 4205}# + #{tmp 4258}# '(_ #(each (any any)) any . each-any)))) - (if #{tmp\ 4222}# + (if #{tmp 4275}# (@apply - (lambda (#{out\ 4227}# - #{in\ 4228}# - #{e1\ 4229}# - #{e2\ 4230}#) + (lambda (#{out 4280}# + #{in 4281}# + #{e1 4282}# + #{e2 4283}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4223" "i4224" "i4225" "i4226")) + #("i4276" "i4277" "i4278" "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4204"))) + #(ribcage #(x) #((top)) #("i4257"))) (hygiene guile)) (cons '#(syntax-object list @@ -14573,61 +14402,63 @@ #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4223" "i4224" "i4225" "i4226")) + #("i4276" "i4277" "i4278" "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4204"))) + #(ribcage #(x) #((top)) #("i4257"))) (hygiene guile)) - #{in\ 4228}#) + #{in 4281}#) '() - (list #{out\ 4227}# + (list #{out 4280}# (cons '#(syntax-object - begin + let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4223" - "i4224" - "i4225" - "i4226")) + #("i4276" + "i4277" + "i4278" + "i4279")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4204"))) + #("i4257"))) (hygiene guile)) - (cons #{e1\ 4229}# #{e2\ 4230}#))))) - #{tmp\ 4222}#) + (cons '() + (cons #{e1 4282}# + #{e2 4283}#)))))) + #{tmp 4275}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4205}#))))))))))) + #{tmp 4258}#))))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro - (lambda (#{x\ 4234}#) - (let ((#{tmp\ 4236}# #{x\ 4234}#)) - (let ((#{tmp\ 4237}# + (lambda (#{x 4287}#) + (let ((#{tmp 4289}# #{x 4287}#)) + (let ((#{tmp 4290}# ($sc-dispatch - #{tmp\ 4236}# + #{tmp 4289}# '(_ each-any . #(each ((any . any) any)))))) - (if #{tmp\ 4237}# + (if #{tmp 4290}# (@apply - (lambda (#{k\ 4242}# - #{keyword\ 4243}# - #{pattern\ 4244}# - #{template\ 4245}#) + (lambda (#{k 4295}# + #{keyword 4296}# + #{pattern 4297}# + #{template 4298}#) (list '#(syntax-object lambda ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) '(#(syntax-object x @@ -14635,9 +14466,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile))) (vector '(#(syntax-object @@ -14646,9 +14477,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) . #(syntax-object @@ -14657,9 +14488,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile))) (cons '#(syntax-object patterns @@ -14667,20 +14498,20 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) - #{pattern\ 4244}#)) + #{pattern 4297}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) (cons '#(syntax-object x @@ -14688,13 +14519,13 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4238" "i4239" "i4240" "i4241")) + #("i4291" "i4292" "i4293" "i4294")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) - (cons #{k\ 4242}# - (map (lambda (#{tmp\ 4249}# - #{tmp\ 4248}#) + (cons #{k 4295}# + (map (lambda (#{tmp 4302}# + #{tmp 4301}#) (list (cons '#(syntax-object dummy ((top) @@ -14707,10 +14538,10 @@ (top) (top) (top)) - #("i4238" - "i4239" - "i4240" - "i4241")) + #("i4291" + "i4292" + "i4293" + "i4294")) #(ribcage () () @@ -14718,9 +14549,9 @@ #(ribcage #(x) #((top)) - #("i4235"))) + #("i4288"))) (hygiene guile)) - #{tmp\ 4248}#) + #{tmp 4301}#) (list '#(syntax-object syntax ((top) @@ -14733,10 +14564,10 @@ (top) (top) (top)) - #("i4238" - "i4239" - "i4240" - "i4241")) + #("i4291" + "i4292" + "i4293" + "i4294")) #(ribcage () () @@ -14744,41 +14575,41 @@ #(ribcage #(x) #((top)) - #("i4235"))) + #("i4288"))) (hygiene guile)) - #{tmp\ 4249}#))) - #{template\ 4245}# - #{pattern\ 4244}#)))))) - #{tmp\ 4237}#) - (let ((#{tmp\ 4250}# + #{tmp 4302}#))) + #{template 4298}# + #{pattern 4297}#)))))) + #{tmp 4290}#) + (let ((#{tmp 4303}# ($sc-dispatch - #{tmp\ 4236}# + #{tmp 4289}# '(_ each-any any . #(each ((any . any) any)))))) - (if (if #{tmp\ 4250}# + (if (if #{tmp 4303}# (@apply - (lambda (#{k\ 4256}# - #{docstring\ 4257}# - #{keyword\ 4258}# - #{pattern\ 4259}# - #{template\ 4260}#) - (string? (syntax->datum #{docstring\ 4257}#))) - #{tmp\ 4250}#) + (lambda (#{k 4309}# + #{docstring 4310}# + #{keyword 4311}# + #{pattern 4312}# + #{template 4313}#) + (string? (syntax->datum #{docstring 4310}#))) + #{tmp 4303}#) #f) (@apply - (lambda (#{k\ 4266}# - #{docstring\ 4267}# - #{keyword\ 4268}# - #{pattern\ 4269}# - #{template\ 4270}#) + (lambda (#{k 4319}# + #{docstring 4320}# + #{keyword 4321}# + #{pattern 4322}# + #{template 4323}#) (list '#(syntax-object lambda ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4261" "i4262" "i4263" "i4264" "i4265")) + #("i4314" "i4315" "i4316" "i4317" "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) '(#(syntax-object x @@ -14786,11 +14617,11 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4261" "i4262" "i4263" "i4264" "i4265")) + #("i4314" "i4315" "i4316" "i4317" "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile))) - #{docstring\ 4267}# + #{docstring 4320}# (vector '(#(syntax-object macro-type @@ -14798,9 +14629,9 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4261" "i4262" "i4263" "i4264" "i4265")) + #("i4314" "i4315" "i4316" "i4317" "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) . #(syntax-object @@ -14809,9 +14640,9 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4261" "i4262" "i4263" "i4264" "i4265")) + #("i4314" "i4315" "i4316" "i4317" "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile))) (cons '#(syntax-object patterns @@ -14819,28 +14650,28 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4261" - "i4262" - "i4263" - "i4264" - "i4265")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) - #{pattern\ 4269}#)) + #{pattern 4322}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4261" - "i4262" - "i4263" - "i4264" - "i4265")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) (cons '#(syntax-object x @@ -14852,17 +14683,17 @@ pattern template) #((top) (top) (top) (top) (top)) - #("i4261" - "i4262" - "i4263" - "i4264" - "i4265")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4235"))) + #(ribcage #(x) #((top)) #("i4288"))) (hygiene guile)) - (cons #{k\ 4266}# - (map (lambda (#{tmp\ 4274}# - #{tmp\ 4273}#) + (cons #{k 4319}# + (map (lambda (#{tmp 4327}# + #{tmp 4326}#) (list (cons '#(syntax-object dummy ((top) @@ -14877,11 +14708,11 @@ (top) (top) (top)) - #("i4261" - "i4262" - "i4263" - "i4264" - "i4265")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () @@ -14889,10 +14720,10 @@ #(ribcage #(x) #((top)) - #("i4235"))) + #("i4288"))) (hygiene guile)) - #{tmp\ 4273}#) + #{tmp 4326}#) (list '#(syntax-object syntax ((top) @@ -14907,11 +14738,11 @@ (top) (top) (top)) - #("i4261" - "i4262" - "i4263" - "i4264" - "i4265")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () @@ -14919,48 +14750,48 @@ #(ribcage #(x) #((top)) - #("i4235"))) + #("i4288"))) (hygiene guile)) - #{tmp\ 4274}#))) - #{template\ 4270}# - #{pattern\ 4269}#)))))) - #{tmp\ 4250}#) + #{tmp 4327}#))) + #{template 4323}# + #{pattern 4322}#)))))) + #{tmp 4303}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4236}#))))))))) + #{tmp 4289}#))))))))) (define let* (make-syntax-transformer 'let* 'macro - (lambda (#{x\ 4275}#) - (let ((#{tmp\ 4277}# #{x\ 4275}#)) - (let ((#{tmp\ 4278}# + (lambda (#{x 4328}#) + (let ((#{tmp 4330}# #{x 4328}#)) + (let ((#{tmp 4331}# ($sc-dispatch - #{tmp\ 4277}# + #{tmp 4330}# '(any #(each (any any)) any . each-any)))) - (if (if #{tmp\ 4278}# + (if (if #{tmp 4331}# (@apply - (lambda (#{let*\ 4284}# - #{x\ 4285}# - #{v\ 4286}# - #{e1\ 4287}# - #{e2\ 4288}#) - (and-map identifier? #{x\ 4285}#)) - #{tmp\ 4278}#) + (lambda (#{let* 4337}# + #{x 4338}# + #{v 4339}# + #{e1 4340}# + #{e2 4341}#) + (and-map identifier? #{x 4338}#)) + #{tmp 4331}#) #f) (@apply - (lambda (#{let*\ 4295}# - #{x\ 4296}# - #{v\ 4297}# - #{e1\ 4298}# - #{e2\ 4299}#) + (lambda (#{let* 4348}# + #{x 4349}# + #{v 4350}# + #{e1 4351}# + #{e2 4352}#) (letrec* - ((#{f\ 4302}# - (lambda (#{bindings\ 4303}#) - (if (null? #{bindings\ 4303}#) + ((#{f 4355}# + (lambda (#{bindings 4356}#) + (if (null? #{bindings 4356}#) (cons '#(syntax-object let ((top) @@ -14968,132 +14799,134 @@ #(ribcage #(f bindings) #((top) (top)) - #("i4300" "i4301")) + #("i4353" "i4354")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i4290" - "i4291" - "i4292" - "i4293" - "i4294")) + #("i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4276"))) + #(ribcage #(x) #((top)) #("i4329"))) (hygiene guile)) - (cons '() (cons #{e1\ 4298}# #{e2\ 4299}#))) - (let ((#{tmp\ 4308}# - (list (#{f\ 4302}# (cdr #{bindings\ 4303}#)) - (car #{bindings\ 4303}#)))) - (let ((#{tmp\ 4309}# - ($sc-dispatch #{tmp\ 4308}# '(any any)))) - (if #{tmp\ 4309}# + (cons '() (cons #{e1 4351}# #{e2 4352}#))) + (let ((#{tmp 4361}# + (list (#{f 4355}# (cdr #{bindings 4356}#)) + (car #{bindings 4356}#)))) + (let ((#{tmp 4362}# + ($sc-dispatch #{tmp 4361}# '(any any)))) + (if #{tmp 4362}# (@apply - (lambda (#{body\ 4312}# #{binding\ 4313}#) + (lambda (#{body 4365}# #{binding 4366}#) (list '#(syntax-object let ((top) + #(ribcage () () ()) #(ribcage #(body binding) #((top) (top)) - #("i4310" "i4311")) + #("i4363" "i4364")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) - #("i4300" "i4301")) + #("i4353" "i4354")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i4290" - "i4291" - "i4292" - "i4293" - "i4294")) + #("i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4276"))) + #("i4329"))) (hygiene guile)) - (list #{binding\ 4313}#) - #{body\ 4312}#)) - #{tmp\ 4309}#) + (list #{binding 4366}#) + #{body 4365}#)) + #{tmp 4362}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4308}#)))))))) + #{tmp 4361}#)))))))) (begin - (#{f\ 4302}# (map list #{x\ 4296}# #{v\ 4297}#))))) - #{tmp\ 4278}#) + (#{f 4355}# (map list #{x 4349}# #{v 4350}#))))) + #{tmp 4331}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4277}#))))))) + #{tmp 4330}#))))))) (define do (make-syntax-transformer 'do 'macro - (lambda (#{orig-x\ 4314}#) - (let ((#{tmp\ 4316}# #{orig-x\ 4314}#)) - (let ((#{tmp\ 4317}# + (lambda (#{orig-x 4367}#) + (let ((#{tmp 4369}# #{orig-x 4367}#)) + (let ((#{tmp 4370}# ($sc-dispatch - #{tmp\ 4316}# + #{tmp 4369}# '(_ #(each (any any . any)) (any . each-any) . each-any)))) - (if #{tmp\ 4317}# + (if #{tmp 4370}# (@apply - (lambda (#{var\ 4324}# - #{init\ 4325}# - #{step\ 4326}# - #{e0\ 4327}# - #{e1\ 4328}# - #{c\ 4329}#) - (let ((#{tmp\ 4331}# - (map (lambda (#{v\ 4352}# #{s\ 4353}#) - (let ((#{tmp\ 4356}# #{s\ 4353}#)) - (let ((#{tmp\ 4357}# - ($sc-dispatch #{tmp\ 4356}# '()))) - (if #{tmp\ 4357}# + (lambda (#{var 4377}# + #{init 4378}# + #{step 4379}# + #{e0 4380}# + #{e1 4381}# + #{c 4382}#) + (let ((#{tmp 4384}# + (map (lambda (#{v 4405}# #{s 4406}#) + (let ((#{tmp 4409}# #{s 4406}#)) + (let ((#{tmp 4410}# + ($sc-dispatch #{tmp 4409}# '()))) + (if #{tmp 4410}# (@apply - (lambda () #{v\ 4352}#) - #{tmp\ 4357}#) - (let ((#{tmp\ 4358}# + (lambda () #{v 4405}#) + #{tmp 4410}#) + (let ((#{tmp 4411}# ($sc-dispatch - #{tmp\ 4356}# + #{tmp 4409}# '(any)))) - (if #{tmp\ 4358}# + (if #{tmp 4411}# (@apply - (lambda (#{e\ 4360}#) #{e\ 4360}#) - #{tmp\ 4358}#) - (let ((#{_\ 4362}# #{tmp\ 4356}#)) + (lambda (#{e 4413}#) #{e 4413}#) + #{tmp 4411}#) + (let ((#{_ 4415}# #{tmp 4409}#)) (syntax-violation 'do "bad step expression" - #{orig-x\ 4314}# - #{s\ 4353}#)))))))) - #{var\ 4324}# - #{step\ 4326}#))) - (let ((#{tmp\ 4332}# - ($sc-dispatch #{tmp\ 4331}# 'each-any))) - (if #{tmp\ 4332}# + #{orig-x 4367}# + #{s 4406}#)))))))) + #{var 4377}# + #{step 4379}#))) + (let ((#{tmp 4385}# + ($sc-dispatch #{tmp 4384}# 'each-any))) + (if #{tmp 4385}# (@apply - (lambda (#{step\ 4334}#) - (let ((#{tmp\ 4335}# #{e1\ 4328}#)) - (let ((#{tmp\ 4336}# - ($sc-dispatch #{tmp\ 4335}# '()))) - (if #{tmp\ 4336}# + (lambda (#{step 4387}#) + (let ((#{tmp 4388}# #{e1 4381}#)) + (let ((#{tmp 4389}# + ($sc-dispatch #{tmp 4388}# '()))) + (if #{tmp 4389}# (@apply (lambda () (list '#(syntax-object let ((top) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15102,25 +14935,26 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) '#(syntax-object doloop ((top) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15129,28 +14963,27 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) - (map list - #{var\ 4324}# - #{init\ 4325}#) + (map list #{var 4377}# #{init 4378}#) (list '#(syntax-object if ((top) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15159,25 +14992,26 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) (list '#(syntax-object not ((top) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15191,26 +15025,27 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) - #{e0\ 4327}#) + #{e0 4380}#) (cons '#(syntax-object begin ((top) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15224,27 +15059,31 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) (append - #{c\ 4329}# + #{c 4382}# (list (cons '#(syntax-object doloop ((top) #(ribcage + () + () + ()) + #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15258,12 +15097,12 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () @@ -15271,29 +15110,30 @@ #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) - #{step\ 4334}#))))))) - #{tmp\ 4336}#) - (let ((#{tmp\ 4341}# + #{step 4387}#))))))) + #{tmp 4389}#) + (let ((#{tmp 4394}# ($sc-dispatch - #{tmp\ 4335}# + #{tmp 4388}# '(any . each-any)))) - (if #{tmp\ 4341}# + (if #{tmp 4394}# (@apply - (lambda (#{e1\ 4344}# #{e2\ 4345}#) + (lambda (#{e1 4397}# #{e2 4398}#) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4342" "i4343")) + #("i4395" "i4396")) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15302,17 +15142,17 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) '#(syntax-object doloop @@ -15320,11 +15160,12 @@ #(ribcage #(e1 e2) #((top) (top)) - #("i4342" "i4343")) + #("i4395" "i4396")) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15333,32 +15174,33 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) (map list - #{var\ 4324}# - #{init\ 4325}#) + #{var 4377}# + #{init 4378}#) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4342" "i4343")) + #("i4395" "i4396")) + #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15372,31 +15214,35 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) - #{e0\ 4327}# + #{e0 4380}# (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4342" - "i4343")) + #("i4395" + "i4396")) + #(ribcage + () + () + ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15410,12 +15256,12 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () @@ -15423,22 +15269,26 @@ #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) - (cons #{e1\ 4344}# - #{e2\ 4345}#)) + (cons #{e1 4397}# + #{e2 4398}#)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4342" - "i4343")) + #("i4395" + "i4396")) + #(ribcage + () + () + ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15452,12 +15302,12 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () @@ -15465,10 +15315,10 @@ #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) (append - #{c\ 4329}# + #{c 4382}# (list (cons '#(syntax-object doloop ((top) @@ -15477,12 +15327,16 @@ e2) #((top) (top)) - #("i4342" - "i4343")) + #("i4395" + "i4396")) + #(ribcage + () + () + ()) #(ribcage #(step) #((top)) - #("i4333")) + #("i4386")) #(ribcage #(var init @@ -15496,12 +15350,12 @@ (top) (top) (top)) - #("i4318" - "i4319" - "i4320" - "i4321" - "i4322" - "i4323")) + #("i4371" + "i4372" + "i4373" + "i4374" + "i4375" + "i4376")) #(ribcage () () @@ -15509,37 +15363,37 @@ #(ribcage #(orig-x) #((top)) - #("i4315"))) + #("i4368"))) (hygiene guile)) - #{step\ 4334}#))))))) - #{tmp\ 4341}#) + #{step 4387}#))))))) + #{tmp 4394}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4335}#))))))) - #{tmp\ 4332}#) + #{tmp 4388}#))))))) + #{tmp 4385}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4331}#))))) - #{tmp\ 4317}#) + #{tmp 4384}#))))) + #{tmp 4370}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4316}#))))))) + #{tmp 4369}#))))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* - ((#{quasi\ 4366}# - (lambda (#{p\ 4379}# #{lev\ 4380}#) - (let ((#{tmp\ 4383}# #{p\ 4379}#)) - (let ((#{tmp\ 4384}# + ((#{quasi 4419}# + (lambda (#{p 4432}# #{lev 4433}#) + (let ((#{tmp 4436}# #{p 4432}#)) + (let ((#{tmp 4437}# ($sc-dispatch - #{tmp\ 4383}# + #{tmp 4436}# '(#(free-id #(syntax-object unquote @@ -15548,7 +15402,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15557,28 +15411,28 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) any)))) - (if #{tmp\ 4384}# + (if #{tmp 4437}# (@apply - (lambda (#{p\ 4386}#) - (if (= #{lev\ 4380}# 0) + (lambda (#{p 4439}#) + (if (= #{lev 4433}# 0) (list '#(syntax-object "value" ((top) - #(ribcage #(p) #((top)) #("i4385")) + #(ribcage #(p) #((top)) #("i4438")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15587,25 +15441,25 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{p\ 4386}#) - (#{quasicons\ 4370}# + #{p 4439}#) + (#{quasicons 4423}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4385")) + #(ribcage #(p) #((top)) #("i4438")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15614,23 +15468,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i4385")) + #(ribcage #(p) #((top)) #("i4438")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15639,21 +15493,21 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) - (#{quasi\ 4366}# - (list #{p\ 4386}#) - (1- #{lev\ 4380}#))))) - #{tmp\ 4384}#) - (let ((#{tmp\ 4387}# + (#{quasi 4419}# + (list #{p 4439}#) + (#{1-}# #{lev 4433}#))))) + #{tmp 4437}#) + (let ((#{tmp 4440}# ($sc-dispatch - #{tmp\ 4383}# + #{tmp 4436}# '(#(free-id #(syntax-object quasiquote @@ -15662,7 +15516,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15671,28 +15525,28 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) any)))) - (if #{tmp\ 4387}# + (if #{tmp 4440}# (@apply - (lambda (#{p\ 4389}#) - (#{quasicons\ 4370}# + (lambda (#{p 4442}#) + (#{quasicons 4423}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4388")) + #(ribcage #(p) #((top)) #("i4441")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15701,23 +15555,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) #(syntax-object quasiquote ((top) - #(ribcage #(p) #((top)) #("i4388")) + #(ribcage #(p) #((top)) #("i4441")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15726,27 +15580,27 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) - (#{quasi\ 4366}# - (list #{p\ 4389}#) - (1+ #{lev\ 4380}#)))) - #{tmp\ 4387}#) - (let ((#{tmp\ 4390}# - ($sc-dispatch #{tmp\ 4383}# '(any . any)))) - (if #{tmp\ 4390}# + (#{quasi 4419}# + (list #{p 4442}#) + (#{1+}# #{lev 4433}#)))) + #{tmp 4440}#) + (let ((#{tmp 4443}# + ($sc-dispatch #{tmp 4436}# '(any . any)))) + (if #{tmp 4443}# (@apply - (lambda (#{p\ 4393}# #{q\ 4394}#) - (let ((#{tmp\ 4395}# #{p\ 4393}#)) - (let ((#{tmp\ 4396}# + (lambda (#{p 4446}# #{q 4447}#) + (let ((#{tmp 4448}# #{p 4446}#)) + (let ((#{tmp 4449}# ($sc-dispatch - #{tmp\ 4395}# + #{tmp 4448}# '(#(free-id #(syntax-object unquote @@ -15754,12 +15608,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4391" "i4392")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15774,40 +15628,40 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) . each-any)))) - (if #{tmp\ 4396}# + (if #{tmp 4449}# (@apply - (lambda (#{p\ 4398}#) - (if (= #{lev\ 4380}# 0) - (#{quasilist*\ 4374}# - (map (lambda (#{tmp\ 4399}#) + (lambda (#{p 4451}#) + (if (= #{lev 4433}# 0) + (#{quasilist* 4427}# + (map (lambda (#{tmp 4452}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4397")) + #("i4450")) #(ribcage #(p q) #((top) (top)) - #("i4391" - "i4392")) + #("i4444" + "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" - "i4382")) + #("i4434" + "i4435")) #(ribcage (emit quasivector quasilist* @@ -15822,37 +15676,37 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{tmp\ 4399}#)) - #{p\ 4398}#) - (#{quasi\ 4366}# - #{q\ 4394}# - #{lev\ 4380}#)) - (#{quasicons\ 4370}# - (#{quasicons\ 4370}# + #{tmp 4452}#)) + #{p 4451}#) + (#{quasi 4419}# + #{q 4447}# + #{lev 4433}#)) + (#{quasicons 4423}# + (#{quasicons 4423}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4397")) + #("i4450")) #(ribcage #(p q) #((top) (top)) - #("i4391" "i4392")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15867,13 +15721,13 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) #(syntax-object unquote @@ -15881,16 +15735,16 @@ #(ribcage #(p) #((top)) - #("i4397")) + #("i4450")) #(ribcage #(p q) #((top) (top)) - #("i4391" "i4392")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15905,24 +15759,24 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) - (#{quasi\ 4366}# - #{p\ 4398}# - (1- #{lev\ 4380}#))) - (#{quasi\ 4366}# - #{q\ 4394}# - #{lev\ 4380}#)))) - #{tmp\ 4396}#) - (let ((#{tmp\ 4401}# + (#{quasi 4419}# + #{p 4451}# + (#{1-}# #{lev 4433}#))) + (#{quasi 4419}# + #{q 4447}# + #{lev 4433}#)))) + #{tmp 4449}#) + (let ((#{tmp 4454}# ($sc-dispatch - #{tmp\ 4395}# + #{tmp 4448}# '(#(free-id #(syntax-object unquote-splicing @@ -15930,12 +15784,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4391" "i4392")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -15950,35 +15804,35 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) . each-any)))) - (if #{tmp\ 4401}# + (if #{tmp 4454}# (@apply - (lambda (#{p\ 4403}#) - (if (= #{lev\ 4380}# 0) - (#{quasiappend\ 4372}# - (map (lambda (#{tmp\ 4404}#) + (lambda (#{p 4456}#) + (if (= #{lev 4433}# 0) + (#{quasiappend 4425}# + (map (lambda (#{tmp 4457}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4402")) + #("i4455")) #(ribcage #(p q) #((top) (top)) - #("i4391" - "i4392")) + #("i4444" + "i4445")) #(ribcage () () @@ -15987,8 +15841,8 @@ #(p lev) #((top) (top)) - #("i4381" - "i4382")) + #("i4434" + "i4435")) #(ribcage (emit quasivector quasilist* @@ -16003,37 +15857,37 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{tmp\ 4404}#)) - #{p\ 4403}#) - (#{quasi\ 4366}# - #{q\ 4394}# - #{lev\ 4380}#)) - (#{quasicons\ 4370}# - (#{quasicons\ 4370}# + #{tmp 4457}#)) + #{p 4456}#) + (#{quasi 4419}# + #{q 4447}# + #{lev 4433}#)) + (#{quasicons 4423}# + (#{quasicons 4423}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4402")) + #("i4455")) #(ribcage #(p q) #((top) (top)) - #("i4391" "i4392")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -16048,13 +15902,13 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) #(syntax-object unquote-splicing @@ -16062,16 +15916,16 @@ #(ribcage #(p) #((top)) - #("i4402")) + #("i4455")) #(ribcage #(p q) #((top) (top)) - #("i4391" "i4392")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -16086,52 +15940,50 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) - (#{quasi\ 4366}# - #{p\ 4403}# - (1- #{lev\ 4380}#))) - (#{quasi\ 4366}# - #{q\ 4394}# - #{lev\ 4380}#)))) - #{tmp\ 4401}#) - (let ((#{_\ 4407}# #{tmp\ 4395}#)) - (#{quasicons\ 4370}# - (#{quasi\ 4366}# - #{p\ 4393}# - #{lev\ 4380}#) - (#{quasi\ 4366}# - #{q\ 4394}# - #{lev\ 4380}#))))))))) - #{tmp\ 4390}#) - (let ((#{tmp\ 4408}# + (#{quasi 4419}# + #{p 4456}# + (#{1-}# #{lev 4433}#))) + (#{quasi 4419}# + #{q 4447}# + #{lev 4433}#)))) + #{tmp 4454}#) + (let ((#{_ 4460}# #{tmp 4448}#)) + (#{quasicons 4423}# + (#{quasi 4419}# + #{p 4446}# + #{lev 4433}#) + (#{quasi 4419}# + #{q 4447}# + #{lev 4433}#))))))))) + #{tmp 4443}#) + (let ((#{tmp 4461}# ($sc-dispatch - #{tmp\ 4383}# + #{tmp 4436}# '#(vector each-any)))) - (if #{tmp\ 4408}# + (if #{tmp 4461}# (@apply - (lambda (#{x\ 4410}#) - (#{quasivector\ 4376}# - (#{vquasi\ 4368}# - #{x\ 4410}# - #{lev\ 4380}#))) - #{tmp\ 4408}#) - (let ((#{p\ 4413}# #{tmp\ 4383}#)) + (lambda (#{x 4463}#) + (#{quasivector 4429}# + (#{vquasi 4421}# #{x 4463}# #{lev 4433}#))) + #{tmp 4461}#) + (let ((#{p 4466}# #{tmp 4436}#)) (list '#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4412")) + #(ribcage #(p) #((top)) #("i4465")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4381" "i4382")) + #("i4434" "i4435")) #(ribcage (emit quasivector quasilist* @@ -16146,27 +15998,27 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{p\ 4413}#))))))))))))) - (#{vquasi\ 4368}# - (lambda (#{p\ 4414}# #{lev\ 4415}#) - (let ((#{tmp\ 4418}# #{p\ 4414}#)) - (let ((#{tmp\ 4419}# - ($sc-dispatch #{tmp\ 4418}# '(any . any)))) - (if #{tmp\ 4419}# + #{p 4466}#))))))))))))) + (#{vquasi 4421}# + (lambda (#{p 4467}# #{lev 4468}#) + (let ((#{tmp 4471}# #{p 4467}#)) + (let ((#{tmp 4472}# + ($sc-dispatch #{tmp 4471}# '(any . any)))) + (if #{tmp 4472}# (@apply - (lambda (#{p\ 4422}# #{q\ 4423}#) - (let ((#{tmp\ 4424}# #{p\ 4422}#)) - (let ((#{tmp\ 4425}# + (lambda (#{p 4475}# #{q 4476}#) + (let ((#{tmp 4477}# #{p 4475}#)) + (let ((#{tmp 4478}# ($sc-dispatch - #{tmp\ 4424}# + #{tmp 4477}# '(#(free-id #(syntax-object unquote @@ -16174,12 +16026,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16194,38 +16046,38 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) . each-any)))) - (if #{tmp\ 4425}# + (if #{tmp 4478}# (@apply - (lambda (#{p\ 4427}#) - (if (= #{lev\ 4415}# 0) - (#{quasilist*\ 4374}# - (map (lambda (#{tmp\ 4428}#) + (lambda (#{p 4480}#) + (if (= #{lev 4468}# 0) + (#{quasilist* 4427}# + (map (lambda (#{tmp 4481}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4426")) + #("i4479")) #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16240,34 +16092,32 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{tmp\ 4428}#)) - #{p\ 4427}#) - (#{vquasi\ 4368}# - #{q\ 4423}# - #{lev\ 4415}#)) - (#{quasicons\ 4370}# - (#{quasicons\ 4370}# + #{tmp 4481}#)) + #{p 4480}#) + (#{vquasi 4421}# #{q 4476}# #{lev 4468}#)) + (#{quasicons 4423}# + (#{quasicons 4423}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4426")) + #(ribcage #(p) #((top)) #("i4479")) #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16282,27 +16132,27 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i4426")) + #(ribcage #(p) #((top)) #("i4479")) #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16317,24 +16167,22 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) - (#{quasi\ 4366}# - #{p\ 4427}# - (1- #{lev\ 4415}#))) - (#{vquasi\ 4368}# - #{q\ 4423}# - #{lev\ 4415}#)))) - #{tmp\ 4425}#) - (let ((#{tmp\ 4430}# + (#{quasi 4419}# + #{p 4480}# + (#{1-}# #{lev 4468}#))) + (#{vquasi 4421}# #{q 4476}# #{lev 4468}#)))) + #{tmp 4478}#) + (let ((#{tmp 4483}# ($sc-dispatch - #{tmp\ 4424}# + #{tmp 4477}# '(#(free-id #(syntax-object unquote-splicing @@ -16342,12 +16190,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16362,38 +16210,38 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) . each-any)))) - (if #{tmp\ 4430}# + (if #{tmp 4483}# (@apply - (lambda (#{p\ 4432}#) - (if (= #{lev\ 4415}# 0) - (#{quasiappend\ 4372}# - (map (lambda (#{tmp\ 4433}#) + (lambda (#{p 4485}#) + (if (= #{lev 4468}# 0) + (#{quasiappend 4425}# + (map (lambda (#{tmp 4486}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4431")) + #("i4484")) #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16408,37 +16256,37 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{tmp\ 4433}#)) - #{p\ 4432}#) - (#{vquasi\ 4368}# - #{q\ 4423}# - #{lev\ 4415}#)) - (#{quasicons\ 4370}# - (#{quasicons\ 4370}# + #{tmp 4486}#)) + #{p 4485}#) + (#{vquasi 4421}# + #{q 4476}# + #{lev 4468}#)) + (#{quasicons 4423}# + (#{quasicons 4423}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4431")) + #("i4484")) #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16453,13 +16301,13 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) #(syntax-object unquote-splicing @@ -16467,16 +16315,16 @@ #(ribcage #(p) #((top)) - #("i4431")) + #("i4484")) #(ribcage #(p q) #((top) (top)) - #("i4420" "i4421")) + #("i4473" "i4474")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16491,30 +16339,30 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile))) - (#{quasi\ 4366}# - #{p\ 4432}# - (1- #{lev\ 4415}#))) - (#{vquasi\ 4368}# - #{q\ 4423}# - #{lev\ 4415}#)))) - #{tmp\ 4430}#) - (let ((#{_\ 4436}# #{tmp\ 4424}#)) - (#{quasicons\ 4370}# - (#{quasi\ 4366}# #{p\ 4422}# #{lev\ 4415}#) - (#{vquasi\ 4368}# - #{q\ 4423}# - #{lev\ 4415}#))))))))) - #{tmp\ 4419}#) - (let ((#{tmp\ 4437}# ($sc-dispatch #{tmp\ 4418}# '()))) - (if #{tmp\ 4437}# + (#{quasi 4419}# + #{p 4485}# + (#{1-}# #{lev 4468}#))) + (#{vquasi 4421}# + #{q 4476}# + #{lev 4468}#)))) + #{tmp 4483}#) + (let ((#{_ 4489}# #{tmp 4477}#)) + (#{quasicons 4423}# + (#{quasi 4419}# #{p 4475}# #{lev 4468}#) + (#{vquasi 4421}# + #{q 4476}# + #{lev 4468}#))))))))) + #{tmp 4472}#) + (let ((#{tmp 4490}# ($sc-dispatch #{tmp 4471}# '()))) + (if #{tmp 4490}# (@apply (lambda () '(#(syntax-object @@ -16524,7 +16372,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4416" "i4417")) + #("i4469" "i4470")) #(ribcage (emit quasivector quasilist* @@ -16533,65 +16381,66 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) ())) - #{tmp\ 4437}#) + #{tmp 4490}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4418}#)))))))) - (#{quasicons\ 4370}# - (lambda (#{x\ 4438}# #{y\ 4439}#) - (let ((#{tmp\ 4443}# (list #{x\ 4438}# #{y\ 4439}#))) - (let ((#{tmp\ 4444}# - ($sc-dispatch #{tmp\ 4443}# '(any any)))) - (if #{tmp\ 4444}# + #{tmp 4471}#)))))))) + (#{quasicons 4423}# + (lambda (#{x 4491}# #{y 4492}#) + (let ((#{tmp 4496}# (list #{x 4491}# #{y 4492}#))) + (let ((#{tmp 4497}# + ($sc-dispatch #{tmp 4496}# '(any any)))) + (if #{tmp 4497}# (@apply - (lambda (#{x\ 4447}# #{y\ 4448}#) - (let ((#{tmp\ 4449}# #{y\ 4448}#)) - (let ((#{tmp\ 4450}# + (lambda (#{x 4500}# #{y 4501}#) + (let ((#{tmp 4502}# #{y 4501}#)) + (let ((#{tmp 4503}# ($sc-dispatch - #{tmp\ 4449}# + #{tmp 4502}# '(#(atom "quote") any)))) - (if #{tmp\ 4450}# + (if #{tmp 4503}# (@apply - (lambda (#{dy\ 4452}#) - (let ((#{tmp\ 4453}# #{x\ 4447}#)) - (let ((#{tmp\ 4454}# + (lambda (#{dy 4505}#) + (let ((#{tmp 4506}# #{x 4500}#)) + (let ((#{tmp 4507}# ($sc-dispatch - #{tmp\ 4453}# + #{tmp 4506}# '(#(atom "quote") any)))) - (if #{tmp\ 4454}# + (if #{tmp 4507}# (@apply - (lambda (#{dx\ 4456}#) + (lambda (#{dx 4509}#) (list '#(syntax-object "quote" ((top) #(ribcage #(dx) #((top)) - #("i4455")) + #("i4508")) #(ribcage #(dy) #((top)) - #("i4451")) + #("i4504")) + #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4445" "i4446")) + #("i4498" "i4499")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4440" "i4441")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16606,40 +16455,40 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - (cons #{dx\ 4456}# - #{dy\ 4452}#))) - #{tmp\ 4454}#) - (let ((#{_\ 4458}# #{tmp\ 4453}#)) - (if (null? #{dy\ 4452}#) + (cons #{dx 4509}# #{dy 4505}#))) + #{tmp 4507}#) + (let ((#{_ 4511}# #{tmp 4506}#)) + (if (null? #{dy 4505}#) (list '#(syntax-object "list" ((top) #(ribcage #(_) #((top)) - #("i4457")) + #("i4510")) #(ribcage #(dy) #((top)) - #("i4451")) + #("i4504")) + #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4445" "i4446")) + #("i4498" "i4499")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4440" "i4441")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16654,36 +16503,37 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{x\ 4447}#) + #{x 4500}#) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i4457")) + #("i4510")) #(ribcage #(dy) #((top)) - #("i4451")) + #("i4504")) + #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4445" "i4446")) + #("i4498" "i4499")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4440" "i4441")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16698,41 +16548,42 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{x\ 4447}# - #{y\ 4448}#))))))) - #{tmp\ 4450}#) - (let ((#{tmp\ 4459}# + #{x 4500}# + #{y 4501}#))))))) + #{tmp 4503}#) + (let ((#{tmp 4512}# ($sc-dispatch - #{tmp\ 4449}# + #{tmp 4502}# '(#(atom "list") . any)))) - (if #{tmp\ 4459}# + (if #{tmp 4512}# (@apply - (lambda (#{stuff\ 4461}#) + (lambda (#{stuff 4514}#) (cons '#(syntax-object "list" ((top) #(ribcage #(stuff) #((top)) - #("i4460")) + #("i4513")) + #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4445" "i4446")) + #("i4498" "i4499")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4440" "i4441")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16747,40 +16598,41 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - (cons #{x\ 4447}# #{stuff\ 4461}#))) - #{tmp\ 4459}#) - (let ((#{tmp\ 4462}# + (cons #{x 4500}# #{stuff 4514}#))) + #{tmp 4512}#) + (let ((#{tmp 4515}# ($sc-dispatch - #{tmp\ 4449}# + #{tmp 4502}# '(#(atom "list*") . any)))) - (if #{tmp\ 4462}# + (if #{tmp 4515}# (@apply - (lambda (#{stuff\ 4464}#) + (lambda (#{stuff 4517}#) (cons '#(syntax-object "list*" ((top) #(ribcage #(stuff) #((top)) - #("i4463")) + #("i4516")) + #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4445" "i4446")) + #("i4498" "i4499")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4440" "i4441")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16795,35 +16647,35 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - (cons #{x\ 4447}# - #{stuff\ 4464}#))) - #{tmp\ 4462}#) - (let ((#{_\ 4466}# #{tmp\ 4449}#)) + (cons #{x 4500}# #{stuff 4517}#))) + #{tmp 4515}#) + (let ((#{_ 4519}# #{tmp 4502}#)) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i4465")) + #("i4518")) + #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4445" "i4446")) + #("i4498" "i4499")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4440" "i4441")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16838,32 +16690,30 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{x\ 4447}# - #{y\ 4448}#)))))))))) - #{tmp\ 4444}#) + #{x 4500}# + #{y 4501}#)))))))))) + #{tmp 4497}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4443}#)))))) - (#{quasiappend\ 4372}# - (lambda (#{x\ 4467}# #{y\ 4468}#) - (let ((#{tmp\ 4471}# #{y\ 4468}#)) - (let ((#{tmp\ 4472}# - ($sc-dispatch - #{tmp\ 4471}# - '(#(atom "quote") ())))) - (if #{tmp\ 4472}# + #{tmp 4496}#)))))) + (#{quasiappend 4425}# + (lambda (#{x 4520}# #{y 4521}#) + (let ((#{tmp 4524}# #{y 4521}#)) + (let ((#{tmp 4525}# + ($sc-dispatch #{tmp 4524}# '(#(atom "quote") ())))) + (if #{tmp 4525}# (@apply (lambda () - (if (null? #{x\ 4467}#) + (if (null? #{x 4520}#) '(#(syntax-object "quote" ((top) @@ -16871,7 +16721,7 @@ #(ribcage #(x y) #((top) (top)) - #("i4469" "i4470")) + #("i4522" "i4523")) #(ribcage (emit quasivector quasilist* @@ -16880,35 +16730,36 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) ()) - (if (null? (cdr #{x\ 4467}#)) - (car #{x\ 4467}#) - (let ((#{tmp\ 4479}# #{x\ 4467}#)) - (let ((#{tmp\ 4480}# - ($sc-dispatch #{tmp\ 4479}# 'each-any))) - (if #{tmp\ 4480}# + (if (null? (cdr #{x 4520}#)) + (car #{x 4520}#) + (let ((#{tmp 4532}# #{x 4520}#)) + (let ((#{tmp 4533}# + ($sc-dispatch #{tmp 4532}# 'each-any))) + (if #{tmp 4533}# (@apply - (lambda (#{p\ 4482}#) + (lambda (#{p 4535}#) (cons '#(syntax-object "append" ((top) + #(ribcage () () ()) #(ribcage #(p) #((top)) - #("i4481")) + #("i4534")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4469" "i4470")) + #("i4522" "i4523")) #(ribcage (emit quasivector quasilist* @@ -16923,43 +16774,44 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{p\ 4482}#)) - #{tmp\ 4480}#) + #{p 4535}#)) + #{tmp 4533}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4479}#))))))) - #{tmp\ 4472}#) - (let ((#{_\ 4485}# #{tmp\ 4471}#)) - (if (null? #{x\ 4467}#) - #{y\ 4468}# - (let ((#{tmp\ 4490}# (list #{x\ 4467}# #{y\ 4468}#))) - (let ((#{tmp\ 4491}# - ($sc-dispatch #{tmp\ 4490}# '(each-any any)))) - (if #{tmp\ 4491}# + #{tmp 4532}#))))))) + #{tmp 4525}#) + (let ((#{_ 4538}# #{tmp 4524}#)) + (if (null? #{x 4520}#) + #{y 4521}# + (let ((#{tmp 4543}# (list #{x 4520}# #{y 4521}#))) + (let ((#{tmp 4544}# + ($sc-dispatch #{tmp 4543}# '(each-any any)))) + (if #{tmp 4544}# (@apply - (lambda (#{p\ 4494}# #{y\ 4495}#) + (lambda (#{p 4547}# #{y 4548}#) (cons '#(syntax-object "append" ((top) + #(ribcage () () ()) #(ribcage #(p y) #((top) (top)) - #("i4492" "i4493")) - #(ribcage #(_) #((top)) #("i4484")) + #("i4545" "i4546")) + #(ribcage #(_) #((top)) #("i4537")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4469" "i4470")) + #("i4522" "i4523")) #(ribcage (emit quasivector quasilist* @@ -16974,47 +16826,47 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - (append #{p\ 4494}# (list #{y\ 4495}#)))) - #{tmp\ 4491}#) + (append #{p 4547}# (list #{y 4548}#)))) + #{tmp 4544}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4490}#))))))))))) - (#{quasilist*\ 4374}# - (lambda (#{x\ 4497}# #{y\ 4498}#) + #{tmp 4543}#))))))))))) + (#{quasilist* 4427}# + (lambda (#{x 4550}# #{y 4551}#) (letrec* - ((#{f\ 4503}# - (lambda (#{x\ 4504}#) - (if (null? #{x\ 4504}#) - #{y\ 4498}# - (#{quasicons\ 4370}# - (car #{x\ 4504}#) - (#{f\ 4503}# (cdr #{x\ 4504}#))))))) - (begin (#{f\ 4503}# #{x\ 4497}#))))) - (#{quasivector\ 4376}# - (lambda (#{x\ 4505}#) - (let ((#{tmp\ 4507}# #{x\ 4505}#)) - (let ((#{tmp\ 4508}# + ((#{f 4556}# + (lambda (#{x 4557}#) + (if (null? #{x 4557}#) + #{y 4551}# + (#{quasicons 4423}# + (car #{x 4557}#) + (#{f 4556}# (cdr #{x 4557}#))))))) + (begin (#{f 4556}# #{x 4550}#))))) + (#{quasivector 4429}# + (lambda (#{x 4558}#) + (let ((#{tmp 4560}# #{x 4558}#)) + (let ((#{tmp 4561}# ($sc-dispatch - #{tmp\ 4507}# + #{tmp 4560}# '(#(atom "quote") each-any)))) - (if #{tmp\ 4508}# + (if #{tmp 4561}# (@apply - (lambda (#{x\ 4510}#) + (lambda (#{x 4563}#) (list '#(syntax-object "quote" ((top) - #(ribcage #(x) #((top)) #("i4509")) + #(ribcage #(x) #((top)) #("i4562")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4506")) + #(ribcage #(x) #((top)) #("i4559")) #(ribcage (emit quasivector quasilist* @@ -17023,53 +16875,53 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - (list->vector #{x\ 4510}#))) - #{tmp\ 4508}#) - (let ((#{_\ 4513}# #{tmp\ 4507}#)) + (list->vector #{x 4563}#))) + #{tmp 4561}#) + (let ((#{_ 4566}# #{tmp 4560}#)) (letrec* - ((#{f\ 4517}# - (lambda (#{y\ 4518}# #{k\ 4519}#) - (let ((#{tmp\ 4530}# #{y\ 4518}#)) - (let ((#{tmp\ 4531}# + ((#{f 4570}# + (lambda (#{y 4571}# #{k 4572}#) + (let ((#{tmp 4583}# #{y 4571}#)) + (let ((#{tmp 4584}# ($sc-dispatch - #{tmp\ 4530}# + #{tmp 4583}# '(#(atom "quote") each-any)))) - (if #{tmp\ 4531}# + (if #{tmp 4584}# (@apply - (lambda (#{y\ 4533}#) - (#{k\ 4519}# - (map (lambda (#{tmp\ 4534}#) + (lambda (#{y 4586}#) + (#{k 4572}# + (map (lambda (#{tmp 4587}#) (list '#(syntax-object "quote" ((top) #(ribcage #(y) #((top)) - #("i4532")) + #("i4585")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) - #("i4514" - "i4515" - "i4516")) + #("i4567" + "i4568" + "i4569")) #(ribcage #(_) #((top)) - #("i4512")) + #("i4565")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4506")) + #("i4559")) #(ribcage (emit quasivector quasilist* @@ -17084,74 +16936,75 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{tmp\ 4534}#)) - #{y\ 4533}#))) - #{tmp\ 4531}#) - (let ((#{tmp\ 4535}# + #{tmp 4587}#)) + #{y 4586}#))) + #{tmp 4584}#) + (let ((#{tmp 4588}# ($sc-dispatch - #{tmp\ 4530}# + #{tmp 4583}# '(#(atom "list") . each-any)))) - (if #{tmp\ 4535}# + (if #{tmp 4588}# (@apply - (lambda (#{y\ 4537}#) - (#{k\ 4519}# #{y\ 4537}#)) - #{tmp\ 4535}#) - (let ((#{tmp\ 4539}# + (lambda (#{y 4590}#) + (#{k 4572}# #{y 4590}#)) + #{tmp 4588}#) + (let ((#{tmp 4592}# ($sc-dispatch - #{tmp\ 4530}# + #{tmp 4583}# '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp\ 4539}# + (if #{tmp 4592}# (@apply - (lambda (#{y\ 4542}# #{z\ 4543}#) - (#{f\ 4517}# - #{z\ 4543}# - (lambda (#{ls\ 4544}#) - (#{k\ 4519}# + (lambda (#{y 4595}# #{z 4596}#) + (#{f 4570}# + #{z 4596}# + (lambda (#{ls 4597}#) + (#{k 4572}# (append - #{y\ 4542}# - #{ls\ 4544}#))))) - #{tmp\ 4539}#) - (let ((#{else\ 4548}# #{tmp\ 4530}#)) - (let ((#{tmp\ 4552}# #{x\ 4505}#)) - (let ((#{\ g4549\ 4554}# - #{tmp\ 4552}#)) + #{y 4595}# + #{ls 4597}#))))) + #{tmp 4592}#) + (let ((#{else 4601}# #{tmp 4583}#)) + (let ((#{tmp 4605}# #{x 4558}#)) + (let ((#{ g4602 4607}# + #{tmp 4605}#)) (list '#(syntax-object "list->vector" ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4549}#) - #((m4550 top)) - #("i4553")) + #(#{ g4602}#) + #((m4603 top)) + #("i4606")) #(ribcage #(else) #((top)) - #("i4547")) + #("i4600")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) - #("i4514" - "i4515" - "i4516")) + #("i4567" + "i4568" + "i4569")) #(ribcage #(_) #((top)) - #("i4512")) + #("i4565")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4506")) + #("i4559")) #(ribcage (emit quasivector quasilist* @@ -17166,48 +17019,49 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4549\ 4554}#)))))))))))))) + #{ g4602 4607}#)))))))))))))) (begin - (#{f\ 4517}# - #{x\ 4505}# - (lambda (#{ls\ 4520}#) - (let ((#{tmp\ 4525}# #{ls\ 4520}#)) - (let ((#{tmp\ 4526}# - ($sc-dispatch #{tmp\ 4525}# 'each-any))) - (if #{tmp\ 4526}# + (#{f 4570}# + #{x 4558}# + (lambda (#{ls 4573}#) + (let ((#{tmp 4578}# #{ls 4573}#)) + (let ((#{tmp 4579}# + ($sc-dispatch #{tmp 4578}# 'each-any))) + (if #{tmp 4579}# (@apply - (lambda (#{\ g4522\ 4528}#) + (lambda (#{ g4575 4581}#) (cons '#(syntax-object "vector" ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4522}#) - #((m4523 top)) - #("i4527")) + #(#{ g4575}#) + #((m4576 top)) + #("i4580")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ls) #((top)) - #("i4521")) + #("i4574")) #(ribcage #(_) #((top)) - #("i4512")) + #("i4565")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4506")) + #("i4559")) #(ribcage (emit quasivector quasilist* @@ -17222,36 +17076,36 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4522\ 4528}#)) - #{tmp\ 4526}#) + #{ g4575 4581}#)) + #{tmp 4579}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4525}#)))))))))))))) - (#{emit\ 4378}# - (lambda (#{x\ 4555}#) - (let ((#{tmp\ 4557}# #{x\ 4555}#)) - (let ((#{tmp\ 4558}# + #{tmp 4578}#)))))))))))))) + (#{emit 4431}# + (lambda (#{x 4608}#) + (let ((#{tmp 4610}# #{x 4608}#)) + (let ((#{tmp 4611}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "quote") any)))) - (if #{tmp\ 4558}# + (if #{tmp 4611}# (@apply - (lambda (#{x\ 4560}#) + (lambda (#{x 4613}#) (list '#(syntax-object quote ((top) - #(ribcage #(x) #((top)) #("i4559")) + #(ribcage #(x) #((top)) #("i4612")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4556")) + #(ribcage #(x) #((top)) #("i4609")) #(ribcage (emit quasivector quasilist* @@ -17260,46 +17114,46 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{x\ 4560}#)) - #{tmp\ 4558}#) - (let ((#{tmp\ 4561}# + #{x 4613}#)) + #{tmp 4611}#) + (let ((#{tmp 4614}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "list") . each-any)))) - (if #{tmp\ 4561}# + (if #{tmp 4614}# (@apply - (lambda (#{x\ 4563}#) - (let ((#{tmp\ 4567}# - (map #{emit\ 4378}# #{x\ 4563}#))) - (let ((#{tmp\ 4568}# - ($sc-dispatch #{tmp\ 4567}# 'each-any))) - (if #{tmp\ 4568}# + (lambda (#{x 4616}#) + (let ((#{tmp 4620}# (map #{emit 4431}# #{x 4616}#))) + (let ((#{tmp 4621}# + ($sc-dispatch #{tmp 4620}# 'each-any))) + (if #{tmp 4621}# (@apply - (lambda (#{\ g4564\ 4570}#) + (lambda (#{ g4617 4623}#) (cons '#(syntax-object list ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4564}#) - #((m4565 top)) - #("i4569")) + #(#{ g4617}#) + #((m4618 top)) + #("i4622")) #(ribcage #(x) #((top)) - #("i4562")) + #("i4615")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4556")) + #("i4609")) #(ribcage (emit quasivector quasilist* @@ -17314,69 +17168,70 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4564\ 4570}#)) - #{tmp\ 4568}#) + #{ g4617 4623}#)) + #{tmp 4621}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4567}#))))) - #{tmp\ 4561}#) - (let ((#{tmp\ 4573}# + #{tmp 4620}#))))) + #{tmp 4614}#) + (let ((#{tmp 4626}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp\ 4573}# + (if #{tmp 4626}# (@apply - (lambda (#{x\ 4576}# #{y\ 4577}#) + (lambda (#{x 4629}# #{y 4630}#) (letrec* - ((#{f\ 4580}# - (lambda (#{x*\ 4581}#) - (if (null? #{x*\ 4581}#) - (#{emit\ 4378}# #{y\ 4577}#) - (let ((#{tmp\ 4587}# - (list (#{emit\ 4378}# - (car #{x*\ 4581}#)) - (#{f\ 4580}# - (cdr #{x*\ 4581}#))))) - (let ((#{tmp\ 4588}# + ((#{f 4633}# + (lambda (#{x* 4634}#) + (if (null? #{x* 4634}#) + (#{emit 4431}# #{y 4630}#) + (let ((#{tmp 4640}# + (list (#{emit 4431}# + (car #{x* 4634}#)) + (#{f 4633}# + (cdr #{x* 4634}#))))) + (let ((#{tmp 4641}# ($sc-dispatch - #{tmp\ 4587}# + #{tmp 4640}# '(any any)))) - (if #{tmp\ 4588}# + (if #{tmp 4641}# (@apply - (lambda (#{\ g4584\ 4591}# - #{\ g4583\ 4592}#) + (lambda (#{ g4637 4644}# + #{ g4636 4645}#) (list '#(syntax-object cons ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4584}# - #{\ g4583}#) - #((m4585 top) - (m4585 top)) - #("i4589" "i4590")) + #(#{ g4637}# + #{ g4636}#) + #((m4638 top) + (m4638 top)) + #("i4642" "i4643")) #(ribcage () () ()) #(ribcage #(f x*) #((top) (top)) - #("i4578" "i4579")) + #("i4631" "i4632")) #(ribcage #(x y) #((top) (top)) - #("i4574" "i4575")) + #("i4627" "i4628")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4556")) + #("i4609")) #(ribcage (emit quasivector quasilist* @@ -17391,55 +17246,56 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4584\ 4591}# - #{\ g4583\ 4592}#)) - #{tmp\ 4588}#) + #{ g4637 4644}# + #{ g4636 4645}#)) + #{tmp 4641}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4587}#)))))))) - (begin (#{f\ 4580}# #{x\ 4576}#)))) - #{tmp\ 4573}#) - (let ((#{tmp\ 4593}# + #{tmp 4640}#)))))))) + (begin (#{f 4633}# #{x 4629}#)))) + #{tmp 4626}#) + (let ((#{tmp 4646}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "append") . each-any)))) - (if #{tmp\ 4593}# + (if #{tmp 4646}# (@apply - (lambda (#{x\ 4595}#) - (let ((#{tmp\ 4599}# - (map #{emit\ 4378}# #{x\ 4595}#))) - (let ((#{tmp\ 4600}# + (lambda (#{x 4648}#) + (let ((#{tmp 4652}# + (map #{emit 4431}# #{x 4648}#))) + (let ((#{tmp 4653}# ($sc-dispatch - #{tmp\ 4599}# + #{tmp 4652}# 'each-any))) - (if #{tmp\ 4600}# + (if #{tmp 4653}# (@apply - (lambda (#{\ g4596\ 4602}#) + (lambda (#{ g4649 4655}#) (cons '#(syntax-object append ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4596}#) - #((m4597 top)) - #("i4601")) + #(#{ g4649}#) + #((m4650 top)) + #("i4654")) #(ribcage #(x) #((top)) - #("i4594")) + #("i4647")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4556")) + #("i4609")) #(ribcage (emit quasivector quasilist* @@ -17454,53 +17310,54 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4596\ 4602}#)) - #{tmp\ 4600}#) + #{ g4649 4655}#)) + #{tmp 4653}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4599}#))))) - #{tmp\ 4593}#) - (let ((#{tmp\ 4605}# + #{tmp 4652}#))))) + #{tmp 4646}#) + (let ((#{tmp 4658}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "vector") . each-any)))) - (if #{tmp\ 4605}# + (if #{tmp 4658}# (@apply - (lambda (#{x\ 4607}#) - (let ((#{tmp\ 4611}# - (map #{emit\ 4378}# #{x\ 4607}#))) - (let ((#{tmp\ 4612}# + (lambda (#{x 4660}#) + (let ((#{tmp 4664}# + (map #{emit 4431}# #{x 4660}#))) + (let ((#{tmp 4665}# ($sc-dispatch - #{tmp\ 4611}# + #{tmp 4664}# 'each-any))) - (if #{tmp\ 4612}# + (if #{tmp 4665}# (@apply - (lambda (#{\ g4608\ 4614}#) + (lambda (#{ g4661 4667}#) (cons '#(syntax-object vector ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4608}#) - #((m4609 top)) - #("i4613")) + #(#{ g4661}#) + #((m4662 top)) + #("i4666")) #(ribcage #(x) #((top)) - #("i4606")) + #("i4659")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4556")) + #("i4609")) #(ribcage (emit quasivector quasilist* @@ -17515,48 +17372,49 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4608\ 4614}#)) - #{tmp\ 4612}#) + #{ g4661 4667}#)) + #{tmp 4665}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4611}#))))) - #{tmp\ 4605}#) - (let ((#{tmp\ 4617}# + #{tmp 4664}#))))) + #{tmp 4658}#) + (let ((#{tmp 4670}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "list->vector") any)))) - (if #{tmp\ 4617}# + (if #{tmp 4670}# (@apply - (lambda (#{x\ 4619}#) - (let ((#{tmp\ 4623}# - (#{emit\ 4378}# #{x\ 4619}#))) - (let ((#{\ g4620\ 4625}# - #{tmp\ 4623}#)) + (lambda (#{x 4672}#) + (let ((#{tmp 4676}# + (#{emit 4431}# #{x 4672}#))) + (let ((#{ g4673 4678}# + #{tmp 4676}#)) (list '#(syntax-object list->vector ((top) + #(ribcage () () ()) #(ribcage - #(#{\ g4620}#) - #((m4621 top)) - #("i4624")) + #(#{ g4673}#) + #((m4674 top)) + #("i4677")) #(ribcage #(x) #((top)) - #("i4618")) + #("i4671")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4556")) + #("i4609")) #(ribcage (emit quasivector quasilist* @@ -17571,211 +17429,213 @@ (top) (top) (top)) - ("i4377" - "i4375" - "i4373" - "i4371" - "i4369" - "i4367" - "i4365"))) + ("i4430" + "i4428" + "i4426" + "i4424" + "i4422" + "i4420" + "i4418"))) (hygiene guile)) - #{\ g4620\ 4625}#)))) - #{tmp\ 4617}#) - (let ((#{tmp\ 4626}# + #{ g4673 4678}#)))) + #{tmp 4670}#) + (let ((#{tmp 4679}# ($sc-dispatch - #{tmp\ 4557}# + #{tmp 4610}# '(#(atom "value") any)))) - (if #{tmp\ 4626}# + (if #{tmp 4679}# (@apply - (lambda (#{x\ 4628}#) #{x\ 4628}#) - #{tmp\ 4626}#) + (lambda (#{x 4681}#) #{x 4681}#) + #{tmp 4679}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4557}#))))))))))))))))))) + #{tmp 4610}#))))))))))))))))))) (begin - (lambda (#{x\ 4629}#) - (let ((#{tmp\ 4631}# #{x\ 4629}#)) - (let ((#{tmp\ 4632}# - ($sc-dispatch #{tmp\ 4631}# '(_ any)))) - (if #{tmp\ 4632}# + (lambda (#{x 4682}#) + (let ((#{tmp 4684}# #{x 4682}#)) + (let ((#{tmp 4685}# + ($sc-dispatch #{tmp 4684}# '(_ any)))) + (if #{tmp 4685}# (@apply - (lambda (#{e\ 4634}#) - (#{emit\ 4378}# (#{quasi\ 4366}# #{e\ 4634}# 0))) - #{tmp\ 4632}#) + (lambda (#{e 4687}#) + (#{emit 4431}# (#{quasi 4419}# #{e 4687}# 0))) + #{tmp 4685}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4631}#))))))))) + #{tmp 4684}#))))))))) (define include (make-syntax-transformer 'include 'macro - (lambda (#{x\ 4635}#) + (lambda (#{x 4688}#) (letrec* - ((#{read-file\ 4638}# - (lambda (#{fn\ 4639}# #{k\ 4640}#) + ((#{read-file 4691}# + (lambda (#{fn 4692}# #{k 4693}#) (begin - (let ((#{p\ 4644}# (open-input-file #{fn\ 4639}#))) + (let ((#{p 4697}# (open-input-file #{fn 4692}#))) (letrec* - ((#{f\ 4648}# - (lambda (#{x\ 4649}# #{result\ 4650}#) - (if (eof-object? #{x\ 4649}#) + ((#{f 4701}# + (lambda (#{x 4702}# #{result 4703}#) + (if (eof-object? #{x 4702}#) (begin - (close-input-port #{p\ 4644}#) - (reverse #{result\ 4650}#)) - (#{f\ 4648}# - (read #{p\ 4644}#) - (cons (datum->syntax #{k\ 4640}# #{x\ 4649}#) - #{result\ 4650}#)))))) - (begin (#{f\ 4648}# (read #{p\ 4644}#) '())))))))) + (close-input-port #{p 4697}#) + (reverse #{result 4703}#)) + (#{f 4701}# + (read #{p 4697}#) + (cons (datum->syntax #{k 4693}# #{x 4702}#) + #{result 4703}#)))))) + (begin (#{f 4701}# (read #{p 4697}#) '())))))))) (begin - (let ((#{tmp\ 4651}# #{x\ 4635}#)) - (let ((#{tmp\ 4652}# - ($sc-dispatch #{tmp\ 4651}# '(any any)))) - (if #{tmp\ 4652}# + (let ((#{tmp 4704}# #{x 4688}#)) + (let ((#{tmp 4705}# + ($sc-dispatch #{tmp 4704}# '(any any)))) + (if #{tmp 4705}# (@apply - (lambda (#{k\ 4655}# #{filename\ 4656}#) + (lambda (#{k 4708}# #{filename 4709}#) (begin - (let ((#{fn\ 4658}# (syntax->datum #{filename\ 4656}#))) - (let ((#{tmp\ 4660}# - (#{read-file\ 4638}# - #{fn\ 4658}# - #{filename\ 4656}#))) - (let ((#{tmp\ 4661}# - ($sc-dispatch #{tmp\ 4660}# 'each-any))) - (if #{tmp\ 4661}# + (let ((#{fn 4711}# (syntax->datum #{filename 4709}#))) + (let ((#{tmp 4713}# + (#{read-file 4691}# + #{fn 4711}# + #{filename 4709}#))) + (let ((#{tmp 4714}# + ($sc-dispatch #{tmp 4713}# 'each-any))) + (if #{tmp 4714}# (@apply - (lambda (#{exp\ 4663}#) + (lambda (#{exp 4716}#) (cons '#(syntax-object begin ((top) + #(ribcage () () ()) #(ribcage #(exp) #((top)) - #("i4662")) + #("i4715")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) - #("i4657")) + #("i4710")) #(ribcage #(k filename) #((top) (top)) - #("i4653" "i4654")) + #("i4706" "i4707")) #(ribcage (read-file) ((top)) - ("i4637")) + ("i4690")) #(ribcage #(x) #((top)) - #("i4636"))) + #("i4689"))) (hygiene guile)) - #{exp\ 4663}#)) - #{tmp\ 4661}#) + #{exp 4716}#)) + #{tmp 4714}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4660}#))))))) - #{tmp\ 4652}#) + #{tmp 4713}#))))))) + #{tmp 4705}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4651}#))))))))) + #{tmp 4704}#))))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro - (lambda (#{x\ 4665}#) - (let ((#{tmp\ 4667}# #{x\ 4665}#)) - (let ((#{tmp\ 4668}# - ($sc-dispatch #{tmp\ 4667}# '(any any)))) - (if #{tmp\ 4668}# + (lambda (#{x 4718}#) + (let ((#{tmp 4720}# #{x 4718}#)) + (let ((#{tmp 4721}# + ($sc-dispatch #{tmp 4720}# '(any any)))) + (if #{tmp 4721}# (@apply - (lambda (#{k\ 4671}# #{filename\ 4672}#) + (lambda (#{k 4724}# #{filename 4725}#) (begin - (let ((#{fn\ 4674}# (syntax->datum #{filename\ 4672}#))) - (let ((#{tmp\ 4676}# + (let ((#{fn 4727}# (syntax->datum #{filename 4725}#))) + (let ((#{tmp 4729}# (datum->syntax - #{filename\ 4672}# + #{filename 4725}# (begin - (let ((#{t\ 4681}# - (%search-load-path #{fn\ 4674}#))) - (if #{t\ 4681}# - #{t\ 4681}# + (let ((#{t 4734}# + (%search-load-path #{fn 4727}#))) + (if #{t 4734}# + #{t 4734}# (syntax-violation 'include-from-path "file not found in path" - #{x\ 4665}# - #{filename\ 4672}#))))))) - (let ((#{fn\ 4678}# #{tmp\ 4676}#)) + #{x 4718}# + #{filename 4725}#))))))) + (let ((#{fn 4731}# #{tmp 4729}#)) (list '#(syntax-object include ((top) - #(ribcage #(fn) #((top)) #("i4677")) #(ribcage () () ()) + #(ribcage #(fn) #((top)) #("i4730")) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i4673")) + #(ribcage () () ()) + #(ribcage #(fn) #((top)) #("i4726")) #(ribcage #(k filename) #((top) (top)) - #("i4669" "i4670")) + #("i4722" "i4723")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4666"))) + #(ribcage #(x) #((top)) #("i4719"))) (hygiene guile)) - #{fn\ 4678}#)))))) - #{tmp\ 4668}#) + #{fn 4731}#)))))) + #{tmp 4721}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4667}#))))))) + #{tmp 4720}#))))))) (define unquote (make-syntax-transformer 'unquote 'macro - (lambda (#{x\ 4683}#) + (lambda (#{x 4736}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" - #{x\ 4683}#)))) + #{x 4736}#)))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro - (lambda (#{x\ 4685}#) + (lambda (#{x 4738}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" - #{x\ 4685}#)))) + #{x 4738}#)))) (define case (make-syntax-transformer 'case 'macro - (lambda (#{x\ 4687}#) - (let ((#{tmp\ 4689}# #{x\ 4687}#)) - (let ((#{tmp\ 4690}# + (lambda (#{x 4740}#) + (let ((#{tmp 4742}# #{x 4740}#)) + (let ((#{tmp 4743}# ($sc-dispatch - #{tmp\ 4689}# + #{tmp 4742}# '(_ any any . each-any)))) - (if #{tmp\ 4690}# + (if #{tmp 4743}# (@apply - (lambda (#{e\ 4694}# #{m1\ 4695}# #{m2\ 4696}#) - (let ((#{tmp\ 4698}# + (lambda (#{e 4747}# #{m1 4748}# #{m2 4749}#) + (let ((#{tmp 4751}# (letrec* - ((#{f\ 4704}# - (lambda (#{clause\ 4705}# #{clauses\ 4706}#) - (if (null? #{clauses\ 4706}#) - (let ((#{tmp\ 4708}# #{clause\ 4705}#)) - (let ((#{tmp\ 4709}# + ((#{f 4757}# + (lambda (#{clause 4758}# #{clauses 4759}#) + (if (null? #{clauses 4759}#) + (let ((#{tmp 4761}# #{clause 4758}#)) + (let ((#{tmp 4762}# ($sc-dispatch - #{tmp\ 4708}# + #{tmp 4761}# '(#(free-id #(syntax-object else @@ -17784,92 +17644,92 @@ #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile))) any . each-any)))) - (if #{tmp\ 4709}# + (if #{tmp 4762}# (@apply - (lambda (#{e1\ 4712}# #{e2\ 4713}#) + (lambda (#{e1 4765}# #{e2 4766}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4710" "i4711")) + #("i4763" "i4764")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) - (cons #{e1\ 4712}# - #{e2\ 4713}#))) - #{tmp\ 4709}#) - (let ((#{tmp\ 4715}# + (cons #{e1 4765}# + #{e2 4766}#))) + #{tmp 4762}#) + (let ((#{tmp 4768}# ($sc-dispatch - #{tmp\ 4708}# + #{tmp 4761}# '(each-any any . each-any)))) - (if #{tmp\ 4715}# + (if #{tmp 4768}# (@apply - (lambda (#{k\ 4719}# - #{e1\ 4720}# - #{e2\ 4721}#) + (lambda (#{k 4772}# + #{e1 4773}# + #{e2 4774}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i4716" - "i4717" - "i4718")) + #("i4769" + "i4770" + "i4771")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) (list '#(syntax-object memv @@ -17879,9 +17739,9 @@ #((top) (top) (top)) - #("i4716" - "i4717" - "i4718")) + #("i4769" + "i4770" + "i4771")) #(ribcage () () @@ -17893,17 +17753,17 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -17911,7 +17771,7 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) '#(syntax-object t @@ -17921,9 +17781,9 @@ #((top) (top) (top)) - #("i4716" - "i4717" - "i4718")) + #("i4769" + "i4770" + "i4771")) #(ribcage () () @@ -17935,17 +17795,17 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -17953,7 +17813,7 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) (list '#(syntax-object quote @@ -17965,9 +17825,9 @@ #((top) (top) (top)) - #("i4716" - "i4717" - "i4718")) + #("i4769" + "i4770" + "i4771")) #(ribcage () () @@ -17979,9 +17839,9 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 @@ -17989,9 +17849,9 @@ #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -17999,10 +17859,10 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) - #{k\ 4719}#)) + #{k 4772}#)) (cons '#(syntax-object begin ((top) @@ -18011,9 +17871,9 @@ #((top) (top) (top)) - #("i4716" - "i4717" - "i4718")) + #("i4769" + "i4770" + "i4771")) #(ribcage () () @@ -18025,17 +17885,17 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -18043,63 +17903,64 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) - (cons #{e1\ 4720}# - #{e2\ 4721}#)))) - #{tmp\ 4715}#) - (let ((#{_\ 4725}# #{tmp\ 4708}#)) + (cons #{e1 4773}# + #{e2 4774}#)))) + #{tmp 4768}#) + (let ((#{_ 4778}# #{tmp 4761}#)) (syntax-violation 'case "bad clause" - #{x\ 4687}# - #{clause\ 4705}#))))))) - (let ((#{tmp\ 4727}# - (#{f\ 4704}# - (car #{clauses\ 4706}#) - (cdr #{clauses\ 4706}#)))) - (let ((#{rest\ 4729}# #{tmp\ 4727}#)) - (let ((#{tmp\ 4730}# #{clause\ 4705}#)) - (let ((#{tmp\ 4731}# + #{x 4740}# + #{clause 4758}#))))))) + (let ((#{tmp 4780}# + (#{f 4757}# + (car #{clauses 4759}#) + (cdr #{clauses 4759}#)))) + (let ((#{rest 4782}# #{tmp 4780}#)) + (let ((#{tmp 4783}# #{clause 4758}#)) + (let ((#{tmp 4784}# ($sc-dispatch - #{tmp\ 4730}# + #{tmp 4783}# '(each-any any . each-any)))) - (if #{tmp\ 4731}# + (if #{tmp 4784}# (@apply - (lambda (#{k\ 4735}# - #{e1\ 4736}# - #{e2\ 4737}#) + (lambda (#{k 4788}# + #{e1 4789}# + #{e2 4790}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i4732" - "i4733" - "i4734")) + #("i4785" + "i4786" + "i4787")) + #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i4728")) + #("i4781")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) (list '#(syntax-object memv @@ -18109,13 +17970,17 @@ #((top) (top) (top)) - #("i4732" - "i4733" - "i4734")) + #("i4785" + "i4786" + "i4787")) + #(ribcage + () + () + ()) #(ribcage #(rest) #((top)) - #("i4728")) + #("i4781")) #(ribcage () () @@ -18127,17 +17992,17 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -18145,7 +18010,7 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) '#(syntax-object t @@ -18155,13 +18020,17 @@ #((top) (top) (top)) - #("i4732" - "i4733" - "i4734")) + #("i4785" + "i4786" + "i4787")) + #(ribcage + () + () + ()) #(ribcage #(rest) #((top)) - #("i4728")) + #("i4781")) #(ribcage () () @@ -18173,17 +18042,17 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -18191,7 +18060,7 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) (list '#(syntax-object quote @@ -18203,13 +18072,17 @@ #((top) (top) (top)) - #("i4732" - "i4733" - "i4734")) + #("i4785" + "i4786" + "i4787")) + #(ribcage + () + () + ()) #(ribcage #(rest) #((top)) - #("i4728")) + #("i4781")) #(ribcage () () @@ -18221,9 +18094,9 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 @@ -18231,9 +18104,9 @@ #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -18241,10 +18114,10 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) - #{k\ 4735}#)) + #{k 4788}#)) (cons '#(syntax-object begin ((top) @@ -18253,13 +18126,17 @@ #((top) (top) (top)) - #("i4732" - "i4733" - "i4734")) + #("i4785" + "i4786" + "i4787")) + #(ribcage + () + () + ()) #(ribcage #(rest) #((top)) - #("i4728")) + #("i4781")) #(ribcage () () @@ -18271,17 +18148,17 @@ #((top) (top) (top)) - #("i4701" - "i4702" - "i4703")) + #("i4754" + "i4755" + "i4756")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" - "i4692" - "i4693")) + #("i4744" + "i4745" + "i4746")) #(ribcage () () @@ -18289,208 +18166,209 @@ #(ribcage #(x) #((top)) - #("i4688"))) + #("i4741"))) (hygiene guile)) - (cons #{e1\ 4736}# - #{e2\ 4737}#)) - #{rest\ 4729}#)) - #{tmp\ 4731}#) - (let ((#{_\ 4741}# #{tmp\ 4730}#)) + (cons #{e1 4789}# + #{e2 4790}#)) + #{rest 4782}#)) + #{tmp 4784}#) + (let ((#{_ 4794}# #{tmp 4783}#)) (syntax-violation 'case "bad clause" - #{x\ 4687}# - #{clause\ 4705}#))))))))))) - (begin (#{f\ 4704}# #{m1\ 4695}# #{m2\ 4696}#))))) - (let ((#{body\ 4700}# #{tmp\ 4698}#)) + #{x 4740}# + #{clause 4758}#))))))))))) + (begin (#{f 4757}# #{m1 4748}# #{m2 4749}#))))) + (let ((#{body 4753}# #{tmp 4751}#)) (list '#(syntax-object let ((top) - #(ribcage #(body) #((top)) #("i4699")) + #(ribcage () () ()) + #(ribcage #(body) #((top)) #("i4752")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" "i4692" "i4693")) + #("i4744" "i4745" "i4746")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4688"))) + #(ribcage #(x) #((top)) #("i4741"))) (hygiene guile)) (list (list '#(syntax-object t ((top) + #(ribcage () () ()) #(ribcage #(body) #((top)) - #("i4699")) + #("i4752")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4691" "i4692" "i4693")) + #("i4744" "i4745" "i4746")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4688"))) + #(ribcage #(x) #((top)) #("i4741"))) (hygiene guile)) - #{e\ 4694}#)) - #{body\ 4700}#)))) - #{tmp\ 4690}#) + #{e 4747}#)) + #{body 4753}#)))) + #{tmp 4743}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4689}#))))))) + #{tmp 4742}#))))))) (define make-variable-transformer - (lambda (#{proc\ 4742}#) - (if (procedure? #{proc\ 4742}#) + (lambda (#{proc 4795}#) + (if (procedure? #{proc 4795}#) (begin (letrec* - ((#{trans\ 4745}# - (lambda (#{x\ 4746}#) - (#{proc\ 4742}# #{x\ 4746}#)))) + ((#{trans 4798}# + (lambda (#{x 4799}#) (#{proc 4795}# #{x 4799}#)))) (begin (set-procedure-property! - #{trans\ 4745}# + #{trans 4798}# 'variable-transformer #t) - #{trans\ 4745}#))) + #{trans 4798}#))) (error "variable transformer not a procedure" - #{proc\ 4742}#)))) + #{proc 4795}#)))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro - (lambda (#{x\ 4748}#) - (let ((#{tmp\ 4750}# #{x\ 4748}#)) - (let ((#{tmp\ 4751}# - ($sc-dispatch #{tmp\ 4750}# '(_ any)))) - (if #{tmp\ 4751}# + (lambda (#{x 4801}#) + (let ((#{tmp 4803}# #{x 4801}#)) + (let ((#{tmp 4804}# + ($sc-dispatch #{tmp 4803}# '(_ any)))) + (if #{tmp 4804}# (@apply - (lambda (#{e\ 4753}#) + (lambda (#{e 4806}#) (list '#(syntax-object lambda ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '(#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) . #(syntax-object identifier-syntax ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '() (list '#(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '(#(syntax-object identifier? ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) (#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) #(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - #{e\ 4753}#)) + #{e 4806}#)) (list '(#(syntax-object _ ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) #(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) #(syntax-object ... ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile))) (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4752")) + #(ribcage #(e) #((top)) #("i4805")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - (cons #{e\ 4753}# + (cons #{e 4806}# '(#(syntax-object x ((top) #(ribcage #(e) #((top)) - #("i4752")) + #("i4805")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) #(syntax-object ... @@ -18498,55 +18376,55 @@ #(ribcage #(e) #((top)) - #("i4752")) + #("i4805")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile))))))))) - #{tmp\ 4751}#) - (let ((#{tmp\ 4754}# + #{tmp 4804}#) + (let ((#{tmp 4807}# ($sc-dispatch - #{tmp\ 4750}# + #{tmp 4803}# '(_ (any any) ((#(free-id #(syntax-object set! ((top) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile))) any any) any))))) - (if (if #{tmp\ 4754}# + (if (if #{tmp 4807}# (@apply - (lambda (#{id\ 4760}# - #{exp1\ 4761}# - #{var\ 4762}# - #{val\ 4763}# - #{exp2\ 4764}#) - (if (identifier? #{id\ 4760}#) - (identifier? #{var\ 4762}#) + (lambda (#{id 4813}# + #{exp1 4814}# + #{var 4815}# + #{val 4816}# + #{exp2 4817}#) + (if (identifier? #{id 4813}#) + (identifier? #{var 4815}#) #f)) - #{tmp\ 4754}#) + #{tmp 4807}#) #f) (@apply - (lambda (#{id\ 4772}# - #{exp1\ 4773}# - #{var\ 4774}# - #{val\ 4775}# - #{exp2\ 4776}#) + (lambda (#{id 4825}# + #{exp1 4826}# + #{var 4827}# + #{val 4828}# + #{exp2 4829}#) (list '#(syntax-object make-variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" "i4768" "i4769" "i4770" "i4771")) + #("i4820" "i4821" "i4822" "i4823" "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) (list '#(syntax-object lambda @@ -18554,13 +18432,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '(#(syntax-object x @@ -18568,13 +18446,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile))) '#((#(syntax-object macro-type @@ -18582,13 +18460,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) . #(syntax-object @@ -18597,13 +18475,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)))) (list '#(syntax-object syntax-case @@ -18611,13 +18489,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '#(syntax-object x @@ -18625,13 +18503,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) '(#(syntax-object set! @@ -18639,13 +18517,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4749"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile))) (list (list '#(syntax-object set! @@ -18657,19 +18535,19 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - #{var\ 4774}# - #{val\ 4775}#) + #{var 4827}# + #{val 4828}#) (list '#(syntax-object syntax ((top) @@ -18680,19 +18558,19 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - #{exp2\ 4776}#)) - (list (cons #{id\ 4772}# + #{exp2 4829}#)) + (list (cons #{id 4825}# '(#(syntax-object x ((top) @@ -18707,16 +18585,16 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) #(syntax-object ... @@ -18732,16 +18610,16 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)))) (list '#(syntax-object syntax @@ -18753,18 +18631,18 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - (cons #{exp1\ 4773}# + (cons #{exp1 4826}# '(#(syntax-object x ((top) @@ -18779,11 +18657,11 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () @@ -18791,7 +18669,7 @@ #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) #(syntax-object ... @@ -18807,11 +18685,11 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () @@ -18819,10 +18697,10 @@ #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)))))) - (list #{id\ 4772}# + (list #{id 4825}# (list '#(syntax-object identifier? ((top) @@ -18833,16 +18711,16 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) (list '#(syntax-object syntax @@ -18858,18 +18736,18 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - #{id\ 4772}#)) + #{id 4825}#)) (list '#(syntax-object syntax ((top) @@ -18880,69 +18758,69 @@ (top) (top) (top)) - #("i4767" - "i4768" - "i4769" - "i4770" - "i4771")) + #("i4820" + "i4821" + "i4822" + "i4823" + "i4824")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4749"))) + #("i4802"))) (hygiene guile)) - #{exp1\ 4773}#)))))) - #{tmp\ 4754}#) + #{exp1 4826}#)))))) + #{tmp 4807}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4750}#))))))))) + #{tmp 4803}#))))))))) (define define* (make-syntax-transformer 'define* 'macro - (lambda (#{x\ 4777}#) - (let ((#{tmp\ 4779}# #{x\ 4777}#)) - (let ((#{tmp\ 4780}# + (lambda (#{x 4830}#) + (let ((#{tmp 4832}# #{x 4830}#)) + (let ((#{tmp 4833}# ($sc-dispatch - #{tmp\ 4779}# + #{tmp 4832}# '(_ (any . any) any . each-any)))) - (if #{tmp\ 4780}# + (if #{tmp 4833}# (@apply - (lambda (#{id\ 4785}# - #{args\ 4786}# - #{b0\ 4787}# - #{b1\ 4788}#) + (lambda (#{id 4838}# + #{args 4839}# + #{b0 4840}# + #{b1 4841}#) (list '#(syntax-object define ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i4781" "i4782" "i4783" "i4784")) + #("i4834" "i4835" "i4836" "i4837")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4778"))) + #(ribcage #(x) #((top)) #("i4831"))) (hygiene guile)) - #{id\ 4785}# + #{id 4838}# (cons '#(syntax-object lambda* ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i4781" "i4782" "i4783" "i4784")) + #("i4834" "i4835" "i4836" "i4837")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4778"))) + #(ribcage #(x) #((top)) #("i4831"))) (hygiene guile)) - (cons #{args\ 4786}# - (cons #{b0\ 4787}# #{b1\ 4788}#))))) - #{tmp\ 4780}#) - (let ((#{tmp\ 4790}# - ($sc-dispatch #{tmp\ 4779}# '(_ any any)))) - (if (if #{tmp\ 4790}# + (cons #{args 4839}# + (cons #{b0 4840}# #{b1 4841}#))))) + #{tmp 4833}#) + (let ((#{tmp 4843}# + ($sc-dispatch #{tmp 4832}# '(_ any any)))) + (if (if #{tmp 4843}# (@apply - (lambda (#{id\ 4793}# #{val\ 4794}#) + (lambda (#{id 4846}# #{val 4847}#) (identifier? '#(syntax-object x @@ -18950,29 +18828,29 @@ #(ribcage #(id val) #((top) (top)) - #("i4791" "i4792")) + #("i4844" "i4845")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4778"))) + #(ribcage #(x) #((top)) #("i4831"))) (hygiene guile)))) - #{tmp\ 4790}#) + #{tmp 4843}#) #f) (@apply - (lambda (#{id\ 4797}# #{val\ 4798}#) + (lambda (#{id 4850}# #{val 4851}#) (list '#(syntax-object define ((top) #(ribcage #(id val) #((top) (top)) - #("i4795" "i4796")) + #("i4848" "i4849")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4778"))) + #(ribcage #(x) #((top)) #("i4831"))) (hygiene guile)) - #{id\ 4797}# - #{val\ 4798}#)) - #{tmp\ 4790}#) + #{id 4850}# + #{val 4851}#)) + #{tmp 4843}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 4779}#))))))))) + #{tmp 4832}#))))))))) diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index fa63fd657..17acf3ff9 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -278,10 +278,10 @@ ;; hooks to nonportable run-time helpers (begin - (define fx+ +) - (define fx- -) - (define fx= =) - (define fx< <) + (define-syntax fx+ (identifier-syntax +)) + (define-syntax fx- (identifier-syntax -)) + (define-syntax fx= (identifier-syntax =)) + (define-syntax fx< (identifier-syntax <)) (define top-level-eval-hook (lambda (x mod) @@ -521,7 +521,7 @@ ;; (define-syntax) define-syntax ;; (local-syntax . rec?) let-syntax/letrec-syntax ;; (eval-when) eval-when - ;; #'. (<var> . <level>) pattern variables + ;; (syntax . (<var> . <level>)) pattern variables ;; (global) assumed global variable ;; (lexical . <var>) lexical variables ;; (displaced-lexical) displaced lexicals @@ -897,16 +897,160 @@ (let ((first (chi (car body) r w mod))) (cons first (dobody (cdr body) r w mod)))))))) + ;; At top-level, we allow mixed definitions and expressions. Like + ;; chi-body we expand in two passes. + ;; + ;; First, from left to right, we expand just enough to know what + ;; expressions are definitions, syntax definitions, and splicing + ;; statements (`begin'). If we anything needs evaluating at + ;; expansion-time, it is expanded directly. + ;; + ;; Otherwise we collect expressions to expand, in thunks, and then + ;; expand them all at the end. This allows all syntax expanders + ;; visible in a toplevel sequence to be visible during the + ;; expansions of all normal definitions and expressions in the + ;; sequence. + ;; (define chi-top-sequence (lambda (body r w s m esew mod) - (build-sequence s - (let dobody ((body body) (r r) (w w) (m m) (esew esew) - (mod mod) (out '())) - (if (null? body) - (reverse out) - (dobody (cdr body) r w m esew mod - (cons (chi-top (car body) r w m esew mod) out))))))) - + (define (scan body r w s m esew mod exps) + (cond + ((null? body) + ;; in reversed order + exps) + (else + (call-with-values + (lambda () + (call-with-values + (lambda () + (let ((e (car body))) + (syntax-type e r w (or (source-annotation e) s) #f mod #f))) + (lambda (type value e w s mod) + (case type + ((begin-form) + (syntax-case e () + ((_) exps) + ((_ e1 e2 ...) + (scan #'(e1 e2 ...) r w s m esew mod exps)))) + ((local-syntax-form) + (chi-local-syntax value e r w s mod + (lambda (body r w s mod) + (scan body r w s m esew mod exps)))) + ((eval-when-form) + (syntax-case e () + ((_ (x ...) e1 e2 ...) + (let ((when-list (chi-when-list e #'(x ...) w)) + (body #'(e1 e2 ...))) + (cond + ((eq? m 'e) + (if (memq 'eval when-list) + (scan body r w s + (if (memq 'expand when-list) 'c&e 'e) + '(eval) + mod exps) + (begin + (if (memq 'expand when-list) + (top-level-eval-hook + (chi-top-sequence body r w s 'e '(eval) mod) + mod)) + (values exps)))) + ((memq 'load when-list) + (if (or (memq 'compile when-list) + (memq 'expand when-list) + (and (eq? m 'c&e) (memq 'eval when-list))) + (scan body r w s 'c&e '(compile load) mod exps) + (if (memq m '(c c&e)) + (scan body r w s 'c '(load) mod exps) + (values exps)))) + ((or (memq 'compile when-list) + (memq 'expand when-list) + (and (eq? m 'c&e) (memq 'eval when-list))) + (top-level-eval-hook + (chi-top-sequence body r w s 'e '(eval) mod) + mod) + (values exps)) + (else + (values exps))))))) + ((define-syntax-form) + (let ((n (id-var-name value w)) (r (macros-only-env r))) + (case m + ((c) + (if (memq 'compile esew) + (let ((e (chi-install-global n (chi e r w mod)))) + (top-level-eval-hook e mod) + (if (memq 'load esew) + (values (cons e exps)) + (values exps))) + (if (memq 'load esew) + (values (cons (chi-install-global n (chi e r w mod)) + exps)) + (values exps)))) + ((c&e) + (let ((e (chi-install-global n (chi e r w mod)))) + (top-level-eval-hook e mod) + (values (cons e exps)))) + (else + (if (memq 'eval esew) + (top-level-eval-hook + (chi-install-global n (chi e r w mod)) + mod)) + (values exps))))) + ((define-form) + (let* ((n (id-var-name value w)) + ;; Lookup the name in the module of the define form. + (type (binding-type (lookup n r mod)))) + (case type + ((global core macro module-ref) + ;; affect compile-time environment (once we have booted) + (if (and (memq m '(c c&e)) + (not (module-local-variable (current-module) n)) + (current-module)) + (let ((old (module-variable (current-module) n))) + ;; use value of the same-named imported variable, if + ;; any + (if (and (variable? old) (variable-bound? old)) + (module-define! (current-module) n (variable-ref old)) + (module-add! (current-module) n (make-undefined-variable))))) + (values + (cons + (if (eq? m 'c&e) + (let ((x (build-global-definition s n (chi e r w mod)))) + (top-level-eval-hook x mod) + x) + (lambda () + (build-global-definition s n (chi e r w mod)))) + exps))) + ((displaced-lexical) + (syntax-violation #f "identifier out of context" + e (wrap value w mod))) + (else + (syntax-violation #f "cannot define keyword at top level" + e (wrap value w mod)))))) + (else + (values (cons + (if (eq? m 'c&e) + (let ((x (chi-expr type value e r w s mod))) + (top-level-eval-hook x mod) + x) + (lambda () + (chi-expr type value e r w s mod))) + exps))))))) + (lambda (exps) + (scan (cdr body) r w s m esew mod exps)))))) + + (call-with-values (lambda () + (scan body r w s m esew mod '())) + (lambda (exps) + (if (null? exps) + (build-void s) + (build-sequence + s + (let lp ((in exps) (out '())) + (if (null? in) out + (let ((e (car in))) + (lp (cdr in) + (cons (if (procedure? e) (e) e) out))))))))))) + (define chi-install-global (lambda (name e) (build-global-definition @@ -1054,109 +1198,6 @@ ((self-evaluating? e) (values 'constant #f e w s mod)) (else (values 'other #f e w s mod))))) - (define chi-top - (lambda (e r w m esew mod) - (define-syntax eval-if-c&e - (syntax-rules () - ((_ m e mod) - (let ((x e)) - (if (eq? m 'c&e) (top-level-eval-hook x mod)) - x)))) - (call-with-values - (lambda () (syntax-type e r w (source-annotation e) #f mod #f)) - (lambda (type value e w s mod) - (case type - ((begin-form) - (syntax-case e () - ((_) (chi-void)) - ((_ e1 e2 ...) - (chi-top-sequence #'(e1 e2 ...) r w s m esew mod)))) - ((local-syntax-form) - (chi-local-syntax value e r w s mod - (lambda (body r w s mod) - (chi-top-sequence body r w s m esew mod)))) - ((eval-when-form) - (syntax-case e () - ((_ (x ...) e1 e2 ...) - (let ((when-list (chi-when-list e #'(x ...) w)) - (body #'(e1 e2 ...))) - (cond - ((eq? m 'e) - (if (memq 'eval when-list) - (chi-top-sequence body r w s - (if (memq 'expand when-list) 'c&e 'e) - '(eval) - mod) - (begin - (if (memq 'expand when-list) - (top-level-eval-hook - (chi-top-sequence body r w s 'e '(eval) mod) - mod)) - (chi-void)))) - ((memq 'load when-list) - (if (or (memq 'compile when-list) - (memq 'expand when-list) - (and (eq? m 'c&e) (memq 'eval when-list))) - (chi-top-sequence body r w s 'c&e '(compile load) mod) - (if (memq m '(c c&e)) - (chi-top-sequence body r w s 'c '(load) mod) - (chi-void)))) - ((or (memq 'compile when-list) - (memq 'expand when-list) - (and (eq? m 'c&e) (memq 'eval when-list))) - (top-level-eval-hook - (chi-top-sequence body r w s 'e '(eval) mod) - mod) - (chi-void)) - (else (chi-void))))))) - ((define-syntax-form) - (let ((n (id-var-name value w)) (r (macros-only-env r))) - (case m - ((c) - (if (memq 'compile esew) - (let ((e (chi-install-global n (chi e r w mod)))) - (top-level-eval-hook e mod) - (if (memq 'load esew) e (chi-void))) - (if (memq 'load esew) - (chi-install-global n (chi e r w mod)) - (chi-void)))) - ((c&e) - (let ((e (chi-install-global n (chi e r w mod)))) - (top-level-eval-hook e mod) - e)) - (else - (if (memq 'eval esew) - (top-level-eval-hook - (chi-install-global n (chi e r w mod)) - mod)) - (chi-void))))) - ((define-form) - (let* ((n (id-var-name value w)) - ;; Lookup the name in the module of the define form. - (type (binding-type (lookup n r mod)))) - (case type - ((global core macro module-ref) - ;; affect compile-time environment (once we have booted) - (if (and (memq m '(c c&e)) - (not (module-local-variable (current-module) n)) - (current-module)) - (let ((old (module-variable (current-module) n))) - ;; use value of the same-named imported variable, if - ;; any - (if (and (variable? old) (variable-bound? old)) - (module-define! (current-module) n (variable-ref old)) - (module-add! (current-module) n (make-undefined-variable))))) - (eval-if-c&e m - (build-global-definition s n (chi e r w mod)) - mod)) - ((displaced-lexical) - (syntax-violation #f "identifier out of context" - e (wrap value w mod))) - (else - (syntax-violation #f "cannot define keyword at top level" - e (wrap value w mod)))))) - (else (eval-if-c&e m (chi-expr type value e r w s mod) mod))))))) - (define chi (lambda (e r w mod) (call-with-values @@ -2375,8 +2416,8 @@ ;; the object file if we are compiling a file. (set! macroexpand (lambda* (x #:optional (m 'e) (esew '(eval))) - (chi-top x null-env top-wrap m esew - (cons 'hygiene (module-name (current-module)))))) + (chi-top-sequence (list x) null-env top-wrap #f m esew + (cons 'hygiene (module-name (current-module)))))) (set! identifier? (lambda (x) @@ -2591,12 +2632,13 @@ (lambda (x) (syntax-case x () ((_ () e1 e2 ...) - #'(begin e1 e2 ...)) + #'(let () e1 e2 ...)) ((_ ((out in)) e1 e2 ...) - #'(syntax-case in () (out (begin e1 e2 ...)))) + #'(syntax-case in () + (out (let () e1 e2 ...)))) ((_ ((out in) ...) e1 e2 ...) #'(syntax-case (list in ...) () - ((out ...) (begin e1 e2 ...))))))) + ((out ...) (let () e1 e2 ...))))))) (define-syntax syntax-rules (lambda (x) diff --git a/module/ice-9/vlist.scm b/module/ice-9/vlist.scm index 5ea09362c..34c7c00c1 100644 --- a/module/ice-9/vlist.scm +++ b/module/ice-9/vlist.scm @@ -1,6 +1,6 @@ ;;; -*- mode: scheme; coding: utf-8; -*- ;;; -;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;;; ;;; This library is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Lesser General Public @@ -32,7 +32,8 @@ vhash? vhash-cons vhash-consq vhash-consv vhash-assoc vhash-assq vhash-assv - vhash-delete vhash-fold + vhash-delete vhash-delq vhash-delv + vhash-fold vhash-fold* vhash-foldq* vhash-foldv* alist->vhash)) @@ -529,14 +530,16 @@ value of @var{result} for the first call to @var{proc}." (define* (vhash-delete key vhash #:optional (equal? equal?) (hash hash)) "Remove all associations from @var{vhash} with @var{key}, comparing keys with @var{equal?}." - (vlist-fold (lambda (k+v result) - (let ((k (car k+v)) - (v (cdr k+v))) - (if (equal? k key) - result - (vhash-cons k v result)))) - vlist-null - vhash)) + (if (vhash-assoc key vhash equal? hash) + (vlist-fold (lambda (k+v result) + (let ((k (car k+v)) + (v (cdr k+v))) + (if (equal? k key) + result + (vhash-cons k v result hash)))) + vlist-null + vhash) + vhash)) (define vhash-delq (cut vhash-delete <> <> eq? hashq)) (define vhash-delv (cut vhash-delete <> <> eqv? hashv)) diff --git a/module/language/assembly/compile-bytecode.scm b/module/language/assembly/compile-bytecode.scm index 02695d7ba..ae6476891 100644 --- a/module/language/assembly/compile-bytecode.scm +++ b/module/language/assembly/compile-bytecode.scm @@ -24,11 +24,15 @@ #:use-module (system vm instruction) #:use-module (srfi srfi-4) #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports) + #:use-module (ice-9 binary-ports) #:use-module ((srfi srfi-1) #:select (fold)) #:use-module ((srfi srfi-26) #:select (cut)) #:export (compile-bytecode)) +;; Gross. +(define (port-position port) + (seek port 0 SEEK_CUR)) + (define (compile-bytecode assembly env . opts) (pmatch assembly ((load-program . _) diff --git a/module/language/elisp/lexer.scm b/module/language/elisp/lexer.scm index ed6c5f8e2..af7e02add 100644 --- a/module/language/elisp/lexer.scm +++ b/module/language/elisp/lexer.scm @@ -394,7 +394,7 @@ (paren-level 0)) (lambda () (if finished - (cons 'eof ((@ (rnrs io ports) eof-object))) + (cons 'eof ((@ (ice-9 binary-ports) eof-object))) (let ((next (lex)) (quotation #f)) (case (car next) diff --git a/module/language/objcode/spec.scm b/module/language/objcode/spec.scm index bbd745412..7cc85b7f6 100644 --- a/module/language/objcode/spec.scm +++ b/module/language/objcode/spec.scm @@ -1,6 +1,6 @@ ;;; Guile Lowlevel Intermediate Language -;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -71,7 +71,7 @@ ((objcode? x) (values x #f)) (else - (error "can't decompile ~A: not a program or objcode" x)))) + (error "Object for disassembly not a program or objcode" x)))) (define-language objcode #:title "Guile Object Code" diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm index 5fd4c125a..221cf264d 100644 --- a/module/language/tree-il.scm +++ b/module/language/tree-il.scm @@ -1,4 +1,4 @@ -;;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -471,8 +471,9 @@ `(fluid-set! ,(tree-il->scheme fluid) ,(tree-il->scheme exp))) ((<prompt> tag body handler) - `((@ (ice-9 control) prompt) - ,(tree-il->scheme tag) (lambda () ,(tree-il->scheme body)) + `(call-with-prompt + ,(tree-il->scheme tag) + (lambda () ,(tree-il->scheme body)) ,(tree-il->scheme handler))) diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm index 745ce3907..60a5bcddd 100644 --- a/module/language/tree-il/analyze.scm +++ b/module/language/tree-il/analyze.scm @@ -1,6 +1,6 @@ ;;; TREE-IL -> GLIL compiler -;; Copyright (C) 2001,2008,2009,2010 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -926,7 +926,7 @@ accurate information is missing from a given `tree-il' element." (make-toplevel-info (vhash-consq name src refs) defs)))) ((<toplevel-define> name) - (make-toplevel-info (vhash-delete name refs eq?) + (make-toplevel-info (vhash-delq name refs) (vhash-consq name #t defs))) ((<application> proc args) @@ -935,8 +935,7 @@ accurate information is missing from a given `tree-il' element." (let ((name (goops-toplevel-definition proc args env))) (if (symbol? name) - (make-toplevel-info (vhash-delete name refs - eq?) + (make-toplevel-info (vhash-delq name refs) (vhash-consq name #t defs)) (make-toplevel-info refs defs)))) (else diff --git a/module/language/tree-il/compile-glil.scm b/module/language/tree-il/compile-glil.scm index 23648cdde..f193e9dcd 100644 --- a/module/language/tree-il/compile-glil.scm +++ b/module/language/tree-il/compile-glil.scm @@ -1,6 +1,6 @@ ;;; TREE-IL -> GLIL compiler -;; Copyright (C) 2001,2008,2009,2010 Free Software Foundation, Inc. +;; Copyright (C) 2001,2008,2009,2010,2011 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -1095,7 +1095,7 @@ ;; post (comp-push body) (emit-code #f (make-glil-call 'unwind 0)) - (emit-branch #f 'br POST)) + (emit-branch #f 'br (or RA POST))) ((vals) (let ((MV (make-label))) @@ -1138,8 +1138,8 @@ (comp-tail body) (emit-code #f (make-glil-unbind)))) - (if (or (eq? context 'push) - (and (eq? context 'drop) (not RA))) + (if (and (not RA) + (or (eq? context 'push) (eq? context 'drop))) (emit-label POST)))) ((<abort> src tag args tail) diff --git a/module/language/tree-il/fix-letrec.scm b/module/language/tree-il/fix-letrec.scm index 8d4b2391b..3d7db27a8 100644 --- a/module/language/tree-il/fix-letrec.scm +++ b/module/language/tree-il/fix-letrec.scm @@ -1,6 +1,6 @@ ;;; transformation of letrec into simpler forms -;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -96,9 +96,10 @@ (s '()) (l '()) (c '())) (cond ((null? gensyms) - ;; Unreferenced vars are still complex for letrec*. - ;; We need to update our algorithm to "Fixing letrec - ;; reloaded" to fix this. + ;; Unreferenced complex vars are still + ;; complex for letrec*. We need to update + ;; our algorithm to "Fixing letrec reloaded" + ;; to fix this. (values (if in-order? (lset-difference eq? unref c) unref) @@ -109,7 +110,11 @@ (append c complex))) ((memq (car gensyms) unref) ;; See above note about unref and letrec*. - (if in-order? + (if (and in-order? + (not (lambda? (car vals))) + (not (simple-expression? + (car vals) orig-gensyms + effect+exception-free-primitive?))) (lp (cdr gensyms) (cdr vals) s l (cons (car gensyms) c)) (lp (cdr gensyms) (cdr vals) @@ -229,7 +234,8 @@ ;; body. (append (map (lambda (c) - (make-lexical-set #f (cadr c) (car c) (caddr c))) + (make-lexical-set #f (cadr c) (car c) + (caddr c))) c) (list body))) (else @@ -271,3 +277,7 @@ (else x))) x))) + +;;; Local Variables: +;;; eval: (put 'record-case 'scheme-indent-function 1) +;;; End: diff --git a/module/rnrs.scm b/module/rnrs.scm index 476a3ab2d..9fff820b3 100644 --- a/module/rnrs.scm +++ b/module/rnrs.scm @@ -162,12 +162,14 @@ file-options buffer-mode buffer-mode? eol-style native-eol-style error-handling-mode - make-transcoder transcoder-codec native-transcoder + make-transcoder transcoder-codec transcoder-eol-style + transcoder-error-handling-mode native-transcoder latin-1-codec utf-8-codec utf-16-codec eof-object? port? input-port? output-port? eof-object port-eof? port-transcoder - binary-port? transcoded-port port-position set-port-position! + binary-port? textual-port? transcoded-port + port-position set-port-position! port-has-port-position? port-has-set-port-position!? close-port call-with-port open-bytevector-input-port make-custom-binary-input-port get-u8 @@ -182,7 +184,8 @@ make-custom-textual-output-port call-with-string-output-port flush-output-port put-string - get-char get-datum get-line get-string-all lookahead-char + get-char get-datum get-line get-string-all get-string-n get-string-n! + lookahead-char put-char put-datum put-string standard-input-port standard-output-port standard-error-port diff --git a/module/rnrs/arithmetic/fixnums.scm b/module/rnrs/arithmetic/fixnums.scm index befbe9d35..0ce245811 100644 --- a/module/rnrs/arithmetic/fixnums.scm +++ b/module/rnrs/arithmetic/fixnums.scm @@ -76,6 +76,7 @@ fxreverse-bit-field) (import (only (guile) ash cons* + define-inlinable inexact->exact logand logbit? @@ -84,9 +85,11 @@ lognot logxor most-positive-fixnum - most-negative-fixnum) + most-negative-fixnum + object-address) (ice-9 optargs) (rnrs base (6)) + (rnrs control (6)) (rnrs arithmetic bitwise (6)) (rnrs conditions (6)) (rnrs exceptions (6)) @@ -98,57 +101,49 @@ (define (greatest-fixnum) most-positive-fixnum) (define (least-fixnum) most-negative-fixnum) - - (define (fixnum? obj) - (and (integer? obj) - (exact? obj) - (>= obj most-negative-fixnum) - (<= obj most-positive-fixnum))) - (define (assert-fixnum . args) + (define-inlinable (fixnum? obj) + (not (= 0 (logand 2 (object-address obj))))) + + (define-syntax assert-fixnum + (syntax-rules () + ((_ arg ...) + (or (and (fixnum? arg) ...) + (raise (make-assertion-violation)))))) + + (define (assert-fixnums args) (or (for-all fixnum? args) (raise (make-assertion-violation)))) - (define (fx=? fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum args) - (apply = args))) - - (define (fx>? fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum args) - (apply > args))) - - (define (fx<? fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum rst) - (apply < args))) - - (define (fx>=? fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum rst) - (apply >= args))) - - (define (fx<=? fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum rst) - (apply <= args))) - - (define (fxzero? fx) (assert-fixnum fx) (zero? fx)) - (define (fxpositive? fx) (assert-fixnum fx) (positive? fx)) - (define (fxnegative? fx) (assert-fixnum fx) (negative? fx)) - (define (fxodd? fx) (assert-fixnum fx) (odd? fx)) - (define (fxeven? fx) (assert-fixnum fx) (even? fx)) - - (define (fxmax fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum args) - (apply max args))) - - (define (fxmin fx1 fx2 . rst) - (let ((args (cons* fx1 fx2 rst))) - (apply assert-fixnum args) - (apply min args))) - + (define-syntax define-fxop* + (syntax-rules () + ((_ name op) + (define name + (case-lambda + ((x y) + (assert-fixnum x y) + (op x y)) + (args + (assert-fixnums args) + (apply op args))))))) + + ;; All these predicates don't check their arguments for fixnum-ness, + ;; as this doesn't seem to be strictly required by R6RS. + + (define fx=? =) + (define fx>? >) + (define fx<? <) + (define fx>=? >=) + (define fx<=? <=) + + (define fxzero? zero?) + (define fxpositive? positive?) + (define fxnegative? negative?) + (define fxodd? odd?) + (define fxeven? even?) + + (define-fxop* fxmax max) + (define-fxop* fxmin min) + (define (fx+ fx1 fx2) (assert-fixnum fx1 fx2) (let ((r (+ fx1 fx2))) @@ -219,9 +214,9 @@ (values s0 s1))) (define (fxnot fx) (assert-fixnum fx) (lognot fx)) - (define (fxand . args) (apply assert-fixnum args) (apply logand args)) - (define (fxior . args) (apply assert-fixnum args) (apply logior args)) - (define (fxxor . args) (apply assert-fixnum args) (apply logxor args)) + (define-fxop* fxand logand) + (define-fxop* fxior logior) + (define-fxop* fxxor logxor) (define (fxif fx1 fx2 fx3) (assert-fixnum fx1 fx2 fx3) diff --git a/module/rnrs/base.scm b/module/rnrs/base.scm index 4c9c51bb0..4cfd1d1cc 100644 --- a/module/rnrs/base.scm +++ b/module/rnrs/base.scm @@ -74,6 +74,7 @@ syntax-rules identifier-syntax) (import (rename (except (guile) error raise) + (log log-internal) (euclidean-quotient div) (euclidean-remainder mod) (euclidean/ div-and-mod) @@ -85,6 +86,14 @@ (inexact->exact exact)) (srfi srfi-11)) + (define log + (case-lambda + ((n) + (log-internal n)) + ((n base) + (/ (log n) + (log base))))) + (define (boolean=? . bools) (define (boolean=?-internal lst last) (or (null? lst) @@ -103,9 +112,6 @@ (let ((sym (car syms))) (and (symbol? sym) (symbol=?-internal (cdr syms) sym))))) - (define (exact-integer-sqrt x) - (let* ((s (exact (floor (sqrt x)))) (e (- x (* s s)))) (values s e))) - (define (real-valued? x) (and (complex? x) (zero? (imag-part x)))) @@ -123,24 +129,33 @@ (define (vector-map proc . vecs) (list->vector (apply map (cons proc (map vector->list vecs))))) - (define-syntax raise - ;; Resolve the real `raise' lazily to avoid a circular dependency - ;; between `(rnrs base)' and `(rnrs exceptions)'. - (syntax-rules () - ((_ c) - ((@ (rnrs exceptions) raise) c)))) - - (define condition + (define-syntax define-proxy + (syntax-rules (@) + ;; Define BINDING to point to (@ MODULE ORIGINAL). This hack is to + ;; make sure MODULE is loaded lazily, at run-time, when BINDING is + ;; encountered, rather than being loaded while compiling and + ;; loading (rnrs base). + ;; This avoids circular dependencies among modules and makes + ;; (rnrs base) more lightweight. + ((_ binding (@ module original)) + (define-syntax binding + (identifier-syntax + (module-ref (resolve-interface 'module) 'original)))))) + + (define-proxy raise + (@ (rnrs exceptions) raise)) + + (define-proxy condition (@ (rnrs conditions) condition)) - (define make-error + (define-proxy make-error (@ (rnrs conditions) make-error)) - (define make-assertion-violation + (define-proxy make-assertion-violation (@ (rnrs conditions) make-assertion-violation)) - (define make-who-condition + (define-proxy make-who-condition (@ (rnrs conditions) make-who-condition)) - (define make-message-condition + (define-proxy make-message-condition (@ (rnrs conditions) make-message-condition)) - (define make-irritants-condition + (define-proxy make-irritants-condition (@ (rnrs conditions) make-irritants-condition)) (define (error who message . irritants) @@ -160,7 +175,7 @@ (define-syntax assert (syntax-rules () ((_ expression) - (if (not expression) + (or expression (raise (condition (make-assertion-violation) (make-message-condition diff --git a/module/rnrs/io/ports.scm b/module/rnrs/io/ports.scm index a5815c85f..04d167a2c 100644 --- a/module/rnrs/io/ports.scm +++ b/module/rnrs/io/ports.scm @@ -32,13 +32,14 @@ ;; auxiliary types file-options buffer-mode buffer-mode? eol-style native-eol-style error-handling-mode - make-transcoder transcoder-codec native-transcoder + make-transcoder transcoder-codec transcoder-eol-style + transcoder-error-handling-mode native-transcoder latin-1-codec utf-8-codec utf-16-codec ;; input & output ports port? input-port? output-port? port-eof? - port-transcoder binary-port? transcoded-port + port-transcoder binary-port? textual-port? transcoded-port port-position set-port-position! port-has-port-position? port-has-set-port-position!? call-with-port close-port @@ -68,13 +69,15 @@ put-u8 put-bytevector ;; textual input - get-char get-datum get-line get-string-all lookahead-char - + get-char get-datum get-line get-string-all get-string-n get-string-n! + lookahead-char + ;; textual output put-char put-datum put-string ;; standard ports standard-input-port standard-output-port standard-error-port + current-input-port current-output-port current-error-port ;; condition types &i/o i/o-error? make-i/o-error @@ -98,7 +101,8 @@ make-i/o-decoding-error &i/o-encoding-error i/o-encoding-error? make-i/o-encoding-error i/o-encoding-error-char) - (import (only (rnrs base) assertion-violation) + (import (ice-9 binary-ports) + (only (rnrs base) assertion-violation) (rnrs enums) (rnrs records syntactic) (rnrs exceptions) @@ -108,9 +112,6 @@ (ice-9 rdelim) (except (guile) raise)) -(load-extension (string-append "libguile-" (effective-version)) - "scm_init_r6rs_ports") - ;;; @@ -129,11 +130,11 @@ (enum-set-member? symbol (enum-set-universe (buffer-modes)))) (define-enumeration eol-style - (lf cr crlf nel crnel ls) + (lf cr crlf nel crnel ls none) eol-styles) (define (native-eol-style) - (eol-style lf)) + (eol-style none)) (define-enumeration error-handling-mode (ignore raise replace) @@ -190,10 +191,30 @@ ;;; (define (port-transcoder port) - (error "port transcoders are not supported" port)) + "Return the transcoder object associated with @var{port}, or @code{#f} +if the port has no transcoder." + (cond ((port-encoding port) + => (lambda (encoding) + (make-transcoder + encoding + (native-eol-style) + (case (port-conversion-strategy port) + ((error) 'raise) + ((substitute) 'replace) + (else + (assertion-violation 'port-transcoder + "unsupported error handling mode")))))) + (else + #f))) (define (binary-port? port) - ;; So far, we don't support transcoders other than the binary transcoder. + "Returns @code{#t} if @var{port} does not have an associated encoding, +@code{#f} otherwise." + (not (port-encoding port))) + +(define (textual-port? port) + "Always returns @var{#t}, as all ports can be used for textual I/O in +Guile." #t) (define (port-eof? port) @@ -205,7 +226,8 @@ "Return a new textual port based on @var{port}, using @var{transcoder} to encode and decode data written to or read from its underlying binary port @var{port}." - (let ((result (%make-transcoded-port port))) + ;; Hackily get at %make-transcoded-port. + (let ((result ((@@ (ice-9 binary-ports) %make-transcoded-port) port))) (set-port-encoding! result (transcoder-codec transcoder)) (case (transcoder-error-handling-mode transcoder) ((raise) @@ -387,6 +409,17 @@ return the characters accumulated in that port." (define (get-string-all port) (with-i/o-decoding-error (read-delimited "" port 'concat))) +(define (get-string-n port count) + "Read up to @var{count} characters from @var{port}. +If no characters could be read before encountering the end of file, +return the end-of-file object, otherwise return a string containing +the characters read." + (let* ((s (make-string count)) + (rv (get-string-n! port s 0 count))) + (cond ((eof-object? rv) rv) + ((= rv count) s) + (else (substring/shared s 0 rv))))) + (define (lookahead-char port) (with-i/o-decoding-error (peek-char port))) @@ -396,13 +429,16 @@ return the characters accumulated in that port." ;;; (define (standard-input-port) - (dup->inport 0)) + (with-fluids ((%default-port-encoding #f)) + (dup->inport 0))) (define (standard-output-port) - (dup->outport 1)) + (with-fluids ((%default-port-encoding #f)) + (dup->outport 1))) (define (standard-error-port) - (dup->outport 2)) + (with-fluids ((%default-port-encoding #f)) + (dup->outport 2))) ) diff --git a/module/scripts/README b/module/scripts/README index 56dd286fb..cb397f5d2 100644 --- a/module/scripts/README +++ b/module/scripts/README @@ -4,9 +4,9 @@ Overview and Usage This directory contains Scheme programs, some useful in maintaining Guile. On "make install", these programs are copied to PKGDATADIR/VERSION/scripts. -You can invoke a program from the shell, or alternatively, load its file -as a Guile Scheme module, and use its exported procedure(s) from Scheme code. -Typically for any PROGRAM: +You can use guile-tools to invoke a program from the shell, or alternatively, +load its file as a Guile Scheme module, and use its exported procedure(s) +from Scheme code. Typically for any PROGRAM: (use-modules (scripts PROGRAM)) (PROGRAM ARG1 ARG2 ...) @@ -22,8 +22,6 @@ To see PROGRAM's commentary, which may or may not be helpful: (help (scripts PROGRAM)) -To see all commentaries and module dependencies, try: "make overview". - If you want to try the programs before installing Guile, you will probably need to set environment variable GUILE_LOAD_PATH to be the parent directory. This can be done in Bourne-compatible shells like so: @@ -40,11 +38,7 @@ How to Contribute See template file PROGRAM for a quick start. -Programs must follow the "executable module" convention, documented here: - -- The file name must not end in ".scm". - -- The file must be executable (chmod +x). +Programs must follow the "guile-tools" convention, documented here: - The module name must be "(scripts PROGRAM)". A procedure named PROGRAM w/ signature "(PROGRAM . args)" must be exported. Basically, use some variant @@ -61,15 +55,8 @@ Programs must follow the "executable module" convention, documented here: However, `main' must NOT be exported. -- The beginning of the file must use the following invocation sequence: - - #!/bin/sh - main='(module-ref (resolve-module '\''(scripts PROGRAM)) '\'main')' - exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@" - !# - Following these conventions allows the program file to be used as module -(scripts PROGRAM) in addition to as a standalone executable. Please also +(scripts PROGRAM) in addition to being invoked by guile-tools. Please also include a helpful Commentary section w/ some usage info. diff --git a/module/srfi/srfi-4/gnu.scm b/module/srfi/srfi-4/gnu.scm index 8cd5e895b..ac22809ea 100644 --- a/module/srfi/srfi-4/gnu.scm +++ b/module/srfi/srfi-4/gnu.scm @@ -1,6 +1,6 @@ ;;; Extensions to SRFI-4 -;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;; ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -83,14 +83,14 @@ (make-rectangular (bytevector-ieee-single-native-ref v i) (bytevector-ieee-single-native-ref v (+ i 4)))) (define (bytevector-c32-native-set! v i x) - (bytevector-ieee-single-native-set! v i x) - (bytevector-ieee-single-native-set! v (+ i 4) x)) + (bytevector-ieee-single-native-set! v i (real-part x)) + (bytevector-ieee-single-native-set! v (+ i 4) (imag-part x))) (define (bytevector-c64-native-ref v i) (make-rectangular (bytevector-ieee-double-native-ref v i) (bytevector-ieee-double-native-ref v (+ i 8)))) (define (bytevector-c64-native-set! v i x) - (bytevector-ieee-double-native-set! v i x) - (bytevector-ieee-double-native-set! v (+ i 8) x)) + (bytevector-ieee-double-native-set! v i (real-part x)) + (bytevector-ieee-double-native-set! v (+ i 8) (imag-part x))) (define-bytevector-type c32 c32-native 8) (define-bytevector-type c64 c64-native 16) diff --git a/module/srfi/srfi-9.scm b/module/srfi/srfi-9.scm index 80c3b60e8..ad9e95de1 100644 --- a/module/srfi/srfi-9.scm +++ b/module/srfi/srfi-9.scm @@ -1,6 +1,6 @@ ;;; srfi-9.scm --- define-record-type -;; Copyright (C) 2001, 2002, 2006, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2002, 2006, 2009, 2010, 2011 Free Software Foundation, Inc. ;; ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -64,33 +64,6 @@ (cond-expand-provide (current-module) '(srfi-9)) -(define-syntax define-inlinable - ;; Define a macro and a procedure such that direct calls are inlined, via - ;; the macro expansion, whereas references in non-call contexts refer to - ;; the procedure. Inspired by the `define-integrable' macro by Dybvig et al. - (lambda (x) - (define (make-procedure-name name) - (datum->syntax name - (symbol-append '% (syntax->datum name) - '-procedure))) - - (syntax-case x () - ((_ (name formals ...) body ...) - (identifier? #'name) - (with-syntax ((proc-name (make-procedure-name #'name))) - #`(begin - (define (proc-name formals ...) - body ...) - proc-name ;; unused - (define-syntax name - (lambda (x) - (syntax-case x () - ((_ formals ...) - #'(begin body ...)) - (_ - (identifier? x) - #'proc-name)))))))))) - (define-syntax define-record-type (lambda (x) (define (field-identifiers field-specs) diff --git a/module/system/base/compile.scm b/module/system/base/compile.scm index 7d46713b2..1b6e73f32 100644 --- a/module/system/base/compile.scm +++ b/module/system/base/compile.scm @@ -68,16 +68,27 @@ x (lookup-language x))) -;; Throws an exception if `dir' is not writable. The double-stat is OK, -;; as this is only used during compilation. +;; Throws an exception if `dir' is not writable. The mkdir occurs +;; before the check, so that we avoid races (possibly due to parallel +;; compilation). +;; (define (ensure-writable-dir dir) - (if (file-exists? dir) - (if (access? dir W_OK) - #t - (error "directory not writable" dir)) - (begin - (ensure-writable-dir (dirname dir)) - (mkdir dir)))) + (catch 'system-error + (lambda () + (mkdir dir)) + (lambda (k subr fmt args rest) + (let ((errno (and (pair? rest) (car rest)))) + (cond + ((eqv? errno EEXIST) + (let ((st (stat dir))) + (if (or (not (eq? (stat:type st) 'directory)) + (not (access? dir W_OK))) + (error "directory not writable" dir)))) + ((eqv? errno ENOENT) + (ensure-writable-dir (dirname dir)) + (ensure-writable-dir dir)) + (else + (throw k subr fmt args rest))))))) ;;; This function is among the trickiest I've ever written. I tried many ;;; variants. In the end, simple is best, of course. diff --git a/module/system/foreign.scm b/module/system/foreign.scm index 781e79369..37f9b41ac 100644 --- a/module/system/foreign.scm +++ b/module/system/foreign.scm @@ -37,6 +37,8 @@ null-pointer? pointer? make-pointer + pointer->scm + scm->pointer pointer-address pointer->bytevector @@ -190,9 +192,12 @@ which does the reverse. PRINT must name a user-defined object printer." ;; PTR1 == PTR2 <-> (eq? (wrap PTR1) (wrap PTR2)). (let ((ptr->obj (make-weak-value-hash-table 3000))) (lambda (ptr) - (let ((key+value (hash-create-handle! ptr->obj ptr #f))) - (or (cdr key+value) - (let ((o (%wrap ptr))) - (set-cdr! key+value o) - o)))))) + ;; XXX: We can't use `hash-create-handle!' + + ;; `set-cdr!' here because the former would create a + ;; weak-cdr pair but the latter wouldn't register a + ;; disappearing link (see `scm_hash_fn_set_x'.) + (or (hash-ref ptr->obj ptr) + (let ((o (%wrap ptr))) + (hash-set! ptr->obj ptr o) + o))))) (set-record-type-printer! type-name print))))))) diff --git a/module/system/repl/command.scm b/module/system/repl/command.scm index d4b3e4a77..109b533f8 100644 --- a/module/system/repl/command.scm +++ b/module/system/repl/command.scm @@ -1,6 +1,6 @@ ;;; Repl commands -;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc. ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -465,7 +465,11 @@ Compile a file." (define-meta-command (disassemble repl (form)) "disassemble EXP Disassemble a compiled procedure." - (guile:disassemble (repl-eval repl (repl-parse repl form)))) + (let ((obj (repl-eval repl (repl-parse repl form)))) + (if (or (program? obj) (objcode? obj)) + (guile:disassemble obj) + (format #t "Argument to ,disassemble not a procedure or objcode: ~a~%" + obj)))) (define-meta-command (disassemble-file repl file) "disassemble-file FILE @@ -546,7 +550,7 @@ Trace execution." (format #t "Nothing to debug.~%")))))))) (define-stack-command (backtrace repl #:optional count - #:key (width 72) full?) + #:key (width (terminal-width)) full?) "backtrace [COUNT] [#:width W] [#:full? F] Print a backtrace. @@ -626,12 +630,12 @@ With an argument, select a frame by index, then show it." Print the procedure for the selected frame." (repl-print repl (frame-procedure cur))) -(define-stack-command (locals repl) +(define-stack-command (locals repl #:key (width (terminal-width))) "locals Show local variables. Show locally-bound variables in the selected frame." - (print-locals cur)) + (print-locals cur #:width width)) (define-stack-command (error-message repl) "error-message @@ -811,6 +815,15 @@ Print registers. Print the registers of the current frame." (print-registers cur)) +(define-meta-command (width repl #:optional x) + "width [X] +Set debug output width. + +Set the number of screen columns in the output from `backtrace' and +`locals'." + (terminal-width x) + (format #t "Set screen width to ~a columns.~%" (terminal-width))) + ;;; @@ -858,30 +871,21 @@ Display statistics." (display-diff-stat "GC times:" #t this-times last-times "times") (newline)) ;; Memory size - (let ((this-cells (assq-ref this-gcs 'cells-allocated)) - (this-heap (assq-ref this-gcs 'cell-heap-size)) - (this-bytes (assq-ref this-gcs 'bytes-malloced)) - (this-malloc (assq-ref this-gcs 'gc-malloc-threshold))) + (let ((this-heap (assq-ref this-gcs 'heap-size)) + (this-free (assq-ref this-gcs 'heap-free-size))) (display-stat-title "Memory size:" "current" "limit") - (display-stat "heap" #f this-cells this-heap "cells") - (display-stat "malloc" #f this-bytes this-malloc "bytes") + (display-stat "heap" #f (- this-heap this-free) this-heap "bytes") (newline)) ;; Cells collected - (let ((this-marked (assq-ref this-gcs 'cells-marked)) - (last-marked (assq-ref last-gcs 'cells-marked)) - (this-swept (assq-ref this-gcs 'cells-swept)) - (last-swept (assq-ref last-gcs 'cells-swept))) - (display-stat-title "Cells collected:" "diff" "total") - (display-diff-stat "marked" #f this-marked last-marked "cells") - (display-diff-stat "swept" #f this-swept last-swept "cells") + (let ((this-alloc (assq-ref this-gcs 'heap-total-allocated)) + (last-alloc (assq-ref last-gcs 'heap-total-allocated))) + (display-stat-title "Bytes allocated:" "diff" "total") + (display-diff-stat "allocated" #f this-alloc last-alloc "bytes") (newline)) ;; GC time taken - (let ((this-mark (assq-ref this-gcs 'gc-mark-time-taken)) - (last-mark (assq-ref last-gcs 'gc-mark-time-taken)) - (this-total (assq-ref this-gcs 'gc-time-taken)) + (let ((this-total (assq-ref this-gcs 'gc-time-taken)) (last-total (assq-ref last-gcs 'gc-time-taken))) (display-stat-title "GC time taken:" "diff" "total") - (display-time-stat "mark" this-mark last-mark) (display-time-stat "total" this-total last-total) (newline)) ;; Process time spent diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm index 24a583ce6..a5267c616 100644 --- a/module/system/repl/common.scm +++ b/module/system/repl/common.scm @@ -121,7 +121,14 @@ See <http://www.gnu.org/licenses/lgpl.html>, for more details.") ,(value-history-enabled?) ,(lambda (x) (if x (enable-value-history!) (disable-value-history!)) - (->bool x)))))) + (->bool x))) + (on-error + debug + ,(let ((vals '(debug backtrace report pass))) + (lambda (x) + (if (memq x vals) + x + (error "Bad on-error value ~a; expected one of ~a" x vals)))))))) (define %make-repl make-repl) (define* (make-repl lang #:optional debug) diff --git a/module/system/repl/debug.scm b/module/system/repl/debug.scm index 46ea6b4db..cf408063e 100644 --- a/module/system/repl/debug.scm +++ b/module/system/repl/debug.scm @@ -1,6 +1,6 @@ ;;; Guile VM debugging facilities -;;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc. +;;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc. ;;; ;;; This library is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Lesser General Public @@ -32,6 +32,7 @@ #:export (<debug> make-debug debug? debug-frames debug-index debug-error-message debug-for-trap? + terminal-width print-registers print-locals print-frame print-frames frame->module stack->vector narrow-stack->vector frame->stack-vector)) @@ -58,6 +59,25 @@ +;; A fluid, because terminals are usually implicitly associated with +;; threads. +;; +(define terminal-width + (let ((set-width (make-fluid))) + (case-lambda + (() + (or (fluid-ref set-width) + (let ((w (false-if-exception (string->number (getenv "COLUMNS"))))) + (and (integer? w) (exact? w) (> w 0) w)) + 72)) + ((w) + (if (or (not w) (and (integer? w) (exact? w) (> w 0))) + (fluid-set! set-width w) + (error "Expected a column number (a positive integer)" w)))))) + + + + (define (reverse-hashq h) (let ((ret (make-hash-table))) (hash-for-each @@ -79,7 +99,7 @@ (print "fp = #x~x\n" (frame-address frame))) (define* (print-locals frame #:optional (port (current-output-port)) - #:key (width 72) (per-line-prefix " ")) + #:key (width (terminal-width)) (per-line-prefix " ")) (let ((bindings (frame-bindings frame))) (cond ((null? bindings) @@ -99,8 +119,8 @@ (frame-bindings frame)))))) (define* (print-frame frame #:optional (port (current-output-port)) - #:key index (width 72) (full? #f) (last-source #f) - next-source?) + #:key index (width (terminal-width)) (full? #f) + (last-source #f) next-source?) (define (source:pretty-file source) (if source (or (source:file source) "current input") @@ -120,8 +140,8 @@ (define* (print-frames frames #:optional (port (current-output-port)) - #:key (width 72) (full? #f) (forward? #f) count - for-trap?) + #:key (width (terminal-width)) (full? #f) + (forward? #f) count for-trap?) (let* ((len (vector-length frames)) (lower-idx (if (or (not count) (positive? count)) 0 diff --git a/module/system/repl/error-handling.scm b/module/system/repl/error-handling.scm index d41dea643..c6c64cc73 100644 --- a/module/system/repl/error-handling.scm +++ b/module/system/repl/error-handling.scm @@ -122,27 +122,56 @@ (case on-error ((debug) (lambda (key . args) - (let* ((tag (and (pair? (fluid-ref %stacks)) - (cdar (fluid-ref %stacks)))) - (stack (narrow-stack->vector - (make-stack #t) - ;; Cut three frames from the top of the stack: - ;; make-stack, this one, and the throw handler. - 3 - ;; Narrow the end of the stack to the most recent - ;; start-stack. - tag - ;; And one more frame, because %start-stack invoking - ;; the start-stack thunk has its own frame too. - 0 (and tag 1))) - (error-msg (error-string stack key args)) - (debug (make-debug stack 0 error-msg #f))) - (with-saved-ports - (lambda () - (format #t "~a~%" error-msg) - (format #t "Entering a new prompt. ") - (format #t "Type `,bt' for a backtrace or `,q' to continue.\n") - ((@ (system repl repl) start-repl) #:debug debug)))))) + (if (not (memq key pass-keys)) + (let* ((tag (and (pair? (fluid-ref %stacks)) + (cdar (fluid-ref %stacks)))) + (stack (narrow-stack->vector + (make-stack #t) + ;; Cut three frames from the top of the stack: + ;; make-stack, this one, and the throw handler. + 3 + ;; Narrow the end of the stack to the most recent + ;; start-stack. + tag + ;; And one more frame, because %start-stack invoking + ;; the start-stack thunk has its own frame too. + 0 (and tag 1))) + (error-msg (error-string stack key args)) + (debug (make-debug stack 0 error-msg #f))) + (with-saved-ports + (lambda () + (format #t "~a~%" error-msg) + (format #t "Entering a new prompt. ") + (format #t "Type `,bt' for a backtrace or `,q' to continue.\n") + ((@ (system repl repl) start-repl) #:debug debug))))))) + ((report) + (lambda (key . args) + (if (not (memq key pass-keys)) + (begin + (with-saved-ports + (lambda () + (run-hook before-error-hook) + (print-exception err #f key args) + (run-hook after-error-hook) + (force-output err))) + (if #f #f))))) + ((backtrace) + (lambda (key . args) + (if (not (memq key pass-keys)) + (let* ((tag (and (pair? (fluid-ref %stacks)) + (cdar (fluid-ref %stacks)))) + (frames (narrow-stack->vector + (make-stack #t) + ;; Narrow as above, for the debugging case. + 3 tag 0 (and tag 1)))) + (with-saved-ports + (lambda () + (print-frames frames) + (run-hook before-error-hook) + (print-exception err #f key args) + (run-hook after-error-hook) + (force-output err))) + (if #f #f))))) ((pass) (lambda (key . args) ;; fall through to rethrow diff --git a/module/system/repl/repl.scm b/module/system/repl/repl.scm index 6eb29be91..5bab7780e 100644 --- a/module/system/repl/repl.scm +++ b/module/system/repl/repl.scm @@ -32,6 +32,48 @@ #:export (start-repl run-repl)) +;;; +;;; Comments +;;; +;;; (You don't want a comment to force a continuation line.) +;;; + +(define (read-scheme-line-comment port) + (let lp () + (let ((ch (read-char port))) + (or (eof-object? ch) + (eqv? ch #\newline) + (lp))))) + +(define (read-scheme-datum-comment port) + (read port)) + +;; ch is a peeked char +(define (read-comment lang port ch) + (and (eq? (language-name lang) 'scheme) + (case ch + ((#\;) + (read-char port) + (read-scheme-line-comment port) + #t) + ((#\#) + (read-char port) + (case (peek-char port) + ((#\;) + (read-char port) + (read-scheme-datum-comment port) + #t) + ;; Not doing R6RS block comments because of the possibility + ;; of read-hash extensions. Lame excuse. Not doing scsh + ;; block comments either, because I don't feel like handling + ;; #!r6rs. + (else + (unread-char #\# port) + #f))) + (else + #f)))) + + ;;; ;;; Meta commands @@ -39,11 +81,11 @@ (define meta-command-token (cons 'meta 'command)) -(define (meta-reader read env) +(define (meta-reader lang env) (lambda* (#:optional (port (current-input-port))) (with-input-from-port port (lambda () - (let ((ch (next-char #t))) + (let ((ch (flush-leading-whitespace))) (cond ((eof-object? ch) ;; EOF objects are not buffered. It's quite possible ;; to peek an EOF then read something else. It's @@ -52,8 +94,17 @@ ((eqv? ch #\,) (read-char port) meta-command-token) - (else (read port env)))))))) + ((read-comment lang port ch) + *unspecified*) + (else ((language-reader lang) port env)))))))) +(define (flush-all-input) + (if (and (char-ready?) + (not (eof-object? (peek-char)))) + (begin + (read-char) + (flush-all-input)))) + ;; repl-reader is a function defined in boot-9.scm, and is replaced by ;; something else if readline has been activated. much of this hoopla is ;; to be able to re-use the existing readline machinery. @@ -63,8 +114,7 @@ (catch #t (lambda () (repl-reader (lambda () (repl-prompt repl)) - (meta-reader (language-reader (repl-language repl)) - (current-module)))) + (meta-reader (repl-language repl) (current-module)))) (lambda (key . args) (case key ((quit) @@ -72,6 +122,7 @@ (else (format (current-output-port) "While reading expression:\n") (print-exception (current-output-port) #f key args) + (flush-all-input) *unspecified*))))) @@ -108,7 +159,7 @@ (let prompt-loop () (let ((exp (prompting-meta-read repl))) (cond - ((eqv? exp *unspecified*)) ; read error, pass + ((eqv? exp *unspecified*)) ; read error or comment, pass ((eq? exp meta-command-token) (catch #t (lambda () @@ -139,8 +190,10 @@ (abort-on-error "parsing expression" (repl-parse repl exp)))))) (run-hook before-eval-hook exp) - (with-error-handling - (with-stack-and-prompt thunk))) + (call-with-error-handling + (lambda () + (with-stack-and-prompt thunk)) + #:on-error (repl-option-ref repl 'on-error))) (lambda (k) (values)))) (lambda l (for-each (lambda (v) @@ -148,19 +201,19 @@ l)))) (lambda (k . args) (abort args)))) + #:on-error (repl-option-ref repl 'on-error) #:trap-handler 'disabled))) - (next-char #f) ;; consume trailing whitespace + (flush-to-newline) ;; consume trailing whitespace (prompt-loop)))) (lambda (k status) status))) -(define (next-char wait) - (if (or wait (char-ready?)) - (let ((ch (peek-char))) - (cond ((eof-object? ch) ch) - ((char-whitespace? ch) (read-char) (next-char wait)) - (else ch))) - #f)) +;; Returns first non-whitespace char. +(define (flush-leading-whitespace) + (let ((ch (peek-char))) + (cond ((eof-object? ch) ch) + ((char-whitespace? ch) (read-char) (flush-leading-whitespace)) + (else ch)))) (define (flush-to-newline) (if (char-ready?) diff --git a/module/system/repl/server.scm b/module/system/repl/server.scm index 132ea81aa..ec9067745 100644 --- a/module/system/repl/server.scm +++ b/module/system/repl/server.scm @@ -1,6 +1,6 @@ ;;; Repl server -;; Copyright (C) 2003, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2010, 2011 Free Software Foundation, Inc. ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -103,6 +103,7 @@ (sleep 1) (accept-new-client)))))) + (sigaction SIGPIPE SIG_IGN) (add-open-socket! server-socket) (listen server-socket 5) (let lp ((client (accept-new-client))) diff --git a/module/texinfo/html.scm b/module/texinfo/html.scm index 81dd1f123..709744dc3 100644 --- a/module/texinfo/html.scm +++ b/module/texinfo/html.scm @@ -1,6 +1,6 @@ ;;;; (texinfo html) -- translating stexinfo into shtml ;;;; -;;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; Copyright (C) 2003,2004,2009 Andy Wingo <wingo at pobox dot com> ;;;; ;;;; This library is free software; you can redistribute it and/or @@ -148,14 +148,12 @@ name, @code{#}, and the node name." (apply append body))))) (define (entry tag args . body) - (let lp ((headings (list (arg-req 'heading args))) (body body)) + (let lp ((out `((dt ,@(arg-req 'heading args)))) + (body body)) (if (and (pair? body) (pair? (car body)) (eq? (caar body) 'itemx)) - (lp (cons (cdar body) headings) + (lp (append out `(dt ,@(map stexi->shtml (cdar body)))) (cdr body)) - `(,@(map (lambda (heading) - `(dt ,@(map stexi->shtml heading))) - headings) - (dd ,@(map stexi->shtml body)))))) + (append out `((dd ,@(map stexi->shtml body))))))) (define tag-replacements '((titlepage div (@ (class "titlepage"))) diff --git a/module/texinfo/reflection.scm b/module/texinfo/reflection.scm index 52b1ee958..a69436f89 100644 --- a/module/texinfo/reflection.scm +++ b/module/texinfo/reflection.scm @@ -1,6 +1,6 @@ ;;;; (texinfo reflection) -- documenting Scheme as stexinfo ;;;; -;;;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; Copyright (C) 2003,2004,2009 Andy Wingo <wingo at pobox dot com> ;;;; ;;;; This library is free software; you can redistribute it and/or @@ -86,7 +86,7 @@ (cons* (car in) infix out))))))) (define (process-args args) - (map (lambda (x) (if (symbol? x) (symbol->string x) x)) + (map (lambda (x) (if (string? x) x (object->string x))) (list*-join (or args '()) " " " . "))) diff --git a/module/web/request.scm b/module/web/request.scm index 91cc59da4..84119205f 100644 --- a/module/web/request.scm +++ b/module/web/request.scm @@ -21,7 +21,7 @@ (define-module (web request) #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports) + #:use-module (ice-9 binary-ports) #:use-module (ice-9 rdelim) #:use-module (srfi srfi-9) #:use-module (web uri) diff --git a/module/web/response.scm b/module/web/response.scm index 2cabd4f85..62837721c 100644 --- a/module/web/response.scm +++ b/module/web/response.scm @@ -21,7 +21,7 @@ (define-module (web response) #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports) + #:use-module (ice-9 binary-ports) #:use-module (ice-9 rdelim) #:use-module (srfi srfi-9) #:use-module (web http) diff --git a/module/web/server.scm b/module/web/server.scm index 4715cae69..c5e623a19 100644 --- a/module/web/server.scm +++ b/module/web/server.scm @@ -75,7 +75,7 @@ (define-module (web server) #:use-module (srfi srfi-9) #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports) + #:use-module (ice-9 binary-ports) #:use-module (web request) #:use-module (web response) #:use-module (system repl error-handling) @@ -167,18 +167,33 @@ values." (warn "Error while accepting client" k args) (values #f #f #f)))) +;; like call-with-output-string, but actually closes the port (doh) +(define (call-with-output-string* proc) + (let ((port (open-output-string))) + (proc port) + (let ((str (get-output-string port))) + (close-port port) + str))) + +(define (call-with-output-bytevector* proc) + (call-with-values + (lambda () + (open-bytevector-output-port)) + (lambda (port get-bytevector) + (proc port) + (let ((bv (get-bytevector))) + (close-port port) + bv)))) + (define (call-with-encoded-output-string charset proc) (if (string-ci=? charset "utf-8") ;; I don't know why, but this appears to be faster; at least for ;; examples/debug-sxml.scm (1464 reqs/s versus 850 reqs/s). - (string->utf8 (call-with-output-string proc)) - (call-with-values - (lambda () - (open-bytevector-output-port)) - (lambda (port get-bytevector) - (set-port-encoding! port charset) - (proc port) - (get-bytevector))))) + (string->utf8 (call-with-output-string* proc)) + (call-with-output-bytevector* + (lambda (port) + (set-port-encoding! port charset) + (proc port))))) (define (encode-string str charset) (if (string-ci=? charset "utf-8") diff --git a/module/web/uri.scm b/module/web/uri.scm index 2361d87b5..6f9377c19 100644 --- a/module/web/uri.scm +++ b/module/web/uri.scm @@ -1,6 +1,6 @@ ;;;; (web uri) --- URI manipulation tools ;;;; -;;;; Copyright (C) 1997,2001,2002,2010 Free Software Foundation, Inc. +;;;; Copyright (C) 1997,2001,2002,2010,2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -30,7 +30,7 @@ #:use-module (ice-9 rdelim) #:use-module (ice-9 control) #:use-module (rnrs bytevectors) - #:use-module (rnrs io ports) + #:use-module (ice-9 binary-ports) #:export (uri? uri-scheme uri-userinfo uri-host uri-port uri-path uri-query uri-fragment @@ -227,16 +227,31 @@ printed." "")))) +;; like call-with-output-string, but actually closes the port (doh) +(define (call-with-output-string* proc) + (let ((port (open-output-string))) + (proc port) + (let ((str (get-output-string port))) + (close-port port) + str))) + +(define (call-with-output-bytevector* proc) + (call-with-values + (lambda () + (open-bytevector-output-port)) + (lambda (port get-bytevector) + (proc port) + (let ((bv (get-bytevector))) + (close-port port) + bv)))) + (define (call-with-encoded-output-string encoding proc) (if (string-ci=? encoding "utf-8") - (string->utf8 (call-with-output-string proc)) - (call-with-values - (lambda () - (open-bytevector-output-port)) - (lambda (port get-bytevector) - (set-port-encoding! port encoding) - (proc port) - (get-bytevector))))) + (string->utf8 (call-with-output-string* proc)) + (call-with-output-bytevector* + (lambda (port) + (set-port-encoding! port encoding) + (proc port))))) (define (encode-string str encoding) (if (string-ci=? encoding "utf-8") @@ -250,7 +265,9 @@ printed." (utf8->string bv) (let ((p (open-bytevector-input-port bv))) (set-port-encoding! p encoding) - (read-delimited "" p)))) + (let ((res (read-delimited "" p))) + (close-port p) + res)))) ;; A note on characters and bytes: URIs are defined to be sequences of @@ -279,35 +296,37 @@ There is no guarantee that a given byte sequence is a valid string encoding. Therefore this routine may signal an error if the decoded bytes are not valid for the given encoding. Pass @code{#f} for @var{encoding} if you want decoded bytes as a bytevector directly." - (let ((len (string-length str))) - (call-with-values open-bytevector-output-port - (lambda (port get-bytevector) - (let lp ((i 0)) - (if (= i len) - (if encoding - (decode-string (get-bytevector) encoding) - (get-bytevector)) ; raw bytevector - (let ((ch (string-ref str i))) - (cond - ((eqv? ch #\+) - (put-u8 port (char->integer #\space)) - (lp (1+ i))) - ((and (< (+ i 2) len) (eqv? ch #\%) - (let ((a (string-ref str (+ i 1))) - (b (string-ref str (+ i 2)))) - (and (char-set-contains? hex-chars a) - (char-set-contains? hex-chars b) - (string->number (string a b) 16)))) - => (lambda (u8) - (put-u8 port u8) - (lp (+ i 3)))) - ((< (char->integer ch) 128) - (put-u8 port (char->integer ch)) - (lp (1+ i))) - (else - (uri-error "Invalid character in encoded URI ~a: ~s" - str ch)))))))))) - + (let* ((len (string-length str)) + (bv + (call-with-output-bytevector* + (lambda (port) + (let lp ((i 0)) + (if (< i len) + (let ((ch (string-ref str i))) + (cond + ((eqv? ch #\+) + (put-u8 port (char->integer #\space)) + (lp (1+ i))) + ((and (< (+ i 2) len) (eqv? ch #\%) + (let ((a (string-ref str (+ i 1))) + (b (string-ref str (+ i 2)))) + (and (char-set-contains? hex-chars a) + (char-set-contains? hex-chars b) + (string->number (string a b) 16)))) + => (lambda (u8) + (put-u8 port u8) + (lp (+ i 3)))) + ((< (char->integer ch) 128) + (put-u8 port (char->integer ch)) + (lp (1+ i))) + (else + (uri-error "Invalid character in encoded URI ~a: ~s" + str ch)))))))))) + (if encoding + (decode-string bv encoding) + ;; Otherwise return raw bytevector + bv))) + (define ascii-alnum-chars (string->char-set "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")) @@ -337,7 +356,7 @@ within the given @var{encoding}, then encodes each byte as @code{%@var{HH}}, where @var{HH} is the hexadecimal representation of the byte." (if (string-index str unescaped-chars) - (call-with-output-string + (call-with-output-string* (lambda (port) (string-for-each (lambda (ch) |