summaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/Makefile.am9
-rw-r--r--module/ice-9/binary-ports.scm50
-rw-r--r--module/ice-9/boot-9.scm69
-rw-r--r--module/ice-9/eval-string.scm88
-rw-r--r--module/ice-9/popen.scm6
-rw-r--r--module/ice-9/psyntax-pp.scm28752
-rw-r--r--module/ice-9/psyntax.scm284
-rw-r--r--module/ice-9/vlist.scm23
-rw-r--r--module/language/assembly/compile-bytecode.scm6
-rw-r--r--module/language/elisp/lexer.scm2
-rw-r--r--module/language/objcode/spec.scm4
-rw-r--r--module/language/tree-il.scm7
-rw-r--r--module/language/tree-il/analyze.scm7
-rw-r--r--module/language/tree-il/compile-glil.scm8
-rw-r--r--module/language/tree-il/fix-letrec.scm22
-rw-r--r--module/rnrs.scm9
-rw-r--r--module/rnrs/arithmetic/fixnums.scm99
-rw-r--r--module/rnrs/base.scm49
-rw-r--r--module/rnrs/io/ports.scm68
-rw-r--r--module/scripts/README23
-rw-r--r--module/srfi/srfi-4/gnu.scm10
-rw-r--r--module/srfi/srfi-9.scm29
-rw-r--r--module/system/base/compile.scm29
-rw-r--r--module/system/foreign.scm15
-rw-r--r--module/system/repl/command.scm48
-rw-r--r--module/system/repl/common.scm9
-rw-r--r--module/system/repl/debug.scm32
-rw-r--r--module/system/repl/error-handling.scm71
-rw-r--r--module/system/repl/repl.scm85
-rw-r--r--module/system/repl/server.scm3
-rw-r--r--module/texinfo/html.scm12
-rw-r--r--module/texinfo/reflection.scm4
-rw-r--r--module/web/request.scm2
-rw-r--r--module/web/response.scm2
-rw-r--r--module/web/server.scm33
-rw-r--r--module/web/uri.scm101
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)