1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 18:40:22 +02:00
guile/module/ice-9/psyntax-pp.scm
Ludovic Courtès b9434165b6 Allow redefinitions in compiled code as in `(define round round)'.
* module/ice-9/psyntax-pp.scm: Regenerate.

* module/ice-9/psyntax.scm (chi-top)[define-form]: If a same-named
  imported variable exists, take its value instead of `#f'.

* test-suite/tests/compiler.test ("psyntax")["redefinition"]: New tests.
2009-08-13 15:50:37 +02:00

12150 lines
765 KiB
Scheme

(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
(letrec ((#{and-map*\ 1199}#
(lambda (#{f\ 1239}# #{first\ 1238}# . #{rest\ 1237}#)
(let ((#{t\ 1240}# (null? #{first\ 1238}#)))
(if #{t\ 1240}#
#{t\ 1240}#
(if (null? #{rest\ 1237}#)
(letrec ((#{andmap\ 1241}#
(lambda (#{first\ 1242}#)
(let ((#{x\ 1243}# (car #{first\ 1242}#))
(#{first\ 1244}# (cdr #{first\ 1242}#)))
(if (null? #{first\ 1244}#)
(#{f\ 1239}# #{x\ 1243}#)
(if (#{f\ 1239}# #{x\ 1243}#)
(#{andmap\ 1241}# #{first\ 1244}#)
#f))))))
(#{andmap\ 1241}# #{first\ 1238}#))
(letrec ((#{andmap\ 1245}#
(lambda (#{first\ 1246}# #{rest\ 1247}#)
(let ((#{x\ 1248}# (car #{first\ 1246}#))
(#{xr\ 1249}# (map car #{rest\ 1247}#))
(#{first\ 1250}# (cdr #{first\ 1246}#))
(#{rest\ 1251}#
(map cdr #{rest\ 1247}#)))
(if (null? #{first\ 1250}#)
(apply #{f\ 1239}#
(cons #{x\ 1248}# #{xr\ 1249}#))
(if (apply #{f\ 1239}#
(cons #{x\ 1248}# #{xr\ 1249}#))
(#{andmap\ 1245}#
#{first\ 1250}#
#{rest\ 1251}#)
#f))))))
(#{andmap\ 1245}# #{first\ 1238}# #{rest\ 1237}#))))))))
(letrec ((#{lambda-var-list\ 1345}#
(lambda (#{vars\ 1469}#)
(letrec ((#{lvl\ 1470}#
(lambda (#{vars\ 1471}# #{ls\ 1472}# #{w\ 1473}#)
(if (pair? #{vars\ 1471}#)
(#{lvl\ 1470}#
(cdr #{vars\ 1471}#)
(cons (#{wrap\ 1325}#
(car #{vars\ 1471}#)
#{w\ 1473}#
#f)
#{ls\ 1472}#)
#{w\ 1473}#)
(if (#{id?\ 1297}# #{vars\ 1471}#)
(cons (#{wrap\ 1325}#
#{vars\ 1471}#
#{w\ 1473}#
#f)
#{ls\ 1472}#)
(if (null? #{vars\ 1471}#)
#{ls\ 1472}#
(if (#{syntax-object?\ 1281}# #{vars\ 1471}#)
(#{lvl\ 1470}#
(#{syntax-object-expression\ 1282}#
#{vars\ 1471}#)
#{ls\ 1472}#
(#{join-wraps\ 1316}#
#{w\ 1473}#
(#{syntax-object-wrap\ 1283}#
#{vars\ 1471}#)))
(cons #{vars\ 1471}# #{ls\ 1472}#))))))))
(#{lvl\ 1470}#
#{vars\ 1469}#
'()
'(())))))
(#{gen-var\ 1344}#
(lambda (#{id\ 1474}#)
(let ((#{id\ 1475}#
(if (#{syntax-object?\ 1281}# #{id\ 1474}#)
(#{syntax-object-expression\ 1282}# #{id\ 1474}#)
#{id\ 1474}#)))
(gensym
(string-append (symbol->string #{id\ 1475}#) " ")))))
(#{strip\ 1343}#
(lambda (#{x\ 1476}# #{w\ 1477}#)
(if (memq 'top
(#{wrap-marks\ 1300}# #{w\ 1477}#))
#{x\ 1476}#
(letrec ((#{f\ 1478}#
(lambda (#{x\ 1479}#)
(if (#{syntax-object?\ 1281}# #{x\ 1479}#)
(#{strip\ 1343}#
(#{syntax-object-expression\ 1282}#
#{x\ 1479}#)
(#{syntax-object-wrap\ 1283}# #{x\ 1479}#))
(if (pair? #{x\ 1479}#)
(let ((#{a\ 1480}#
(#{f\ 1478}# (car #{x\ 1479}#)))
(#{d\ 1481}#
(#{f\ 1478}# (cdr #{x\ 1479}#))))
(if (if (eq? #{a\ 1480}# (car #{x\ 1479}#))
(eq? #{d\ 1481}# (cdr #{x\ 1479}#))
#f)
#{x\ 1479}#
(cons #{a\ 1480}# #{d\ 1481}#)))
(if (vector? #{x\ 1479}#)
(let ((#{old\ 1482}#
(vector->list #{x\ 1479}#)))
(let ((#{new\ 1483}#
(map #{f\ 1478}# #{old\ 1482}#)))
(if (#{and-map*\ 1199}#
eq?
#{old\ 1482}#
#{new\ 1483}#)
#{x\ 1479}#
(list->vector #{new\ 1483}#))))
#{x\ 1479}#))))))
(#{f\ 1478}# #{x\ 1476}#)))))
(#{ellipsis?\ 1342}#
(lambda (#{x\ 1484}#)
(if (#{nonsymbol-id?\ 1296}# #{x\ 1484}#)
(#{free-id=?\ 1320}#
#{x\ 1484}#
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
#f)))
(#{chi-void\ 1341}#
(lambda () (#{build-void\ 1263}# #f)))
(#{eval-local-transformer\ 1340}#
(lambda (#{expanded\ 1485}# #{mod\ 1486}#)
(let ((#{p\ 1487}#
(#{local-eval-hook\ 1259}#
#{expanded\ 1485}#
#{mod\ 1486}#)))
(if (procedure? #{p\ 1487}#)
#{p\ 1487}#
(syntax-violation
#f
"nonprocedure transformer"
#{p\ 1487}#)))))
(#{chi-local-syntax\ 1339}#
(lambda (#{rec?\ 1488}#
#{e\ 1489}#
#{r\ 1490}#
#{w\ 1491}#
#{s\ 1492}#
#{mod\ 1493}#
#{k\ 1494}#)
((lambda (#{tmp\ 1495}#)
((lambda (#{tmp\ 1496}#)
(if #{tmp\ 1496}#
(apply (lambda (#{_\ 1497}#
#{id\ 1498}#
#{val\ 1499}#
#{e1\ 1500}#
#{e2\ 1501}#)
(let ((#{ids\ 1502}# #{id\ 1498}#))
(if (not (#{valid-bound-ids?\ 1322}#
#{ids\ 1502}#))
(syntax-violation
#f
"duplicate bound keyword"
#{e\ 1489}#)
(let ((#{labels\ 1504}#
(#{gen-labels\ 1303}#
#{ids\ 1502}#)))
(let ((#{new-w\ 1505}#
(#{make-binding-wrap\ 1314}#
#{ids\ 1502}#
#{labels\ 1504}#
#{w\ 1491}#)))
(#{k\ 1494}#
(cons #{e1\ 1500}# #{e2\ 1501}#)
(#{extend-env\ 1291}#
#{labels\ 1504}#
(let ((#{w\ 1507}#
(if #{rec?\ 1488}#
#{new-w\ 1505}#
#{w\ 1491}#))
(#{trans-r\ 1508}#
(#{macros-only-env\ 1293}#
#{r\ 1490}#)))
(map (lambda (#{x\ 1509}#)
(cons 'macro
(#{eval-local-transformer\ 1340}#
(#{chi\ 1333}#
#{x\ 1509}#
#{trans-r\ 1508}#
#{w\ 1507}#
#{mod\ 1493}#)
#{mod\ 1493}#)))
#{val\ 1499}#))
#{r\ 1490}#)
#{new-w\ 1505}#
#{s\ 1492}#
#{mod\ 1493}#))))))
#{tmp\ 1496}#)
((lambda (#{_\ 1511}#)
(syntax-violation
#f
"bad local syntax definition"
(#{source-wrap\ 1326}#
#{e\ 1489}#
#{w\ 1491}#
#{s\ 1492}#
#{mod\ 1493}#)))
#{tmp\ 1495}#)))
($sc-dispatch
#{tmp\ 1495}#
'(any #(each (any any)) any . each-any))))
#{e\ 1489}#)))
(#{chi-lambda-clause\ 1338}#
(lambda (#{e\ 1512}#
#{docstring\ 1513}#
#{c\ 1514}#
#{r\ 1515}#
#{w\ 1516}#
#{mod\ 1517}#
#{k\ 1518}#)
((lambda (#{tmp\ 1519}#)
((lambda (#{tmp\ 1520}#)
(if (if #{tmp\ 1520}#
(apply (lambda (#{args\ 1521}#
#{doc\ 1522}#
#{e1\ 1523}#
#{e2\ 1524}#)
(if (string? (syntax->datum #{doc\ 1522}#))
(not #{docstring\ 1513}#)
#f))
#{tmp\ 1520}#)
#f)
(apply (lambda (#{args\ 1525}#
#{doc\ 1526}#
#{e1\ 1527}#
#{e2\ 1528}#)
(#{chi-lambda-clause\ 1338}#
#{e\ 1512}#
#{doc\ 1526}#
(cons #{args\ 1525}#
(cons #{e1\ 1527}# #{e2\ 1528}#))
#{r\ 1515}#
#{w\ 1516}#
#{mod\ 1517}#
#{k\ 1518}#))
#{tmp\ 1520}#)
((lambda (#{tmp\ 1530}#)
(if #{tmp\ 1530}#
(apply (lambda (#{id\ 1531}#
#{e1\ 1532}#
#{e2\ 1533}#)
(let ((#{ids\ 1534}# #{id\ 1531}#))
(if (not (#{valid-bound-ids?\ 1322}#
#{ids\ 1534}#))
(syntax-violation
'lambda
"invalid parameter list"
#{e\ 1512}#)
(let ((#{labels\ 1536}#
(#{gen-labels\ 1303}#
#{ids\ 1534}#))
(#{new-vars\ 1537}#
(map #{gen-var\ 1344}#
#{ids\ 1534}#)))
(#{k\ 1518}#
(map syntax->datum #{ids\ 1534}#)
#{new-vars\ 1537}#
(if #{docstring\ 1513}#
(syntax->datum
#{docstring\ 1513}#)
#f)
(#{chi-body\ 1337}#
(cons #{e1\ 1532}# #{e2\ 1533}#)
#{e\ 1512}#
(#{extend-var-env\ 1292}#
#{labels\ 1536}#
#{new-vars\ 1537}#
#{r\ 1515}#)
(#{make-binding-wrap\ 1314}#
#{ids\ 1534}#
#{labels\ 1536}#
#{w\ 1516}#)
#{mod\ 1517}#))))))
#{tmp\ 1530}#)
((lambda (#{tmp\ 1539}#)
(if #{tmp\ 1539}#
(apply (lambda (#{ids\ 1540}#
#{e1\ 1541}#
#{e2\ 1542}#)
(let ((#{old-ids\ 1543}#
(#{lambda-var-list\ 1345}#
#{ids\ 1540}#)))
(if (not (#{valid-bound-ids?\ 1322}#
#{old-ids\ 1543}#))
(syntax-violation
'lambda
"invalid parameter list"
#{e\ 1512}#)
(let ((#{labels\ 1544}#
(#{gen-labels\ 1303}#
#{old-ids\ 1543}#))
(#{new-vars\ 1545}#
(map #{gen-var\ 1344}#
#{old-ids\ 1543}#)))
(#{k\ 1518}#
(letrec ((#{f\ 1546}#
(lambda (#{ls1\ 1547}#
#{ls2\ 1548}#)
(if (null? #{ls1\ 1547}#)
(syntax->datum
#{ls2\ 1548}#)
(#{f\ 1546}#
(cdr #{ls1\ 1547}#)
(cons (syntax->datum
(car #{ls1\ 1547}#))
#{ls2\ 1548}#))))))
(#{f\ 1546}#
(cdr #{old-ids\ 1543}#)
(car #{old-ids\ 1543}#)))
(letrec ((#{f\ 1549}#
(lambda (#{ls1\ 1550}#
#{ls2\ 1551}#)
(if (null? #{ls1\ 1550}#)
#{ls2\ 1551}#
(#{f\ 1549}#
(cdr #{ls1\ 1550}#)
(cons (car #{ls1\ 1550}#)
#{ls2\ 1551}#))))))
(#{f\ 1549}#
(cdr #{new-vars\ 1545}#)
(car #{new-vars\ 1545}#)))
(if #{docstring\ 1513}#
(syntax->datum
#{docstring\ 1513}#)
#f)
(#{chi-body\ 1337}#
(cons #{e1\ 1541}#
#{e2\ 1542}#)
#{e\ 1512}#
(#{extend-var-env\ 1292}#
#{labels\ 1544}#
#{new-vars\ 1545}#
#{r\ 1515}#)
(#{make-binding-wrap\ 1314}#
#{old-ids\ 1543}#
#{labels\ 1544}#
#{w\ 1516}#)
#{mod\ 1517}#))))))
#{tmp\ 1539}#)
((lambda (#{_\ 1553}#)
(syntax-violation
'lambda
"bad lambda"
#{e\ 1512}#))
#{tmp\ 1519}#)))
($sc-dispatch
#{tmp\ 1519}#
'(any any . each-any)))))
($sc-dispatch
#{tmp\ 1519}#
'(each-any any . each-any)))))
($sc-dispatch
#{tmp\ 1519}#
'(any any any . each-any))))
#{c\ 1514}#)))
(#{chi-body\ 1337}#
(lambda (#{body\ 1554}#
#{outer-form\ 1555}#
#{r\ 1556}#
#{w\ 1557}#
#{mod\ 1558}#)
(let ((#{r\ 1559}#
(cons '("placeholder" placeholder)
#{r\ 1556}#)))
(let ((#{ribcage\ 1560}#
(#{make-ribcage\ 1304}#
'()
'()
'())))
(let ((#{w\ 1561}#
(#{make-wrap\ 1299}#
(#{wrap-marks\ 1300}# #{w\ 1557}#)
(cons #{ribcage\ 1560}#
(#{wrap-subst\ 1301}# #{w\ 1557}#)))))
(letrec ((#{parse\ 1562}#
(lambda (#{body\ 1563}#
#{ids\ 1564}#
#{labels\ 1565}#
#{var-ids\ 1566}#
#{vars\ 1567}#
#{vals\ 1568}#
#{bindings\ 1569}#)
(if (null? #{body\ 1563}#)
(syntax-violation
#f
"no expressions in body"
#{outer-form\ 1555}#)
(let ((#{e\ 1571}# (cdar #{body\ 1563}#))
(#{er\ 1572}# (caar #{body\ 1563}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 1331}#
#{e\ 1571}#
#{er\ 1572}#
'(())
(#{source-annotation\ 1288}#
#{er\ 1572}#)
#{ribcage\ 1560}#
#{mod\ 1558}#
#f))
(lambda (#{type\ 1573}#
#{value\ 1574}#
#{e\ 1575}#
#{w\ 1576}#
#{s\ 1577}#
#{mod\ 1578}#)
(if (memv #{type\ 1573}#
'(define-form))
(let ((#{id\ 1579}#
(#{wrap\ 1325}#
#{value\ 1574}#
#{w\ 1576}#
#{mod\ 1578}#))
(#{label\ 1580}#
(#{gen-label\ 1302}#)))
(let ((#{var\ 1581}#
(#{gen-var\ 1344}#
#{id\ 1579}#)))
(begin
(#{extend-ribcage!\ 1313}#
#{ribcage\ 1560}#
#{id\ 1579}#
#{label\ 1580}#)
(#{parse\ 1562}#
(cdr #{body\ 1563}#)
(cons #{id\ 1579}#
#{ids\ 1564}#)
(cons #{label\ 1580}#
#{labels\ 1565}#)
(cons #{id\ 1579}#
#{var-ids\ 1566}#)
(cons #{var\ 1581}#
#{vars\ 1567}#)
(cons (cons #{er\ 1572}#
(#{wrap\ 1325}#
#{e\ 1575}#
#{w\ 1576}#
#{mod\ 1578}#))
#{vals\ 1568}#)
(cons (cons 'lexical
#{var\ 1581}#)
#{bindings\ 1569}#)))))
(if (memv #{type\ 1573}#
'(define-syntax-form))
(let ((#{id\ 1582}#
(#{wrap\ 1325}#
#{value\ 1574}#
#{w\ 1576}#
#{mod\ 1578}#))
(#{label\ 1583}#
(#{gen-label\ 1302}#)))
(begin
(#{extend-ribcage!\ 1313}#
#{ribcage\ 1560}#
#{id\ 1582}#
#{label\ 1583}#)
(#{parse\ 1562}#
(cdr #{body\ 1563}#)
(cons #{id\ 1582}#
#{ids\ 1564}#)
(cons #{label\ 1583}#
#{labels\ 1565}#)
#{var-ids\ 1566}#
#{vars\ 1567}#
#{vals\ 1568}#
(cons (cons 'macro
(cons #{er\ 1572}#
(#{wrap\ 1325}#
#{e\ 1575}#
#{w\ 1576}#
#{mod\ 1578}#)))
#{bindings\ 1569}#))))
(if (memv #{type\ 1573}#
'(begin-form))
((lambda (#{tmp\ 1584}#)
((lambda (#{tmp\ 1585}#)
(if #{tmp\ 1585}#
(apply (lambda (#{_\ 1586}#
#{e1\ 1587}#)
(#{parse\ 1562}#
(letrec ((#{f\ 1588}#
(lambda (#{forms\ 1589}#)
(if (null? #{forms\ 1589}#)
(cdr #{body\ 1563}#)
(cons (cons #{er\ 1572}#
(#{wrap\ 1325}#
(car #{forms\ 1589}#)
#{w\ 1576}#
#{mod\ 1578}#))
(#{f\ 1588}#
(cdr #{forms\ 1589}#)))))))
(#{f\ 1588}#
#{e1\ 1587}#))
#{ids\ 1564}#
#{labels\ 1565}#
#{var-ids\ 1566}#
#{vars\ 1567}#
#{vals\ 1568}#
#{bindings\ 1569}#))
#{tmp\ 1585}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1584}#)))
($sc-dispatch
#{tmp\ 1584}#
'(any . each-any))))
#{e\ 1575}#)
(if (memv #{type\ 1573}#
'(local-syntax-form))
(#{chi-local-syntax\ 1339}#
#{value\ 1574}#
#{e\ 1575}#
#{er\ 1572}#
#{w\ 1576}#
#{s\ 1577}#
#{mod\ 1578}#
(lambda (#{forms\ 1591}#
#{er\ 1592}#
#{w\ 1593}#
#{s\ 1594}#
#{mod\ 1595}#)
(#{parse\ 1562}#
(letrec ((#{f\ 1596}#
(lambda (#{forms\ 1597}#)
(if (null? #{forms\ 1597}#)
(cdr #{body\ 1563}#)
(cons (cons #{er\ 1592}#
(#{wrap\ 1325}#
(car #{forms\ 1597}#)
#{w\ 1593}#
#{mod\ 1595}#))
(#{f\ 1596}#
(cdr #{forms\ 1597}#)))))))
(#{f\ 1596}#
#{forms\ 1591}#))
#{ids\ 1564}#
#{labels\ 1565}#
#{var-ids\ 1566}#
#{vars\ 1567}#
#{vals\ 1568}#
#{bindings\ 1569}#)))
(if (null? #{ids\ 1564}#)
(#{build-sequence\ 1276}#
#f
(map (lambda (#{x\ 1598}#)
(#{chi\ 1333}#
(cdr #{x\ 1598}#)
(car #{x\ 1598}#)
'(())
#{mod\ 1578}#))
(cons (cons #{er\ 1572}#
(#{source-wrap\ 1326}#
#{e\ 1575}#
#{w\ 1576}#
#{s\ 1577}#
#{mod\ 1578}#))
(cdr #{body\ 1563}#))))
(begin
(if (not (#{valid-bound-ids?\ 1322}#
#{ids\ 1564}#))
(syntax-violation
#f
"invalid or duplicate identifier in definition"
#{outer-form\ 1555}#))
(letrec ((#{loop\ 1599}#
(lambda (#{bs\ 1600}#
#{er-cache\ 1601}#
#{r-cache\ 1602}#)
(if (not (null? #{bs\ 1600}#))
(let ((#{b\ 1603}#
(car #{bs\ 1600}#)))
(if (eq? (car #{b\ 1603}#)
'macro)
(let ((#{er\ 1604}#
(cadr #{b\ 1603}#)))
(let ((#{r-cache\ 1605}#
(if (eq? #{er\ 1604}#
#{er-cache\ 1601}#)
#{r-cache\ 1602}#
(#{macros-only-env\ 1293}#
#{er\ 1604}#))))
(begin
(set-cdr!
#{b\ 1603}#
(#{eval-local-transformer\ 1340}#
(#{chi\ 1333}#
(cddr #{b\ 1603}#)
#{r-cache\ 1605}#
'(())
#{mod\ 1578}#)
#{mod\ 1578}#))
(#{loop\ 1599}#
(cdr #{bs\ 1600}#)
#{er\ 1604}#
#{r-cache\ 1605}#))))
(#{loop\ 1599}#
(cdr #{bs\ 1600}#)
#{er-cache\ 1601}#
#{r-cache\ 1602}#)))))))
(#{loop\ 1599}#
#{bindings\ 1569}#
#f
#f))
(set-cdr!
#{r\ 1559}#
(#{extend-env\ 1291}#
#{labels\ 1565}#
#{bindings\ 1569}#
(cdr #{r\ 1559}#)))
(#{build-letrec\ 1279}#
#f
(map syntax->datum
#{var-ids\ 1566}#)
#{vars\ 1567}#
(map (lambda (#{x\ 1606}#)
(#{chi\ 1333}#
(cdr #{x\ 1606}#)
(car #{x\ 1606}#)
'(())
#{mod\ 1578}#))
#{vals\ 1568}#)
(#{build-sequence\ 1276}#
#f
(map (lambda (#{x\ 1607}#)
(#{chi\ 1333}#
(cdr #{x\ 1607}#)
(car #{x\ 1607}#)
'(())
#{mod\ 1578}#))
(cons (cons #{er\ 1572}#
(#{source-wrap\ 1326}#
#{e\ 1575}#
#{w\ 1576}#
#{s\ 1577}#
#{mod\ 1578}#))
(cdr #{body\ 1563}#))))))))))))))))))
(#{parse\ 1562}#
(map (lambda (#{x\ 1570}#)
(cons #{r\ 1559}#
(#{wrap\ 1325}#
#{x\ 1570}#
#{w\ 1561}#
#{mod\ 1558}#)))
#{body\ 1554}#)
'()
'()
'()
'()
'()
'())))))))
(#{chi-macro\ 1336}#
(lambda (#{p\ 1608}#
#{e\ 1609}#
#{r\ 1610}#
#{w\ 1611}#
#{rib\ 1612}#
#{mod\ 1613}#)
(letrec ((#{rebuild-macro-output\ 1614}#
(lambda (#{x\ 1615}# #{m\ 1616}#)
(if (pair? #{x\ 1615}#)
(cons (#{rebuild-macro-output\ 1614}#
(car #{x\ 1615}#)
#{m\ 1616}#)
(#{rebuild-macro-output\ 1614}#
(cdr #{x\ 1615}#)
#{m\ 1616}#))
(if (#{syntax-object?\ 1281}# #{x\ 1615}#)
(let ((#{w\ 1617}#
(#{syntax-object-wrap\ 1283}#
#{x\ 1615}#)))
(let ((#{ms\ 1618}#
(#{wrap-marks\ 1300}# #{w\ 1617}#))
(#{s\ 1619}#
(#{wrap-subst\ 1301}# #{w\ 1617}#)))
(if (if (pair? #{ms\ 1618}#)
(eq? (car #{ms\ 1618}#) #f)
#f)
(#{make-syntax-object\ 1280}#
(#{syntax-object-expression\ 1282}#
#{x\ 1615}#)
(#{make-wrap\ 1299}#
(cdr #{ms\ 1618}#)
(if #{rib\ 1612}#
(cons #{rib\ 1612}#
(cdr #{s\ 1619}#))
(cdr #{s\ 1619}#)))
(#{syntax-object-module\ 1284}#
#{x\ 1615}#))
(#{make-syntax-object\ 1280}#
(#{syntax-object-expression\ 1282}#
#{x\ 1615}#)
(#{make-wrap\ 1299}#
(cons #{m\ 1616}# #{ms\ 1618}#)
(if #{rib\ 1612}#
(cons #{rib\ 1612}#
(cons 'shift
#{s\ 1619}#))
(cons (quote shift) #{s\ 1619}#)))
(let ((#{pmod\ 1620}#
(procedure-module
#{p\ 1608}#)))
(if #{pmod\ 1620}#
(cons 'hygiene
(module-name #{pmod\ 1620}#))
'(hygiene guile)))))))
(if (vector? #{x\ 1615}#)
(let ((#{n\ 1621}#
(vector-length #{x\ 1615}#)))
(let ((#{v\ 1622}#
(make-vector #{n\ 1621}#)))
(letrec ((#{loop\ 1623}#
(lambda (#{i\ 1624}#)
(if (#{fx=\ 1256}#
#{i\ 1624}#
#{n\ 1621}#)
(begin
(if #f #f)
#{v\ 1622}#)
(begin
(vector-set!
#{v\ 1622}#
#{i\ 1624}#
(#{rebuild-macro-output\ 1614}#
(vector-ref
#{x\ 1615}#
#{i\ 1624}#)
#{m\ 1616}#))
(#{loop\ 1623}#
(#{fx+\ 1254}#
#{i\ 1624}#
1)))))))
(#{loop\ 1623}# 0))))
(if (symbol? #{x\ 1615}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
(#{source-wrap\ 1326}#
#{e\ 1609}#
#{w\ 1611}#
s
#{mod\ 1613}#)
#{x\ 1615}#)
#{x\ 1615}#)))))))
(#{rebuild-macro-output\ 1614}#
(#{p\ 1608}#
(#{wrap\ 1325}#
#{e\ 1609}#
(#{anti-mark\ 1312}# #{w\ 1611}#)
#{mod\ 1613}#))
(string #\m)))))
(#{chi-application\ 1335}#
(lambda (#{x\ 1625}#
#{e\ 1626}#
#{r\ 1627}#
#{w\ 1628}#
#{s\ 1629}#
#{mod\ 1630}#)
((lambda (#{tmp\ 1631}#)
((lambda (#{tmp\ 1632}#)
(if #{tmp\ 1632}#
(apply (lambda (#{e0\ 1633}# #{e1\ 1634}#)
(#{build-application\ 1264}#
#{s\ 1629}#
#{x\ 1625}#
(map (lambda (#{e\ 1635}#)
(#{chi\ 1333}#
#{e\ 1635}#
#{r\ 1627}#
#{w\ 1628}#
#{mod\ 1630}#))
#{e1\ 1634}#)))
#{tmp\ 1632}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1631}#)))
($sc-dispatch
#{tmp\ 1631}#
'(any . each-any))))
#{e\ 1626}#)))
(#{chi-expr\ 1334}#
(lambda (#{type\ 1637}#
#{value\ 1638}#
#{e\ 1639}#
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
(if (memv #{type\ 1637}# (quote (lexical)))
(#{build-lexical-reference\ 1266}#
'value
#{s\ 1642}#
#{e\ 1639}#
#{value\ 1638}#)
(if (memv #{type\ 1637}# (quote (core core-form)))
(#{value\ 1638}#
#{e\ 1639}#
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
(if (memv #{type\ 1637}# (quote (module-ref)))
(call-with-values
(lambda () (#{value\ 1638}# #{e\ 1639}#))
(lambda (#{id\ 1644}# #{mod\ 1645}#)
(#{build-global-reference\ 1269}#
#{s\ 1642}#
#{id\ 1644}#
#{mod\ 1645}#)))
(if (memv #{type\ 1637}# (quote (lexical-call)))
(#{chi-application\ 1335}#
(#{build-lexical-reference\ 1266}#
'fun
(#{source-annotation\ 1288}# (car #{e\ 1639}#))
(car #{e\ 1639}#)
#{value\ 1638}#)
#{e\ 1639}#
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
(if (memv #{type\ 1637}# (quote (global-call)))
(#{chi-application\ 1335}#
(#{build-global-reference\ 1269}#
(#{source-annotation\ 1288}# (car #{e\ 1639}#))
(if (#{syntax-object?\ 1281}# #{value\ 1638}#)
(#{syntax-object-expression\ 1282}#
#{value\ 1638}#)
#{value\ 1638}#)
(if (#{syntax-object?\ 1281}# #{value\ 1638}#)
(#{syntax-object-module\ 1284}# #{value\ 1638}#)
#{mod\ 1643}#))
#{e\ 1639}#
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
(if (memv #{type\ 1637}# (quote (constant)))
(#{build-data\ 1275}#
#{s\ 1642}#
(#{strip\ 1343}#
(#{source-wrap\ 1326}#
#{e\ 1639}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
'(())))
(if (memv #{type\ 1637}# (quote (global)))
(#{build-global-reference\ 1269}#
#{s\ 1642}#
#{value\ 1638}#
#{mod\ 1643}#)
(if (memv #{type\ 1637}# (quote (call)))
(#{chi-application\ 1335}#
(#{chi\ 1333}#
(car #{e\ 1639}#)
#{r\ 1640}#
#{w\ 1641}#
#{mod\ 1643}#)
#{e\ 1639}#
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
(if (memv #{type\ 1637}# (quote (begin-form)))
((lambda (#{tmp\ 1646}#)
((lambda (#{tmp\ 1647}#)
(if #{tmp\ 1647}#
(apply (lambda (#{_\ 1648}#
#{e1\ 1649}#
#{e2\ 1650}#)
(#{chi-sequence\ 1327}#
(cons #{e1\ 1649}#
#{e2\ 1650}#)
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#))
#{tmp\ 1647}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1646}#)))
($sc-dispatch
#{tmp\ 1646}#
'(any any . each-any))))
#{e\ 1639}#)
(if (memv #{type\ 1637}#
'(local-syntax-form))
(#{chi-local-syntax\ 1339}#
#{value\ 1638}#
#{e\ 1639}#
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#
#{chi-sequence\ 1327}#)
(if (memv #{type\ 1637}#
'(eval-when-form))
((lambda (#{tmp\ 1652}#)
((lambda (#{tmp\ 1653}#)
(if #{tmp\ 1653}#
(apply (lambda (#{_\ 1654}#
#{x\ 1655}#
#{e1\ 1656}#
#{e2\ 1657}#)
(let ((#{when-list\ 1658}#
(#{chi-when-list\ 1330}#
#{e\ 1639}#
#{x\ 1655}#
#{w\ 1641}#)))
(if (memq 'eval
#{when-list\ 1658}#)
(#{chi-sequence\ 1327}#
(cons #{e1\ 1656}#
#{e2\ 1657}#)
#{r\ 1640}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#)
(#{chi-void\ 1341}#))))
#{tmp\ 1653}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1652}#)))
($sc-dispatch
#{tmp\ 1652}#
'(any each-any any . each-any))))
#{e\ 1639}#)
(if (memv #{type\ 1637}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
#{e\ 1639}#
(#{wrap\ 1325}#
#{value\ 1638}#
#{w\ 1641}#
#{mod\ 1643}#))
(if (memv #{type\ 1637}#
'(syntax))
(syntax-violation
#f
"reference to pattern variable outside syntax form"
(#{source-wrap\ 1326}#
#{e\ 1639}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#))
(if (memv #{type\ 1637}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside its scope"
(#{source-wrap\ 1326}#
#{e\ 1639}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#))
(syntax-violation
#f
"unexpected syntax"
(#{source-wrap\ 1326}#
#{e\ 1639}#
#{w\ 1641}#
#{s\ 1642}#
#{mod\ 1643}#))))))))))))))))))
(#{chi\ 1333}#
(lambda (#{e\ 1661}#
#{r\ 1662}#
#{w\ 1663}#
#{mod\ 1664}#)
(call-with-values
(lambda ()
(#{syntax-type\ 1331}#
#{e\ 1661}#
#{r\ 1662}#
#{w\ 1663}#
(#{source-annotation\ 1288}# #{e\ 1661}#)
#f
#{mod\ 1664}#
#f))
(lambda (#{type\ 1665}#
#{value\ 1666}#
#{e\ 1667}#
#{w\ 1668}#
#{s\ 1669}#
#{mod\ 1670}#)
(#{chi-expr\ 1334}#
#{type\ 1665}#
#{value\ 1666}#
#{e\ 1667}#
#{r\ 1662}#
#{w\ 1668}#
#{s\ 1669}#
#{mod\ 1670}#)))))
(#{chi-top\ 1332}#
(lambda (#{e\ 1671}#
#{r\ 1672}#
#{w\ 1673}#
#{m\ 1674}#
#{esew\ 1675}#
#{mod\ 1676}#)
(call-with-values
(lambda ()
(#{syntax-type\ 1331}#
#{e\ 1671}#
#{r\ 1672}#
#{w\ 1673}#
(#{source-annotation\ 1288}# #{e\ 1671}#)
#f
#{mod\ 1676}#
#f))
(lambda (#{type\ 1684}#
#{value\ 1685}#
#{e\ 1686}#
#{w\ 1687}#
#{s\ 1688}#
#{mod\ 1689}#)
(if (memv #{type\ 1684}# (quote (begin-form)))
((lambda (#{tmp\ 1690}#)
((lambda (#{tmp\ 1691}#)
(if #{tmp\ 1691}#
(apply (lambda (#{_\ 1692}#) (#{chi-void\ 1341}#))
#{tmp\ 1691}#)
((lambda (#{tmp\ 1693}#)
(if #{tmp\ 1693}#
(apply (lambda (#{_\ 1694}#
#{e1\ 1695}#
#{e2\ 1696}#)
(#{chi-top-sequence\ 1328}#
(cons #{e1\ 1695}# #{e2\ 1696}#)
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
#{m\ 1674}#
#{esew\ 1675}#
#{mod\ 1689}#))
#{tmp\ 1693}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1690}#)))
($sc-dispatch
#{tmp\ 1690}#
'(any any . each-any)))))
($sc-dispatch #{tmp\ 1690}# (quote (any)))))
#{e\ 1686}#)
(if (memv #{type\ 1684}# (quote (local-syntax-form)))
(#{chi-local-syntax\ 1339}#
#{value\ 1685}#
#{e\ 1686}#
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
#{mod\ 1689}#
(lambda (#{body\ 1698}#
#{r\ 1699}#
#{w\ 1700}#
#{s\ 1701}#
#{mod\ 1702}#)
(#{chi-top-sequence\ 1328}#
#{body\ 1698}#
#{r\ 1699}#
#{w\ 1700}#
#{s\ 1701}#
#{m\ 1674}#
#{esew\ 1675}#
#{mod\ 1702}#)))
(if (memv #{type\ 1684}# (quote (eval-when-form)))
((lambda (#{tmp\ 1703}#)
((lambda (#{tmp\ 1704}#)
(if #{tmp\ 1704}#
(apply (lambda (#{_\ 1705}#
#{x\ 1706}#
#{e1\ 1707}#
#{e2\ 1708}#)
(let ((#{when-list\ 1709}#
(#{chi-when-list\ 1330}#
#{e\ 1686}#
#{x\ 1706}#
#{w\ 1687}#))
(#{body\ 1710}#
(cons #{e1\ 1707}#
#{e2\ 1708}#)))
(if (eq? #{m\ 1674}# (quote e))
(if (memq 'eval
#{when-list\ 1709}#)
(#{chi-top-sequence\ 1328}#
#{body\ 1710}#
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
'e
'(eval)
#{mod\ 1689}#)
(#{chi-void\ 1341}#))
(if (memq 'load
#{when-list\ 1709}#)
(if (let ((#{t\ 1713}#
(memq 'compile
#{when-list\ 1709}#)))
(if #{t\ 1713}#
#{t\ 1713}#
(if (eq? #{m\ 1674}#
'c&e)
(memq 'eval
#{when-list\ 1709}#)
#f)))
(#{chi-top-sequence\ 1328}#
#{body\ 1710}#
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
'c&e
'(compile load)
#{mod\ 1689}#)
(if (memq #{m\ 1674}#
'(c c&e))
(#{chi-top-sequence\ 1328}#
#{body\ 1710}#
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
'c
'(load)
#{mod\ 1689}#)
(#{chi-void\ 1341}#)))
(if (let ((#{t\ 1714}#
(memq 'compile
#{when-list\ 1709}#)))
(if #{t\ 1714}#
#{t\ 1714}#
(if (eq? #{m\ 1674}#
'c&e)
(memq 'eval
#{when-list\ 1709}#)
#f)))
(begin
(#{top-level-eval-hook\ 1258}#
(#{chi-top-sequence\ 1328}#
#{body\ 1710}#
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
'e
'(eval)
#{mod\ 1689}#)
#{mod\ 1689}#)
(#{chi-void\ 1341}#))
(#{chi-void\ 1341}#))))))
#{tmp\ 1704}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1703}#)))
($sc-dispatch
#{tmp\ 1703}#
'(any each-any any . each-any))))
#{e\ 1686}#)
(if (memv #{type\ 1684}#
'(define-syntax-form))
(let ((#{n\ 1715}#
(#{id-var-name\ 1319}#
#{value\ 1685}#
#{w\ 1687}#))
(#{r\ 1716}#
(#{macros-only-env\ 1293}# #{r\ 1672}#)))
(if (memv #{m\ 1674}# (quote (c)))
(if (memq (quote compile) #{esew\ 1675}#)
(let ((#{e\ 1717}#
(#{chi-install-global\ 1329}#
#{n\ 1715}#
(#{chi\ 1333}#
#{e\ 1686}#
#{r\ 1716}#
#{w\ 1687}#
#{mod\ 1689}#))))
(begin
(#{top-level-eval-hook\ 1258}#
#{e\ 1717}#
#{mod\ 1689}#)
(if (memq (quote load) #{esew\ 1675}#)
#{e\ 1717}#
(#{chi-void\ 1341}#))))
(if (memq (quote load) #{esew\ 1675}#)
(#{chi-install-global\ 1329}#
#{n\ 1715}#
(#{chi\ 1333}#
#{e\ 1686}#
#{r\ 1716}#
#{w\ 1687}#
#{mod\ 1689}#))
(#{chi-void\ 1341}#)))
(if (memv #{m\ 1674}# (quote (c&e)))
(let ((#{e\ 1718}#
(#{chi-install-global\ 1329}#
#{n\ 1715}#
(#{chi\ 1333}#
#{e\ 1686}#
#{r\ 1716}#
#{w\ 1687}#
#{mod\ 1689}#))))
(begin
(#{top-level-eval-hook\ 1258}#
#{e\ 1718}#
#{mod\ 1689}#)
#{e\ 1718}#))
(begin
(if (memq (quote eval) #{esew\ 1675}#)
(#{top-level-eval-hook\ 1258}#
(#{chi-install-global\ 1329}#
#{n\ 1715}#
(#{chi\ 1333}#
#{e\ 1686}#
#{r\ 1716}#
#{w\ 1687}#
#{mod\ 1689}#))
#{mod\ 1689}#))
(#{chi-void\ 1341}#)))))
(if (memv #{type\ 1684}# (quote (define-form)))
(let ((#{n\ 1719}#
(#{id-var-name\ 1319}#
#{value\ 1685}#
#{w\ 1687}#)))
(let ((#{type\ 1720}#
(#{binding-type\ 1289}#
(#{lookup\ 1294}#
#{n\ 1719}#
#{r\ 1672}#
#{mod\ 1689}#))))
(if (memv #{type\ 1720}#
'(global core macro module-ref))
(begin
(if (if (not (module-local-variable
(current-module)
#{n\ 1719}#))
(current-module)
#f)
(let ((#{old\ 1721}#
(module-variable
(current-module)
#{n\ 1719}#)))
(module-define!
(current-module)
#{n\ 1719}#
(if (variable? #{old\ 1721}#)
(variable-ref #{old\ 1721}#)
#f))))
(let ((#{x\ 1722}#
(#{build-global-definition\ 1272}#
#{s\ 1688}#
#{n\ 1719}#
(#{chi\ 1333}#
#{e\ 1686}#
#{r\ 1672}#
#{w\ 1687}#
#{mod\ 1689}#))))
(begin
(if (eq? #{m\ 1674}# (quote c&e))
(#{top-level-eval-hook\ 1258}#
#{x\ 1722}#
#{mod\ 1689}#))
#{x\ 1722}#)))
(if (memv #{type\ 1720}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
#{e\ 1686}#
(#{wrap\ 1325}#
#{value\ 1685}#
#{w\ 1687}#
#{mod\ 1689}#))
(syntax-violation
#f
"cannot define keyword at top level"
#{e\ 1686}#
(#{wrap\ 1325}#
#{value\ 1685}#
#{w\ 1687}#
#{mod\ 1689}#))))))
(let ((#{x\ 1723}#
(#{chi-expr\ 1334}#
#{type\ 1684}#
#{value\ 1685}#
#{e\ 1686}#
#{r\ 1672}#
#{w\ 1687}#
#{s\ 1688}#
#{mod\ 1689}#)))
(begin
(if (eq? #{m\ 1674}# (quote c&e))
(#{top-level-eval-hook\ 1258}#
#{x\ 1723}#
#{mod\ 1689}#))
#{x\ 1723}#)))))))))))
(#{syntax-type\ 1331}#
(lambda (#{e\ 1724}#
#{r\ 1725}#
#{w\ 1726}#
#{s\ 1727}#
#{rib\ 1728}#
#{mod\ 1729}#
#{for-car?\ 1730}#)
(if (symbol? #{e\ 1724}#)
(let ((#{n\ 1731}#
(#{id-var-name\ 1319}# #{e\ 1724}# #{w\ 1726}#)))
(let ((#{b\ 1732}#
(#{lookup\ 1294}#
#{n\ 1731}#
#{r\ 1725}#
#{mod\ 1729}#)))
(let ((#{type\ 1733}#
(#{binding-type\ 1289}# #{b\ 1732}#)))
(if (memv #{type\ 1733}# (quote (lexical)))
(values
#{type\ 1733}#
(#{binding-value\ 1290}# #{b\ 1732}#)
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{type\ 1733}# (quote (global)))
(values
#{type\ 1733}#
#{n\ 1731}#
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{type\ 1733}# (quote (macro)))
(if #{for-car?\ 1730}#
(values
#{type\ 1733}#
(#{binding-value\ 1290}# #{b\ 1732}#)
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(#{syntax-type\ 1331}#
(#{chi-macro\ 1336}#
(#{binding-value\ 1290}# #{b\ 1732}#)
#{e\ 1724}#
#{r\ 1725}#
#{w\ 1726}#
#{rib\ 1728}#
#{mod\ 1729}#)
#{r\ 1725}#
'(())
#{s\ 1727}#
#{rib\ 1728}#
#{mod\ 1729}#
#f))
(values
#{type\ 1733}#
(#{binding-value\ 1290}# #{b\ 1732}#)
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)))))))
(if (pair? #{e\ 1724}#)
(let ((#{first\ 1734}# (car #{e\ 1724}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 1331}#
#{first\ 1734}#
#{r\ 1725}#
#{w\ 1726}#
#{s\ 1727}#
#{rib\ 1728}#
#{mod\ 1729}#
#t))
(lambda (#{ftype\ 1735}#
#{fval\ 1736}#
#{fe\ 1737}#
#{fw\ 1738}#
#{fs\ 1739}#
#{fmod\ 1740}#)
(if (memv #{ftype\ 1735}# (quote (lexical)))
(values
'lexical-call
#{fval\ 1736}#
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{ftype\ 1735}# (quote (global)))
(values
'global-call
(#{make-syntax-object\ 1280}#
#{fval\ 1736}#
#{w\ 1726}#
#{fmod\ 1740}#)
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{ftype\ 1735}# (quote (macro)))
(#{syntax-type\ 1331}#
(#{chi-macro\ 1336}#
#{fval\ 1736}#
#{e\ 1724}#
#{r\ 1725}#
#{w\ 1726}#
#{rib\ 1728}#
#{mod\ 1729}#)
#{r\ 1725}#
'(())
#{s\ 1727}#
#{rib\ 1728}#
#{mod\ 1729}#
#{for-car?\ 1730}#)
(if (memv #{ftype\ 1735}# (quote (module-ref)))
(call-with-values
(lambda () (#{fval\ 1736}# #{e\ 1724}#))
(lambda (#{sym\ 1741}# #{mod\ 1742}#)
(#{syntax-type\ 1331}#
#{sym\ 1741}#
#{r\ 1725}#
#{w\ 1726}#
#{s\ 1727}#
#{rib\ 1728}#
#{mod\ 1742}#
#{for-car?\ 1730}#)))
(if (memv #{ftype\ 1735}# (quote (core)))
(values
'core-form
#{fval\ 1736}#
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{ftype\ 1735}#
'(local-syntax))
(values
'local-syntax-form
#{fval\ 1736}#
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{ftype\ 1735}# (quote (begin)))
(values
'begin-form
#f
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{ftype\ 1735}#
'(eval-when))
(values
'eval-when-form
#f
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(if (memv #{ftype\ 1735}#
'(define))
((lambda (#{tmp\ 1743}#)
((lambda (#{tmp\ 1744}#)
(if (if #{tmp\ 1744}#
(apply (lambda (#{_\ 1745}#
#{name\ 1746}#
#{val\ 1747}#)
(#{id?\ 1297}#
#{name\ 1746}#))
#{tmp\ 1744}#)
#f)
(apply (lambda (#{_\ 1748}#
#{name\ 1749}#
#{val\ 1750}#)
(values
'define-form
#{name\ 1749}#
#{val\ 1750}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#))
#{tmp\ 1744}#)
((lambda (#{tmp\ 1751}#)
(if (if #{tmp\ 1751}#
(apply (lambda (#{_\ 1752}#
#{name\ 1753}#
#{args\ 1754}#
#{e1\ 1755}#
#{e2\ 1756}#)
(if (#{id?\ 1297}#
#{name\ 1753}#)
(#{valid-bound-ids?\ 1322}#
(#{lambda-var-list\ 1345}#
#{args\ 1754}#))
#f))
#{tmp\ 1751}#)
#f)
(apply (lambda (#{_\ 1757}#
#{name\ 1758}#
#{args\ 1759}#
#{e1\ 1760}#
#{e2\ 1761}#)
(values
'define-form
(#{wrap\ 1325}#
#{name\ 1758}#
#{w\ 1726}#
#{mod\ 1729}#)
(#{decorate-source\ 1262}#
(cons '#(syntax-object
lambda
((top)
#(ribcage
#(_
name
args
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
(#{wrap\ 1325}#
(cons #{args\ 1759}#
(cons #{e1\ 1760}#
#{e2\ 1761}#))
#{w\ 1726}#
#{mod\ 1729}#))
#{s\ 1727}#)
'(())
#{s\ 1727}#
#{mod\ 1729}#))
#{tmp\ 1751}#)
((lambda (#{tmp\ 1763}#)
(if (if #{tmp\ 1763}#
(apply (lambda (#{_\ 1764}#
#{name\ 1765}#)
(#{id?\ 1297}#
#{name\ 1765}#))
#{tmp\ 1763}#)
#f)
(apply (lambda (#{_\ 1766}#
#{name\ 1767}#)
(values
'define-form
(#{wrap\ 1325}#
#{name\ 1767}#
#{w\ 1726}#
#{mod\ 1729}#)
'(#(syntax-object
if
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
#(syntax-object
#f
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
#(syntax-object
#f
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))
'(())
#{s\ 1727}#
#{mod\ 1729}#))
#{tmp\ 1763}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1743}#)))
($sc-dispatch
#{tmp\ 1743}#
'(any any)))))
($sc-dispatch
#{tmp\ 1743}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
#{tmp\ 1743}#
'(any any any))))
#{e\ 1724}#)
(if (memv #{ftype\ 1735}#
'(define-syntax))
((lambda (#{tmp\ 1768}#)
((lambda (#{tmp\ 1769}#)
(if (if #{tmp\ 1769}#
(apply (lambda (#{_\ 1770}#
#{name\ 1771}#
#{val\ 1772}#)
(#{id?\ 1297}#
#{name\ 1771}#))
#{tmp\ 1769}#)
#f)
(apply (lambda (#{_\ 1773}#
#{name\ 1774}#
#{val\ 1775}#)
(values
'define-syntax-form
#{name\ 1774}#
#{val\ 1775}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#))
#{tmp\ 1769}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1768}#)))
($sc-dispatch
#{tmp\ 1768}#
'(any any any))))
#{e\ 1724}#)
(values
'call
#f
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#))))))))))))))
(if (#{syntax-object?\ 1281}# #{e\ 1724}#)
(#{syntax-type\ 1331}#
(#{syntax-object-expression\ 1282}# #{e\ 1724}#)
#{r\ 1725}#
(#{join-wraps\ 1316}#
#{w\ 1726}#
(#{syntax-object-wrap\ 1283}# #{e\ 1724}#))
#{s\ 1727}#
#{rib\ 1728}#
(let ((#{t\ 1776}#
(#{syntax-object-module\ 1284}# #{e\ 1724}#)))
(if #{t\ 1776}# #{t\ 1776}# #{mod\ 1729}#))
#{for-car?\ 1730}#)
(if (self-evaluating? #{e\ 1724}#)
(values
'constant
#f
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)
(values
'other
#f
#{e\ 1724}#
#{w\ 1726}#
#{s\ 1727}#
#{mod\ 1729}#)))))))
(#{chi-when-list\ 1330}#
(lambda (#{e\ 1777}# #{when-list\ 1778}# #{w\ 1779}#)
(letrec ((#{f\ 1780}#
(lambda (#{when-list\ 1781}# #{situations\ 1782}#)
(if (null? #{when-list\ 1781}#)
#{situations\ 1782}#
(#{f\ 1780}#
(cdr #{when-list\ 1781}#)
(cons (let ((#{x\ 1783}#
(car #{when-list\ 1781}#)))
(if (#{free-id=?\ 1320}#
#{x\ 1783}#
'#(syntax-object
compile
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
'compile
(if (#{free-id=?\ 1320}#
#{x\ 1783}#
'#(syntax-object
load
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
'load
(if (#{free-id=?\ 1320}#
#{x\ 1783}#
'#(syntax-object
eval
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(f
when-list
situations)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
'eval
(syntax-violation
'eval-when
"invalid situation"
#{e\ 1777}#
(#{wrap\ 1325}#
#{x\ 1783}#
#{w\ 1779}#
#f))))))
#{situations\ 1782}#))))))
(#{f\ 1780}# #{when-list\ 1778}# (quote ())))))
(#{chi-install-global\ 1329}#
(lambda (#{name\ 1784}# #{e\ 1785}#)
(#{build-global-definition\ 1272}#
#f
#{name\ 1784}#
(if (let ((#{v\ 1786}#
(module-variable
(current-module)
#{name\ 1784}#)))
(if #{v\ 1786}#
(if (variable-bound? #{v\ 1786}#)
(if (macro? (variable-ref #{v\ 1786}#))
(not (eq? (macro-type (variable-ref #{v\ 1786}#))
'syncase-macro))
#f)
#f)
#f))
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}#
#f
'make-extended-syncase-macro)
(list (#{build-application\ 1264}#
#f
(#{build-primref\ 1274}# #f (quote module-ref))
(list (#{build-application\ 1264}#
#f
(#{build-primref\ 1274}#
#f
'current-module)
'())
(#{build-data\ 1275}# #f #{name\ 1784}#)))
(#{build-data\ 1275}# #f (quote macro))
#{e\ 1785}#))
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}#
#f
'make-syncase-macro)
(list (#{build-data\ 1275}# #f (quote macro))
#{e\ 1785}#))))))
(#{chi-top-sequence\ 1328}#
(lambda (#{body\ 1787}#
#{r\ 1788}#
#{w\ 1789}#
#{s\ 1790}#
#{m\ 1791}#
#{esew\ 1792}#
#{mod\ 1793}#)
(#{build-sequence\ 1276}#
#{s\ 1790}#
(letrec ((#{dobody\ 1794}#
(lambda (#{body\ 1795}#
#{r\ 1796}#
#{w\ 1797}#
#{m\ 1798}#
#{esew\ 1799}#
#{mod\ 1800}#)
(if (null? #{body\ 1795}#)
'()
(let ((#{first\ 1801}#
(#{chi-top\ 1332}#
(car #{body\ 1795}#)
#{r\ 1796}#
#{w\ 1797}#
#{m\ 1798}#
#{esew\ 1799}#
#{mod\ 1800}#)))
(cons #{first\ 1801}#
(#{dobody\ 1794}#
(cdr #{body\ 1795}#)
#{r\ 1796}#
#{w\ 1797}#
#{m\ 1798}#
#{esew\ 1799}#
#{mod\ 1800}#)))))))
(#{dobody\ 1794}#
#{body\ 1787}#
#{r\ 1788}#
#{w\ 1789}#
#{m\ 1791}#
#{esew\ 1792}#
#{mod\ 1793}#)))))
(#{chi-sequence\ 1327}#
(lambda (#{body\ 1802}#
#{r\ 1803}#
#{w\ 1804}#
#{s\ 1805}#
#{mod\ 1806}#)
(#{build-sequence\ 1276}#
#{s\ 1805}#
(letrec ((#{dobody\ 1807}#
(lambda (#{body\ 1808}#
#{r\ 1809}#
#{w\ 1810}#
#{mod\ 1811}#)
(if (null? #{body\ 1808}#)
'()
(let ((#{first\ 1812}#
(#{chi\ 1333}#
(car #{body\ 1808}#)
#{r\ 1809}#
#{w\ 1810}#
#{mod\ 1811}#)))
(cons #{first\ 1812}#
(#{dobody\ 1807}#
(cdr #{body\ 1808}#)
#{r\ 1809}#
#{w\ 1810}#
#{mod\ 1811}#)))))))
(#{dobody\ 1807}#
#{body\ 1802}#
#{r\ 1803}#
#{w\ 1804}#
#{mod\ 1806}#)))))
(#{source-wrap\ 1326}#
(lambda (#{x\ 1813}#
#{w\ 1814}#
#{s\ 1815}#
#{defmod\ 1816}#)
(#{wrap\ 1325}#
(#{decorate-source\ 1262}#
#{x\ 1813}#
#{s\ 1815}#)
#{w\ 1814}#
#{defmod\ 1816}#)))
(#{wrap\ 1325}#
(lambda (#{x\ 1817}# #{w\ 1818}# #{defmod\ 1819}#)
(if (if (null? (#{wrap-marks\ 1300}# #{w\ 1818}#))
(null? (#{wrap-subst\ 1301}# #{w\ 1818}#))
#f)
#{x\ 1817}#
(if (#{syntax-object?\ 1281}# #{x\ 1817}#)
(#{make-syntax-object\ 1280}#
(#{syntax-object-expression\ 1282}# #{x\ 1817}#)
(#{join-wraps\ 1316}#
#{w\ 1818}#
(#{syntax-object-wrap\ 1283}# #{x\ 1817}#))
(#{syntax-object-module\ 1284}# #{x\ 1817}#))
(if (null? #{x\ 1817}#)
#{x\ 1817}#
(#{make-syntax-object\ 1280}#
#{x\ 1817}#
#{w\ 1818}#
#{defmod\ 1819}#))))))
(#{bound-id-member?\ 1324}#
(lambda (#{x\ 1820}# #{list\ 1821}#)
(if (not (null? #{list\ 1821}#))
(let ((#{t\ 1822}#
(#{bound-id=?\ 1321}#
#{x\ 1820}#
(car #{list\ 1821}#))))
(if #{t\ 1822}#
#{t\ 1822}#
(#{bound-id-member?\ 1324}#
#{x\ 1820}#
(cdr #{list\ 1821}#))))
#f)))
(#{distinct-bound-ids?\ 1323}#
(lambda (#{ids\ 1823}#)
(letrec ((#{distinct?\ 1824}#
(lambda (#{ids\ 1825}#)
(let ((#{t\ 1826}# (null? #{ids\ 1825}#)))
(if #{t\ 1826}#
#{t\ 1826}#
(if (not (#{bound-id-member?\ 1324}#
(car #{ids\ 1825}#)
(cdr #{ids\ 1825}#)))
(#{distinct?\ 1824}# (cdr #{ids\ 1825}#))
#f))))))
(#{distinct?\ 1824}# #{ids\ 1823}#))))
(#{valid-bound-ids?\ 1322}#
(lambda (#{ids\ 1827}#)
(if (letrec ((#{all-ids?\ 1828}#
(lambda (#{ids\ 1829}#)
(let ((#{t\ 1830}# (null? #{ids\ 1829}#)))
(if #{t\ 1830}#
#{t\ 1830}#
(if (#{id?\ 1297}# (car #{ids\ 1829}#))
(#{all-ids?\ 1828}# (cdr #{ids\ 1829}#))
#f))))))
(#{all-ids?\ 1828}# #{ids\ 1827}#))
(#{distinct-bound-ids?\ 1323}# #{ids\ 1827}#)
#f)))
(#{bound-id=?\ 1321}#
(lambda (#{i\ 1831}# #{j\ 1832}#)
(if (if (#{syntax-object?\ 1281}# #{i\ 1831}#)
(#{syntax-object?\ 1281}# #{j\ 1832}#)
#f)
(if (eq? (#{syntax-object-expression\ 1282}# #{i\ 1831}#)
(#{syntax-object-expression\ 1282}# #{j\ 1832}#))
(#{same-marks?\ 1318}#
(#{wrap-marks\ 1300}#
(#{syntax-object-wrap\ 1283}# #{i\ 1831}#))
(#{wrap-marks\ 1300}#
(#{syntax-object-wrap\ 1283}# #{j\ 1832}#)))
#f)
(eq? #{i\ 1831}# #{j\ 1832}#))))
(#{free-id=?\ 1320}#
(lambda (#{i\ 1833}# #{j\ 1834}#)
(if (eq? (let ((#{x\ 1835}# #{i\ 1833}#))
(if (#{syntax-object?\ 1281}# #{x\ 1835}#)
(#{syntax-object-expression\ 1282}# #{x\ 1835}#)
#{x\ 1835}#))
(let ((#{x\ 1836}# #{j\ 1834}#))
(if (#{syntax-object?\ 1281}# #{x\ 1836}#)
(#{syntax-object-expression\ 1282}# #{x\ 1836}#)
#{x\ 1836}#)))
(eq? (#{id-var-name\ 1319}# #{i\ 1833}# (quote (())))
(#{id-var-name\ 1319}# #{j\ 1834}# (quote (()))))
#f)))
(#{id-var-name\ 1319}#
(lambda (#{id\ 1837}# #{w\ 1838}#)
(letrec ((#{search-vector-rib\ 1841}#
(lambda (#{sym\ 1847}#
#{subst\ 1848}#
#{marks\ 1849}#
#{symnames\ 1850}#
#{ribcage\ 1851}#)
(let ((#{n\ 1852}#
(vector-length #{symnames\ 1850}#)))
(letrec ((#{f\ 1853}#
(lambda (#{i\ 1854}#)
(if (#{fx=\ 1256}#
#{i\ 1854}#
#{n\ 1852}#)
(#{search\ 1839}#
#{sym\ 1847}#
(cdr #{subst\ 1848}#)
#{marks\ 1849}#)
(if (if (eq? (vector-ref
#{symnames\ 1850}#
#{i\ 1854}#)
#{sym\ 1847}#)
(#{same-marks?\ 1318}#
#{marks\ 1849}#
(vector-ref
(#{ribcage-marks\ 1307}#
#{ribcage\ 1851}#)
#{i\ 1854}#))
#f)
(values
(vector-ref
(#{ribcage-labels\ 1308}#
#{ribcage\ 1851}#)
#{i\ 1854}#)
#{marks\ 1849}#)
(#{f\ 1853}#
(#{fx+\ 1254}#
#{i\ 1854}#
1)))))))
(#{f\ 1853}# 0)))))
(#{search-list-rib\ 1840}#
(lambda (#{sym\ 1855}#
#{subst\ 1856}#
#{marks\ 1857}#
#{symnames\ 1858}#
#{ribcage\ 1859}#)
(letrec ((#{f\ 1860}#
(lambda (#{symnames\ 1861}# #{i\ 1862}#)
(if (null? #{symnames\ 1861}#)
(#{search\ 1839}#
#{sym\ 1855}#
(cdr #{subst\ 1856}#)
#{marks\ 1857}#)
(if (if (eq? (car #{symnames\ 1861}#)
#{sym\ 1855}#)
(#{same-marks?\ 1318}#
#{marks\ 1857}#
(list-ref
(#{ribcage-marks\ 1307}#
#{ribcage\ 1859}#)
#{i\ 1862}#))
#f)
(values
(list-ref
(#{ribcage-labels\ 1308}#
#{ribcage\ 1859}#)
#{i\ 1862}#)
#{marks\ 1857}#)
(#{f\ 1860}#
(cdr #{symnames\ 1861}#)
(#{fx+\ 1254}#
#{i\ 1862}#
1)))))))
(#{f\ 1860}# #{symnames\ 1858}# 0))))
(#{search\ 1839}#
(lambda (#{sym\ 1863}#
#{subst\ 1864}#
#{marks\ 1865}#)
(if (null? #{subst\ 1864}#)
(values #f #{marks\ 1865}#)
(let ((#{fst\ 1866}# (car #{subst\ 1864}#)))
(if (eq? #{fst\ 1866}# (quote shift))
(#{search\ 1839}#
#{sym\ 1863}#
(cdr #{subst\ 1864}#)
(cdr #{marks\ 1865}#))
(let ((#{symnames\ 1867}#
(#{ribcage-symnames\ 1306}#
#{fst\ 1866}#)))
(if (vector? #{symnames\ 1867}#)
(#{search-vector-rib\ 1841}#
#{sym\ 1863}#
#{subst\ 1864}#
#{marks\ 1865}#
#{symnames\ 1867}#
#{fst\ 1866}#)
(#{search-list-rib\ 1840}#
#{sym\ 1863}#
#{subst\ 1864}#
#{marks\ 1865}#
#{symnames\ 1867}#
#{fst\ 1866}#)))))))))
(if (symbol? #{id\ 1837}#)
(let ((#{t\ 1868}#
(call-with-values
(lambda ()
(#{search\ 1839}#
#{id\ 1837}#
(#{wrap-subst\ 1301}# #{w\ 1838}#)
(#{wrap-marks\ 1300}# #{w\ 1838}#)))
(lambda (#{x\ 1870}# . #{ignore\ 1869}#)
#{x\ 1870}#))))
(if #{t\ 1868}# #{t\ 1868}# #{id\ 1837}#))
(if (#{syntax-object?\ 1281}# #{id\ 1837}#)
(let ((#{id\ 1871}#
(#{syntax-object-expression\ 1282}# #{id\ 1837}#))
(#{w1\ 1872}#
(#{syntax-object-wrap\ 1283}# #{id\ 1837}#)))
(let ((#{marks\ 1873}#
(#{join-marks\ 1317}#
(#{wrap-marks\ 1300}# #{w\ 1838}#)
(#{wrap-marks\ 1300}# #{w1\ 1872}#))))
(call-with-values
(lambda ()
(#{search\ 1839}#
#{id\ 1871}#
(#{wrap-subst\ 1301}# #{w\ 1838}#)
#{marks\ 1873}#))
(lambda (#{new-id\ 1874}# #{marks\ 1875}#)
(let ((#{t\ 1876}# #{new-id\ 1874}#))
(if #{t\ 1876}#
#{t\ 1876}#
(let ((#{t\ 1877}#
(call-with-values
(lambda ()
(#{search\ 1839}#
#{id\ 1871}#
(#{wrap-subst\ 1301}#
#{w1\ 1872}#)
#{marks\ 1875}#))
(lambda (#{x\ 1879}#
.
#{ignore\ 1878}#)
#{x\ 1879}#))))
(if #{t\ 1877}#
#{t\ 1877}#
#{id\ 1871}#))))))))
(syntax-violation
'id-var-name
"invalid id"
#{id\ 1837}#))))))
(#{same-marks?\ 1318}#
(lambda (#{x\ 1880}# #{y\ 1881}#)
(let ((#{t\ 1882}# (eq? #{x\ 1880}# #{y\ 1881}#)))
(if #{t\ 1882}#
#{t\ 1882}#
(if (not (null? #{x\ 1880}#))
(if (not (null? #{y\ 1881}#))
(if (eq? (car #{x\ 1880}#) (car #{y\ 1881}#))
(#{same-marks?\ 1318}#
(cdr #{x\ 1880}#)
(cdr #{y\ 1881}#))
#f)
#f)
#f)))))
(#{join-marks\ 1317}#
(lambda (#{m1\ 1883}# #{m2\ 1884}#)
(#{smart-append\ 1315}#
#{m1\ 1883}#
#{m2\ 1884}#)))
(#{join-wraps\ 1316}#
(lambda (#{w1\ 1885}# #{w2\ 1886}#)
(let ((#{m1\ 1887}#
(#{wrap-marks\ 1300}# #{w1\ 1885}#))
(#{s1\ 1888}#
(#{wrap-subst\ 1301}# #{w1\ 1885}#)))
(if (null? #{m1\ 1887}#)
(if (null? #{s1\ 1888}#)
#{w2\ 1886}#
(#{make-wrap\ 1299}#
(#{wrap-marks\ 1300}# #{w2\ 1886}#)
(#{smart-append\ 1315}#
#{s1\ 1888}#
(#{wrap-subst\ 1301}# #{w2\ 1886}#))))
(#{make-wrap\ 1299}#
(#{smart-append\ 1315}#
#{m1\ 1887}#
(#{wrap-marks\ 1300}# #{w2\ 1886}#))
(#{smart-append\ 1315}#
#{s1\ 1888}#
(#{wrap-subst\ 1301}# #{w2\ 1886}#)))))))
(#{smart-append\ 1315}#
(lambda (#{m1\ 1889}# #{m2\ 1890}#)
(if (null? #{m2\ 1890}#)
#{m1\ 1889}#
(append #{m1\ 1889}# #{m2\ 1890}#))))
(#{make-binding-wrap\ 1314}#
(lambda (#{ids\ 1891}# #{labels\ 1892}# #{w\ 1893}#)
(if (null? #{ids\ 1891}#)
#{w\ 1893}#
(#{make-wrap\ 1299}#
(#{wrap-marks\ 1300}# #{w\ 1893}#)
(cons (let ((#{labelvec\ 1894}#
(list->vector #{labels\ 1892}#)))
(let ((#{n\ 1895}#
(vector-length #{labelvec\ 1894}#)))
(let ((#{symnamevec\ 1896}#
(make-vector #{n\ 1895}#))
(#{marksvec\ 1897}#
(make-vector #{n\ 1895}#)))
(begin
(letrec ((#{f\ 1898}#
(lambda (#{ids\ 1899}# #{i\ 1900}#)
(if (not (null? #{ids\ 1899}#))
(call-with-values
(lambda ()
(#{id-sym-name&marks\ 1298}#
(car #{ids\ 1899}#)
#{w\ 1893}#))
(lambda (#{symname\ 1901}#
#{marks\ 1902}#)
(begin
(vector-set!
#{symnamevec\ 1896}#
#{i\ 1900}#
#{symname\ 1901}#)
(vector-set!
#{marksvec\ 1897}#
#{i\ 1900}#
#{marks\ 1902}#)
(#{f\ 1898}#
(cdr #{ids\ 1899}#)
(#{fx+\ 1254}#
#{i\ 1900}#
1)))))))))
(#{f\ 1898}# #{ids\ 1891}# 0))
(#{make-ribcage\ 1304}#
#{symnamevec\ 1896}#
#{marksvec\ 1897}#
#{labelvec\ 1894}#)))))
(#{wrap-subst\ 1301}# #{w\ 1893}#))))))
(#{extend-ribcage!\ 1313}#
(lambda (#{ribcage\ 1903}# #{id\ 1904}# #{label\ 1905}#)
(begin
(#{set-ribcage-symnames!\ 1309}#
#{ribcage\ 1903}#
(cons (#{syntax-object-expression\ 1282}# #{id\ 1904}#)
(#{ribcage-symnames\ 1306}# #{ribcage\ 1903}#)))
(#{set-ribcage-marks!\ 1310}#
#{ribcage\ 1903}#
(cons (#{wrap-marks\ 1300}#
(#{syntax-object-wrap\ 1283}# #{id\ 1904}#))
(#{ribcage-marks\ 1307}# #{ribcage\ 1903}#)))
(#{set-ribcage-labels!\ 1311}#
#{ribcage\ 1903}#
(cons #{label\ 1905}#
(#{ribcage-labels\ 1308}# #{ribcage\ 1903}#))))))
(#{anti-mark\ 1312}#
(lambda (#{w\ 1906}#)
(#{make-wrap\ 1299}#
(cons #f (#{wrap-marks\ 1300}# #{w\ 1906}#))
(cons 'shift
(#{wrap-subst\ 1301}# #{w\ 1906}#)))))
(#{set-ribcage-labels!\ 1311}#
(lambda (#{x\ 1907}# #{update\ 1908}#)
(vector-set! #{x\ 1907}# 3 #{update\ 1908}#)))
(#{set-ribcage-marks!\ 1310}#
(lambda (#{x\ 1909}# #{update\ 1910}#)
(vector-set! #{x\ 1909}# 2 #{update\ 1910}#)))
(#{set-ribcage-symnames!\ 1309}#
(lambda (#{x\ 1911}# #{update\ 1912}#)
(vector-set! #{x\ 1911}# 1 #{update\ 1912}#)))
(#{ribcage-labels\ 1308}#
(lambda (#{x\ 1913}#) (vector-ref #{x\ 1913}# 3)))
(#{ribcage-marks\ 1307}#
(lambda (#{x\ 1914}#) (vector-ref #{x\ 1914}# 2)))
(#{ribcage-symnames\ 1306}#
(lambda (#{x\ 1915}#) (vector-ref #{x\ 1915}# 1)))
(#{ribcage?\ 1305}#
(lambda (#{x\ 1916}#)
(if (vector? #{x\ 1916}#)
(if (= (vector-length #{x\ 1916}#) 4)
(eq? (vector-ref #{x\ 1916}# 0) (quote ribcage))
#f)
#f)))
(#{make-ribcage\ 1304}#
(lambda (#{symnames\ 1917}#
#{marks\ 1918}#
#{labels\ 1919}#)
(vector
'ribcage
#{symnames\ 1917}#
#{marks\ 1918}#
#{labels\ 1919}#)))
(#{gen-labels\ 1303}#
(lambda (#{ls\ 1920}#)
(if (null? #{ls\ 1920}#)
'()
(cons (#{gen-label\ 1302}#)
(#{gen-labels\ 1303}# (cdr #{ls\ 1920}#))))))
(#{gen-label\ 1302}# (lambda () (string #\i)))
(#{wrap-subst\ 1301}# cdr)
(#{wrap-marks\ 1300}# car)
(#{make-wrap\ 1299}# cons)
(#{id-sym-name&marks\ 1298}#
(lambda (#{x\ 1921}# #{w\ 1922}#)
(if (#{syntax-object?\ 1281}# #{x\ 1921}#)
(values
(#{syntax-object-expression\ 1282}# #{x\ 1921}#)
(#{join-marks\ 1317}#
(#{wrap-marks\ 1300}# #{w\ 1922}#)
(#{wrap-marks\ 1300}#
(#{syntax-object-wrap\ 1283}# #{x\ 1921}#))))
(values
#{x\ 1921}#
(#{wrap-marks\ 1300}# #{w\ 1922}#)))))
(#{id?\ 1297}#
(lambda (#{x\ 1923}#)
(if (symbol? #{x\ 1923}#)
#t
(if (#{syntax-object?\ 1281}# #{x\ 1923}#)
(symbol?
(#{syntax-object-expression\ 1282}# #{x\ 1923}#))
#f))))
(#{nonsymbol-id?\ 1296}#
(lambda (#{x\ 1924}#)
(if (#{syntax-object?\ 1281}# #{x\ 1924}#)
(symbol?
(#{syntax-object-expression\ 1282}# #{x\ 1924}#))
#f)))
(#{global-extend\ 1295}#
(lambda (#{type\ 1925}# #{sym\ 1926}# #{val\ 1927}#)
(#{put-global-definition-hook\ 1260}#
#{sym\ 1926}#
#{type\ 1925}#
#{val\ 1927}#)))
(#{lookup\ 1294}#
(lambda (#{x\ 1928}# #{r\ 1929}# #{mod\ 1930}#)
(let ((#{t\ 1931}# (assq #{x\ 1928}# #{r\ 1929}#)))
(if #{t\ 1931}#
(cdr #{t\ 1931}#)
(if (symbol? #{x\ 1928}#)
(let ((#{t\ 1932}#
(#{get-global-definition-hook\ 1261}#
#{x\ 1928}#
#{mod\ 1930}#)))
(if #{t\ 1932}# #{t\ 1932}# (quote (global))))
'(displaced-lexical))))))
(#{macros-only-env\ 1293}#
(lambda (#{r\ 1933}#)
(if (null? #{r\ 1933}#)
'()
(let ((#{a\ 1934}# (car #{r\ 1933}#)))
(if (eq? (cadr #{a\ 1934}#) (quote macro))
(cons #{a\ 1934}#
(#{macros-only-env\ 1293}# (cdr #{r\ 1933}#)))
(#{macros-only-env\ 1293}# (cdr #{r\ 1933}#)))))))
(#{extend-var-env\ 1292}#
(lambda (#{labels\ 1935}# #{vars\ 1936}# #{r\ 1937}#)
(if (null? #{labels\ 1935}#)
#{r\ 1937}#
(#{extend-var-env\ 1292}#
(cdr #{labels\ 1935}#)
(cdr #{vars\ 1936}#)
(cons (cons (car #{labels\ 1935}#)
(cons (quote lexical) (car #{vars\ 1936}#)))
#{r\ 1937}#)))))
(#{extend-env\ 1291}#
(lambda (#{labels\ 1938}# #{bindings\ 1939}# #{r\ 1940}#)
(if (null? #{labels\ 1938}#)
#{r\ 1940}#
(#{extend-env\ 1291}#
(cdr #{labels\ 1938}#)
(cdr #{bindings\ 1939}#)
(cons (cons (car #{labels\ 1938}#)
(car #{bindings\ 1939}#))
#{r\ 1940}#)))))
(#{binding-value\ 1290}# cdr)
(#{binding-type\ 1289}# car)
(#{source-annotation\ 1288}#
(lambda (#{x\ 1941}#)
(if (#{syntax-object?\ 1281}# #{x\ 1941}#)
(#{source-annotation\ 1288}#
(#{syntax-object-expression\ 1282}# #{x\ 1941}#))
(if (pair? #{x\ 1941}#)
(let ((#{props\ 1942}# (source-properties #{x\ 1941}#)))
(if (pair? #{props\ 1942}#) #{props\ 1942}# #f))
#f))))
(#{set-syntax-object-module!\ 1287}#
(lambda (#{x\ 1943}# #{update\ 1944}#)
(vector-set! #{x\ 1943}# 3 #{update\ 1944}#)))
(#{set-syntax-object-wrap!\ 1286}#
(lambda (#{x\ 1945}# #{update\ 1946}#)
(vector-set! #{x\ 1945}# 2 #{update\ 1946}#)))
(#{set-syntax-object-expression!\ 1285}#
(lambda (#{x\ 1947}# #{update\ 1948}#)
(vector-set! #{x\ 1947}# 1 #{update\ 1948}#)))
(#{syntax-object-module\ 1284}#
(lambda (#{x\ 1949}#) (vector-ref #{x\ 1949}# 3)))
(#{syntax-object-wrap\ 1283}#
(lambda (#{x\ 1950}#) (vector-ref #{x\ 1950}# 2)))
(#{syntax-object-expression\ 1282}#
(lambda (#{x\ 1951}#) (vector-ref #{x\ 1951}# 1)))
(#{syntax-object?\ 1281}#
(lambda (#{x\ 1952}#)
(if (vector? #{x\ 1952}#)
(if (= (vector-length #{x\ 1952}#) 4)
(eq? (vector-ref #{x\ 1952}# 0)
'syntax-object)
#f)
#f)))
(#{make-syntax-object\ 1280}#
(lambda (#{expression\ 1953}#
#{wrap\ 1954}#
#{module\ 1955}#)
(vector
'syntax-object
#{expression\ 1953}#
#{wrap\ 1954}#
#{module\ 1955}#)))
(#{build-letrec\ 1279}#
(lambda (#{src\ 1956}#
#{ids\ 1957}#
#{vars\ 1958}#
#{val-exps\ 1959}#
#{body-exp\ 1960}#)
(if (null? #{vars\ 1958}#)
#{body-exp\ 1960}#
(let ((#{atom-key\ 1961}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1961}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 1271}#
#{ids\ 1957}#
#{val-exps\ 1959}#)
((@ (language tree-il) make-letrec)
#{src\ 1956}#
#{ids\ 1957}#
#{vars\ 1958}#
#{val-exps\ 1959}#
#{body-exp\ 1960}#))
(#{decorate-source\ 1262}#
(list 'letrec
(map list #{vars\ 1958}# #{val-exps\ 1959}#)
#{body-exp\ 1960}#)
#{src\ 1956}#))))))
(#{build-named-let\ 1278}#
(lambda (#{src\ 1962}#
#{ids\ 1963}#
#{vars\ 1964}#
#{val-exps\ 1965}#
#{body-exp\ 1966}#)
(let ((#{f\ 1967}# (car #{vars\ 1964}#))
(#{f-name\ 1968}# (car #{ids\ 1963}#))
(#{vars\ 1969}# (cdr #{vars\ 1964}#))
(#{ids\ 1970}# (cdr #{ids\ 1963}#)))
(let ((#{atom-key\ 1971}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1971}# (quote (c)))
(let ((#{proc\ 1972}#
(#{build-lambda\ 1273}#
#{src\ 1962}#
#{ids\ 1970}#
#{vars\ 1969}#
#f
#{body-exp\ 1966}#)))
(begin
(#{maybe-name-value!\ 1271}#
#{f-name\ 1968}#
#{proc\ 1972}#)
(for-each
#{maybe-name-value!\ 1271}#
#{ids\ 1970}#
#{val-exps\ 1965}#)
((@ (language tree-il) make-letrec)
#{src\ 1962}#
(list #{f-name\ 1968}#)
(list #{f\ 1967}#)
(list #{proc\ 1972}#)
(#{build-application\ 1264}#
#{src\ 1962}#
(#{build-lexical-reference\ 1266}#
'fun
#{src\ 1962}#
#{f-name\ 1968}#
#{f\ 1967}#)
#{val-exps\ 1965}#))))
(#{decorate-source\ 1262}#
(list 'let
#{f\ 1967}#
(map list #{vars\ 1969}# #{val-exps\ 1965}#)
#{body-exp\ 1966}#)
#{src\ 1962}#))))))
(#{build-let\ 1277}#
(lambda (#{src\ 1973}#
#{ids\ 1974}#
#{vars\ 1975}#
#{val-exps\ 1976}#
#{body-exp\ 1977}#)
(if (null? #{vars\ 1975}#)
#{body-exp\ 1977}#
(let ((#{atom-key\ 1978}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1978}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 1271}#
#{ids\ 1974}#
#{val-exps\ 1976}#)
((@ (language tree-il) make-let)
#{src\ 1973}#
#{ids\ 1974}#
#{vars\ 1975}#
#{val-exps\ 1976}#
#{body-exp\ 1977}#))
(#{decorate-source\ 1262}#
(list 'let
(map list #{vars\ 1975}# #{val-exps\ 1976}#)
#{body-exp\ 1977}#)
#{src\ 1973}#))))))
(#{build-sequence\ 1276}#
(lambda (#{src\ 1979}# #{exps\ 1980}#)
(if (null? (cdr #{exps\ 1980}#))
(car #{exps\ 1980}#)
(let ((#{atom-key\ 1981}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1981}# (quote (c)))
((@ (language tree-il) make-sequence)
#{src\ 1979}#
#{exps\ 1980}#)
(#{decorate-source\ 1262}#
(cons (quote begin) #{exps\ 1980}#)
#{src\ 1979}#))))))
(#{build-data\ 1275}#
(lambda (#{src\ 1982}# #{exp\ 1983}#)
(let ((#{atom-key\ 1984}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1984}# (quote (c)))
((@ (language tree-il) make-const)
#{src\ 1982}#
#{exp\ 1983}#)
(#{decorate-source\ 1262}#
(if (if (self-evaluating? #{exp\ 1983}#)
(not (vector? #{exp\ 1983}#))
#f)
#{exp\ 1983}#
(list (quote quote) #{exp\ 1983}#))
#{src\ 1982}#)))))
(#{build-primref\ 1274}#
(lambda (#{src\ 1985}# #{name\ 1986}#)
(if (equal?
(module-name (current-module))
'(guile))
(let ((#{atom-key\ 1987}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1987}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{src\ 1985}#
#{name\ 1986}#)
(#{decorate-source\ 1262}#
#{name\ 1986}#
#{src\ 1985}#)))
(let ((#{atom-key\ 1988}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1988}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{src\ 1985}#
'(guile)
#{name\ 1986}#
#f)
(#{decorate-source\ 1262}#
(list (quote @@) (quote (guile)) #{name\ 1986}#)
#{src\ 1985}#))))))
(#{build-lambda\ 1273}#
(lambda (#{src\ 1989}#
#{ids\ 1990}#
#{vars\ 1991}#
#{docstring\ 1992}#
#{exp\ 1993}#)
(let ((#{atom-key\ 1994}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1994}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 1989}#
#{ids\ 1990}#
#{vars\ 1991}#
(if #{docstring\ 1992}#
(list (cons (quote documentation) #{docstring\ 1992}#))
'())
#{exp\ 1993}#)
(#{decorate-source\ 1262}#
(cons 'lambda
(cons #{vars\ 1991}#
(append
(if #{docstring\ 1992}#
(list #{docstring\ 1992}#)
'())
(list #{exp\ 1993}#))))
#{src\ 1989}#)))))
(#{build-global-definition\ 1272}#
(lambda (#{source\ 1995}# #{var\ 1996}# #{exp\ 1997}#)
(let ((#{atom-key\ 1998}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 1998}# (quote (c)))
(begin
(#{maybe-name-value!\ 1271}#
#{var\ 1996}#
#{exp\ 1997}#)
((@ (language tree-il) make-toplevel-define)
#{source\ 1995}#
#{var\ 1996}#
#{exp\ 1997}#))
(#{decorate-source\ 1262}#
(list (quote define) #{var\ 1996}# #{exp\ 1997}#)
#{source\ 1995}#)))))
(#{maybe-name-value!\ 1271}#
(lambda (#{name\ 1999}# #{val\ 2000}#)
(if ((@ (language tree-il) lambda?) #{val\ 2000}#)
(let ((#{meta\ 2001}#
((@ (language tree-il) lambda-meta)
#{val\ 2000}#)))
(if (not (assq (quote name) #{meta\ 2001}#))
((setter (@ (language tree-il) lambda-meta))
#{val\ 2000}#
(acons 'name
#{name\ 1999}#
#{meta\ 2001}#)))))))
(#{build-global-assignment\ 1270}#
(lambda (#{source\ 2002}#
#{var\ 2003}#
#{exp\ 2004}#
#{mod\ 2005}#)
(#{analyze-variable\ 1268}#
#{mod\ 2005}#
#{var\ 2003}#
(lambda (#{mod\ 2006}# #{var\ 2007}# #{public?\ 2008}#)
(let ((#{atom-key\ 2009}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2009}# (quote (c)))
((@ (language tree-il) make-module-set)
#{source\ 2002}#
#{mod\ 2006}#
#{var\ 2007}#
#{public?\ 2008}#
#{exp\ 2004}#)
(#{decorate-source\ 1262}#
(list 'set!
(list (if #{public?\ 2008}#
'@
'@@)
#{mod\ 2006}#
#{var\ 2007}#)
#{exp\ 2004}#)
#{source\ 2002}#))))
(lambda (#{var\ 2010}#)
(let ((#{atom-key\ 2011}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2011}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
#{source\ 2002}#
#{var\ 2010}#
#{exp\ 2004}#)
(#{decorate-source\ 1262}#
(list (quote set!) #{var\ 2010}# #{exp\ 2004}#)
#{source\ 2002}#)))))))
(#{build-global-reference\ 1269}#
(lambda (#{source\ 2012}# #{var\ 2013}# #{mod\ 2014}#)
(#{analyze-variable\ 1268}#
#{mod\ 2014}#
#{var\ 2013}#
(lambda (#{mod\ 2015}# #{var\ 2016}# #{public?\ 2017}#)
(let ((#{atom-key\ 2018}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2018}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{source\ 2012}#
#{mod\ 2015}#
#{var\ 2016}#
#{public?\ 2017}#)
(#{decorate-source\ 1262}#
(list (if #{public?\ 2017}# (quote @) (quote @@))
#{mod\ 2015}#
#{var\ 2016}#)
#{source\ 2012}#))))
(lambda (#{var\ 2019}#)
(let ((#{atom-key\ 2020}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2020}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{source\ 2012}#
#{var\ 2019}#)
(#{decorate-source\ 1262}#
#{var\ 2019}#
#{source\ 2012}#)))))))
(#{analyze-variable\ 1268}#
(lambda (#{mod\ 2021}#
#{var\ 2022}#
#{modref-cont\ 2023}#
#{bare-cont\ 2024}#)
(if (not #{mod\ 2021}#)
(#{bare-cont\ 2024}# #{var\ 2022}#)
(let ((#{kind\ 2025}# (car #{mod\ 2021}#))
(#{mod\ 2026}# (cdr #{mod\ 2021}#)))
(if (memv #{kind\ 2025}# (quote (public)))
(#{modref-cont\ 2023}#
#{mod\ 2026}#
#{var\ 2022}#
#t)
(if (memv #{kind\ 2025}# (quote (private)))
(if (not (equal?
#{mod\ 2026}#
(module-name (current-module))))
(#{modref-cont\ 2023}#
#{mod\ 2026}#
#{var\ 2022}#
#f)
(#{bare-cont\ 2024}# #{var\ 2022}#))
(if (memv #{kind\ 2025}# (quote (bare)))
(#{bare-cont\ 2024}# #{var\ 2022}#)
(if (memv #{kind\ 2025}# (quote (hygiene)))
(if (if (not (equal?
#{mod\ 2026}#
(module-name (current-module))))
(module-variable
(resolve-module #{mod\ 2026}#)
#{var\ 2022}#)
#f)
(#{modref-cont\ 2023}#
#{mod\ 2026}#
#{var\ 2022}#
#f)
(#{bare-cont\ 2024}# #{var\ 2022}#))
(syntax-violation
#f
"bad module kind"
#{var\ 2022}#
#{mod\ 2026}#)))))))))
(#{build-lexical-assignment\ 1267}#
(lambda (#{source\ 2027}#
#{name\ 2028}#
#{var\ 2029}#
#{exp\ 2030}#)
(let ((#{atom-key\ 2031}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2031}# (quote (c)))
((@ (language tree-il) make-lexical-set)
#{source\ 2027}#
#{name\ 2028}#
#{var\ 2029}#
#{exp\ 2030}#)
(#{decorate-source\ 1262}#
(list (quote set!) #{var\ 2029}# #{exp\ 2030}#)
#{source\ 2027}#)))))
(#{build-lexical-reference\ 1266}#
(lambda (#{type\ 2032}#
#{source\ 2033}#
#{name\ 2034}#
#{var\ 2035}#)
(let ((#{atom-key\ 2036}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2036}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
#{source\ 2033}#
#{name\ 2034}#
#{var\ 2035}#)
(#{decorate-source\ 1262}#
#{var\ 2035}#
#{source\ 2033}#)))))
(#{build-conditional\ 1265}#
(lambda (#{source\ 2037}#
#{test-exp\ 2038}#
#{then-exp\ 2039}#
#{else-exp\ 2040}#)
(let ((#{atom-key\ 2041}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2041}# (quote (c)))
((@ (language tree-il) make-conditional)
#{source\ 2037}#
#{test-exp\ 2038}#
#{then-exp\ 2039}#
#{else-exp\ 2040}#)
(#{decorate-source\ 1262}#
(if (equal? #{else-exp\ 2040}# (quote (if #f #f)))
(list 'if
#{test-exp\ 2038}#
#{then-exp\ 2039}#)
(list 'if
#{test-exp\ 2038}#
#{then-exp\ 2039}#
#{else-exp\ 2040}#))
#{source\ 2037}#)))))
(#{build-application\ 1264}#
(lambda (#{source\ 2042}#
#{fun-exp\ 2043}#
#{arg-exps\ 2044}#)
(let ((#{atom-key\ 2045}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2045}# (quote (c)))
((@ (language tree-il) make-application)
#{source\ 2042}#
#{fun-exp\ 2043}#
#{arg-exps\ 2044}#)
(#{decorate-source\ 1262}#
(cons #{fun-exp\ 2043}# #{arg-exps\ 2044}#)
#{source\ 2042}#)))))
(#{build-void\ 1263}#
(lambda (#{source\ 2046}#)
(let ((#{atom-key\ 2047}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2047}# (quote (c)))
((@ (language tree-il) make-void)
#{source\ 2046}#)
(#{decorate-source\ 1262}#
'(if #f #f)
#{source\ 2046}#)))))
(#{decorate-source\ 1262}#
(lambda (#{e\ 2048}# #{s\ 2049}#)
(begin
(if (if (pair? #{e\ 2048}#) #{s\ 2049}# #f)
(set-source-properties! #{e\ 2048}# #{s\ 2049}#))
#{e\ 2048}#)))
(#{get-global-definition-hook\ 1261}#
(lambda (#{symbol\ 2050}# #{module\ 2051}#)
(begin
(if (if (not #{module\ 2051}#) (current-module) #f)
(warn "module system is booted, we should have a module"
#{symbol\ 2050}#))
(let ((#{v\ 2052}#
(module-variable
(if #{module\ 2051}#
(resolve-module (cdr #{module\ 2051}#))
(current-module))
#{symbol\ 2050}#)))
(if #{v\ 2052}#
(if (variable-bound? #{v\ 2052}#)
(let ((#{val\ 2053}# (variable-ref #{v\ 2052}#)))
(if (macro? #{val\ 2053}#)
(if (syncase-macro-type #{val\ 2053}#)
(cons (syncase-macro-type #{val\ 2053}#)
(syncase-macro-binding #{val\ 2053}#))
#f)
#f))
#f)
#f)))))
(#{put-global-definition-hook\ 1260}#
(lambda (#{symbol\ 2054}# #{type\ 2055}# #{val\ 2056}#)
(let ((#{existing\ 2057}#
(let ((#{v\ 2058}#
(module-variable
(current-module)
#{symbol\ 2054}#)))
(if #{v\ 2058}#
(if (variable-bound? #{v\ 2058}#)
(let ((#{val\ 2059}# (variable-ref #{v\ 2058}#)))
(if (macro? #{val\ 2059}#)
(if (not (syncase-macro-type #{val\ 2059}#))
#{val\ 2059}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
#{symbol\ 2054}#
(if #{existing\ 2057}#
(make-extended-syncase-macro
#{existing\ 2057}#
#{type\ 2055}#
#{val\ 2056}#)
(make-syncase-macro #{type\ 2055}# #{val\ 2056}#))))))
(#{local-eval-hook\ 1259}#
(lambda (#{x\ 2060}# #{mod\ 2061}#)
(primitive-eval
(list #{noexpand\ 1252}#
(let ((#{atom-key\ 2062}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2062}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 2060}#)
#{x\ 2060}#))))))
(#{top-level-eval-hook\ 1258}#
(lambda (#{x\ 2063}# #{mod\ 2064}#)
(primitive-eval
(list #{noexpand\ 1252}#
(let ((#{atom-key\ 2065}# (fluid-ref #{*mode*\ 1253}#)))
(if (memv #{atom-key\ 2065}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 2063}#)
#{x\ 2063}#))))))
(#{fx<\ 1257}# <)
(#{fx=\ 1256}# =)
(#{fx-\ 1255}# -)
(#{fx+\ 1254}# +)
(#{*mode*\ 1253}# (make-fluid))
(#{noexpand\ 1252}# "noexpand"))
(begin
(#{global-extend\ 1295}#
'local-syntax
'letrec-syntax
#t)
(#{global-extend\ 1295}#
'local-syntax
'let-syntax
#f)
(#{global-extend\ 1295}#
'core
'fluid-let-syntax
(lambda (#{e\ 2066}#
#{r\ 2067}#
#{w\ 2068}#
#{s\ 2069}#
#{mod\ 2070}#)
((lambda (#{tmp\ 2071}#)
((lambda (#{tmp\ 2072}#)
(if (if #{tmp\ 2072}#
(apply (lambda (#{_\ 2073}#
#{var\ 2074}#
#{val\ 2075}#
#{e1\ 2076}#
#{e2\ 2077}#)
(#{valid-bound-ids?\ 1322}# #{var\ 2074}#))
#{tmp\ 2072}#)
#f)
(apply (lambda (#{_\ 2079}#
#{var\ 2080}#
#{val\ 2081}#
#{e1\ 2082}#
#{e2\ 2083}#)
(let ((#{names\ 2084}#
(map (lambda (#{x\ 2085}#)
(#{id-var-name\ 1319}#
#{x\ 2085}#
#{w\ 2068}#))
#{var\ 2080}#)))
(begin
(for-each
(lambda (#{id\ 2087}# #{n\ 2088}#)
(let ((#{atom-key\ 2089}#
(#{binding-type\ 1289}#
(#{lookup\ 1294}#
#{n\ 2088}#
#{r\ 2067}#
#{mod\ 2070}#))))
(if (memv #{atom-key\ 2089}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
#{e\ 2066}#
(#{source-wrap\ 1326}#
#{id\ 2087}#
#{w\ 2068}#
#{s\ 2069}#
#{mod\ 2070}#)))))
#{var\ 2080}#
#{names\ 2084}#)
(#{chi-body\ 1337}#
(cons #{e1\ 2082}# #{e2\ 2083}#)
(#{source-wrap\ 1326}#
#{e\ 2066}#
#{w\ 2068}#
#{s\ 2069}#
#{mod\ 2070}#)
(#{extend-env\ 1291}#
#{names\ 2084}#
(let ((#{trans-r\ 2092}#
(#{macros-only-env\ 1293}#
#{r\ 2067}#)))
(map (lambda (#{x\ 2093}#)
(cons 'macro
(#{eval-local-transformer\ 1340}#
(#{chi\ 1333}#
#{x\ 2093}#
#{trans-r\ 2092}#
#{w\ 2068}#
#{mod\ 2070}#)
#{mod\ 2070}#)))
#{val\ 2081}#))
#{r\ 2067}#)
#{w\ 2068}#
#{mod\ 2070}#))))
#{tmp\ 2072}#)
((lambda (#{_\ 2095}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 1326}#
#{e\ 2066}#
#{w\ 2068}#
#{s\ 2069}#
#{mod\ 2070}#)))
#{tmp\ 2071}#)))
($sc-dispatch
#{tmp\ 2071}#
'(any #(each (any any)) any . each-any))))
#{e\ 2066}#)))
(#{global-extend\ 1295}#
'core
'quote
(lambda (#{e\ 2096}#
#{r\ 2097}#
#{w\ 2098}#
#{s\ 2099}#
#{mod\ 2100}#)
((lambda (#{tmp\ 2101}#)
((lambda (#{tmp\ 2102}#)
(if #{tmp\ 2102}#
(apply (lambda (#{_\ 2103}# #{e\ 2104}#)
(#{build-data\ 1275}#
#{s\ 2099}#
(#{strip\ 1343}# #{e\ 2104}# #{w\ 2098}#)))
#{tmp\ 2102}#)
((lambda (#{_\ 2105}#)
(syntax-violation
'quote
"bad syntax"
(#{source-wrap\ 1326}#
#{e\ 2096}#
#{w\ 2098}#
#{s\ 2099}#
#{mod\ 2100}#)))
#{tmp\ 2101}#)))
($sc-dispatch #{tmp\ 2101}# (quote (any any)))))
#{e\ 2096}#)))
(#{global-extend\ 1295}#
'core
'syntax
(letrec ((#{regen\ 2113}#
(lambda (#{x\ 2114}#)
(let ((#{atom-key\ 2115}# (car #{x\ 2114}#)))
(if (memv #{atom-key\ 2115}# (quote (ref)))
(#{build-lexical-reference\ 1266}#
'value
#f
(cadr #{x\ 2114}#)
(cadr #{x\ 2114}#))
(if (memv #{atom-key\ 2115}# (quote (primitive)))
(#{build-primref\ 1274}# #f (cadr #{x\ 2114}#))
(if (memv #{atom-key\ 2115}# (quote (quote)))
(#{build-data\ 1275}# #f (cadr #{x\ 2114}#))
(if (memv #{atom-key\ 2115}# (quote (lambda)))
(#{build-lambda\ 1273}#
#f
(cadr #{x\ 2114}#)
(cadr #{x\ 2114}#)
#f
(#{regen\ 2113}# (caddr #{x\ 2114}#)))
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}# #f (car #{x\ 2114}#))
(map #{regen\ 2113}#
(cdr #{x\ 2114}#))))))))))
(#{gen-vector\ 2112}#
(lambda (#{x\ 2116}#)
(if (eq? (car #{x\ 2116}#) (quote list))
(cons (quote vector) (cdr #{x\ 2116}#))
(if (eq? (car #{x\ 2116}#) (quote quote))
(list 'quote
(list->vector (cadr #{x\ 2116}#)))
(list (quote list->vector) #{x\ 2116}#)))))
(#{gen-append\ 2111}#
(lambda (#{x\ 2117}# #{y\ 2118}#)
(if (equal? #{y\ 2118}# (quote (quote ())))
#{x\ 2117}#
(list (quote append) #{x\ 2117}# #{y\ 2118}#))))
(#{gen-cons\ 2110}#
(lambda (#{x\ 2119}# #{y\ 2120}#)
(let ((#{atom-key\ 2121}# (car #{y\ 2120}#)))
(if (memv #{atom-key\ 2121}# (quote (quote)))
(if (eq? (car #{x\ 2119}#) (quote quote))
(list 'quote
(cons (cadr #{x\ 2119}#) (cadr #{y\ 2120}#)))
(if (eq? (cadr #{y\ 2120}#) (quote ()))
(list (quote list) #{x\ 2119}#)
(list (quote cons) #{x\ 2119}# #{y\ 2120}#)))
(if (memv #{atom-key\ 2121}# (quote (list)))
(cons 'list
(cons #{x\ 2119}# (cdr #{y\ 2120}#)))
(list (quote cons) #{x\ 2119}# #{y\ 2120}#))))))
(#{gen-map\ 2109}#
(lambda (#{e\ 2122}# #{map-env\ 2123}#)
(let ((#{formals\ 2124}# (map cdr #{map-env\ 2123}#))
(#{actuals\ 2125}#
(map (lambda (#{x\ 2126}#)
(list (quote ref) (car #{x\ 2126}#)))
#{map-env\ 2123}#)))
(if (eq? (car #{e\ 2122}#) (quote ref))
(car #{actuals\ 2125}#)
(if (and-map
(lambda (#{x\ 2127}#)
(if (eq? (car #{x\ 2127}#) (quote ref))
(memq (cadr #{x\ 2127}#) #{formals\ 2124}#)
#f))
(cdr #{e\ 2122}#))
(cons 'map
(cons (list 'primitive
(car #{e\ 2122}#))
(map (let ((#{r\ 2128}#
(map cons
#{formals\ 2124}#
#{actuals\ 2125}#)))
(lambda (#{x\ 2129}#)
(cdr (assq (cadr #{x\ 2129}#)
#{r\ 2128}#))))
(cdr #{e\ 2122}#))))
(cons 'map
(cons (list 'lambda
#{formals\ 2124}#
#{e\ 2122}#)
#{actuals\ 2125}#)))))))
(#{gen-mappend\ 2108}#
(lambda (#{e\ 2130}# #{map-env\ 2131}#)
(list 'apply
'(primitive append)
(#{gen-map\ 2109}# #{e\ 2130}# #{map-env\ 2131}#))))
(#{gen-ref\ 2107}#
(lambda (#{src\ 2132}#
#{var\ 2133}#
#{level\ 2134}#
#{maps\ 2135}#)
(if (#{fx=\ 1256}# #{level\ 2134}# 0)
(values #{var\ 2133}# #{maps\ 2135}#)
(if (null? #{maps\ 2135}#)
(syntax-violation
'syntax
"missing ellipsis"
#{src\ 2132}#)
(call-with-values
(lambda ()
(#{gen-ref\ 2107}#
#{src\ 2132}#
#{var\ 2133}#
(#{fx-\ 1255}# #{level\ 2134}# 1)
(cdr #{maps\ 2135}#)))
(lambda (#{outer-var\ 2136}# #{outer-maps\ 2137}#)
(let ((#{b\ 2138}#
(assq #{outer-var\ 2136}#
(car #{maps\ 2135}#))))
(if #{b\ 2138}#
(values (cdr #{b\ 2138}#) #{maps\ 2135}#)
(let ((#{inner-var\ 2139}#
(#{gen-var\ 1344}# (quote tmp))))
(values
#{inner-var\ 2139}#
(cons (cons (cons #{outer-var\ 2136}#
#{inner-var\ 2139}#)
(car #{maps\ 2135}#))
#{outer-maps\ 2137}#)))))))))))
(#{gen-syntax\ 2106}#
(lambda (#{src\ 2140}#
#{e\ 2141}#
#{r\ 2142}#
#{maps\ 2143}#
#{ellipsis?\ 2144}#
#{mod\ 2145}#)
(if (#{id?\ 1297}# #{e\ 2141}#)
(let ((#{label\ 2146}#
(#{id-var-name\ 1319}#
#{e\ 2141}#
'(()))))
(let ((#{b\ 2147}#
(#{lookup\ 1294}#
#{label\ 2146}#
#{r\ 2142}#
#{mod\ 2145}#)))
(if (eq? (#{binding-type\ 1289}# #{b\ 2147}#)
'syntax)
(call-with-values
(lambda ()
(let ((#{var.lev\ 2148}#
(#{binding-value\ 1290}#
#{b\ 2147}#)))
(#{gen-ref\ 2107}#
#{src\ 2140}#
(car #{var.lev\ 2148}#)
(cdr #{var.lev\ 2148}#)
#{maps\ 2143}#)))
(lambda (#{var\ 2149}# #{maps\ 2150}#)
(values
(list (quote ref) #{var\ 2149}#)
#{maps\ 2150}#)))
(if (#{ellipsis?\ 2144}# #{e\ 2141}#)
(syntax-violation
'syntax
"misplaced ellipsis"
#{src\ 2140}#)
(values
(list (quote quote) #{e\ 2141}#)
#{maps\ 2143}#)))))
((lambda (#{tmp\ 2151}#)
((lambda (#{tmp\ 2152}#)
(if (if #{tmp\ 2152}#
(apply (lambda (#{dots\ 2153}# #{e\ 2154}#)
(#{ellipsis?\ 2144}#
#{dots\ 2153}#))
#{tmp\ 2152}#)
#f)
(apply (lambda (#{dots\ 2155}# #{e\ 2156}#)
(#{gen-syntax\ 2106}#
#{src\ 2140}#
#{e\ 2156}#
#{r\ 2142}#
#{maps\ 2143}#
(lambda (#{x\ 2157}#) #f)
#{mod\ 2145}#))
#{tmp\ 2152}#)
((lambda (#{tmp\ 2158}#)
(if (if #{tmp\ 2158}#
(apply (lambda (#{x\ 2159}#
#{dots\ 2160}#
#{y\ 2161}#)
(#{ellipsis?\ 2144}#
#{dots\ 2160}#))
#{tmp\ 2158}#)
#f)
(apply (lambda (#{x\ 2162}#
#{dots\ 2163}#
#{y\ 2164}#)
(letrec ((#{f\ 2165}#
(lambda (#{y\ 2166}#
#{k\ 2167}#)
((lambda (#{tmp\ 2171}#)
((lambda (#{tmp\ 2172}#)
(if (if #{tmp\ 2172}#
(apply (lambda (#{dots\ 2173}#
#{y\ 2174}#)
(#{ellipsis?\ 2144}#
#{dots\ 2173}#))
#{tmp\ 2172}#)
#f)
(apply (lambda (#{dots\ 2175}#
#{y\ 2176}#)
(#{f\ 2165}#
#{y\ 2176}#
(lambda (#{maps\ 2177}#)
(call-with-values
(lambda ()
(#{k\ 2167}#
(cons '()
#{maps\ 2177}#)))
(lambda (#{x\ 2178}#
#{maps\ 2179}#)
(if (null? (car #{maps\ 2179}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 2140}#)
(values
(#{gen-mappend\ 2108}#
#{x\ 2178}#
(car #{maps\ 2179}#))
(cdr #{maps\ 2179}#))))))))
#{tmp\ 2172}#)
((lambda (#{_\ 2180}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2106}#
#{src\ 2140}#
#{y\ 2166}#
#{r\ 2142}#
#{maps\ 2143}#
#{ellipsis?\ 2144}#
#{mod\ 2145}#))
(lambda (#{y\ 2181}#
#{maps\ 2182}#)
(call-with-values
(lambda ()
(#{k\ 2167}#
#{maps\ 2182}#))
(lambda (#{x\ 2183}#
#{maps\ 2184}#)
(values
(#{gen-append\ 2111}#
#{x\ 2183}#
#{y\ 2181}#)
#{maps\ 2184}#))))))
#{tmp\ 2171}#)))
($sc-dispatch
#{tmp\ 2171}#
'(any . any))))
#{y\ 2166}#))))
(#{f\ 2165}#
#{y\ 2164}#
(lambda (#{maps\ 2168}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2106}#
#{src\ 2140}#
#{x\ 2162}#
#{r\ 2142}#
(cons '()
#{maps\ 2168}#)
#{ellipsis?\ 2144}#
#{mod\ 2145}#))
(lambda (#{x\ 2169}#
#{maps\ 2170}#)
(if (null? (car #{maps\ 2170}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 2140}#)
(values
(#{gen-map\ 2109}#
#{x\ 2169}#
(car #{maps\ 2170}#))
(cdr #{maps\ 2170}#)))))))))
#{tmp\ 2158}#)
((lambda (#{tmp\ 2185}#)
(if #{tmp\ 2185}#
(apply (lambda (#{x\ 2186}#
#{y\ 2187}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2106}#
#{src\ 2140}#
#{x\ 2186}#
#{r\ 2142}#
#{maps\ 2143}#
#{ellipsis?\ 2144}#
#{mod\ 2145}#))
(lambda (#{x\ 2188}#
#{maps\ 2189}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2106}#
#{src\ 2140}#
#{y\ 2187}#
#{r\ 2142}#
#{maps\ 2189}#
#{ellipsis?\ 2144}#
#{mod\ 2145}#))
(lambda (#{y\ 2190}#
#{maps\ 2191}#)
(values
(#{gen-cons\ 2110}#
#{x\ 2188}#
#{y\ 2190}#)
#{maps\ 2191}#))))))
#{tmp\ 2185}#)
((lambda (#{tmp\ 2192}#)
(if #{tmp\ 2192}#
(apply (lambda (#{e1\ 2193}#
#{e2\ 2194}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2106}#
#{src\ 2140}#
(cons #{e1\ 2193}#
#{e2\ 2194}#)
#{r\ 2142}#
#{maps\ 2143}#
#{ellipsis?\ 2144}#
#{mod\ 2145}#))
(lambda (#{e\ 2196}#
#{maps\ 2197}#)
(values
(#{gen-vector\ 2112}#
#{e\ 2196}#)
#{maps\ 2197}#))))
#{tmp\ 2192}#)
((lambda (#{_\ 2198}#)
(values
(list 'quote
#{e\ 2141}#)
#{maps\ 2143}#))
#{tmp\ 2151}#)))
($sc-dispatch
#{tmp\ 2151}#
'#(vector (any . each-any))))))
($sc-dispatch
#{tmp\ 2151}#
'(any . any)))))
($sc-dispatch
#{tmp\ 2151}#
'(any any . any)))))
($sc-dispatch #{tmp\ 2151}# (quote (any any)))))
#{e\ 2141}#)))))
(lambda (#{e\ 2199}#
#{r\ 2200}#
#{w\ 2201}#
#{s\ 2202}#
#{mod\ 2203}#)
(let ((#{e\ 2204}#
(#{source-wrap\ 1326}#
#{e\ 2199}#
#{w\ 2201}#
#{s\ 2202}#
#{mod\ 2203}#)))
((lambda (#{tmp\ 2205}#)
((lambda (#{tmp\ 2206}#)
(if #{tmp\ 2206}#
(apply (lambda (#{_\ 2207}# #{x\ 2208}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2106}#
#{e\ 2204}#
#{x\ 2208}#
#{r\ 2200}#
'()
#{ellipsis?\ 1342}#
#{mod\ 2203}#))
(lambda (#{e\ 2209}# #{maps\ 2210}#)
(#{regen\ 2113}# #{e\ 2209}#))))
#{tmp\ 2206}#)
((lambda (#{_\ 2211}#)
(syntax-violation
'syntax
"bad `syntax' form"
#{e\ 2204}#))
#{tmp\ 2205}#)))
($sc-dispatch #{tmp\ 2205}# (quote (any any)))))
#{e\ 2204}#)))))
(#{global-extend\ 1295}#
'core
'lambda
(lambda (#{e\ 2212}#
#{r\ 2213}#
#{w\ 2214}#
#{s\ 2215}#
#{mod\ 2216}#)
((lambda (#{tmp\ 2217}#)
((lambda (#{tmp\ 2218}#)
(if #{tmp\ 2218}#
(apply (lambda (#{_\ 2219}# #{c\ 2220}#)
(#{chi-lambda-clause\ 1338}#
(#{source-wrap\ 1326}#
#{e\ 2212}#
#{w\ 2214}#
#{s\ 2215}#
#{mod\ 2216}#)
#f
#{c\ 2220}#
#{r\ 2213}#
#{w\ 2214}#
#{mod\ 2216}#
(lambda (#{names\ 2221}#
#{vars\ 2222}#
#{docstring\ 2223}#
#{body\ 2224}#)
(#{build-lambda\ 1273}#
#{s\ 2215}#
#{names\ 2221}#
#{vars\ 2222}#
#{docstring\ 2223}#
#{body\ 2224}#))))
#{tmp\ 2218}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2217}#)))
($sc-dispatch #{tmp\ 2217}# (quote (any . any)))))
#{e\ 2212}#)))
(#{global-extend\ 1295}#
'core
'let
(letrec ((#{chi-let\ 2225}#
(lambda (#{e\ 2226}#
#{r\ 2227}#
#{w\ 2228}#
#{s\ 2229}#
#{mod\ 2230}#
#{constructor\ 2231}#
#{ids\ 2232}#
#{vals\ 2233}#
#{exps\ 2234}#)
(if (not (#{valid-bound-ids?\ 1322}# #{ids\ 2232}#))
(syntax-violation
'let
"duplicate bound variable"
#{e\ 2226}#)
(let ((#{labels\ 2235}#
(#{gen-labels\ 1303}# #{ids\ 2232}#))
(#{new-vars\ 2236}#
(map #{gen-var\ 1344}# #{ids\ 2232}#)))
(let ((#{nw\ 2237}#
(#{make-binding-wrap\ 1314}#
#{ids\ 2232}#
#{labels\ 2235}#
#{w\ 2228}#))
(#{nr\ 2238}#
(#{extend-var-env\ 1292}#
#{labels\ 2235}#
#{new-vars\ 2236}#
#{r\ 2227}#)))
(#{constructor\ 2231}#
#{s\ 2229}#
(map syntax->datum #{ids\ 2232}#)
#{new-vars\ 2236}#
(map (lambda (#{x\ 2239}#)
(#{chi\ 1333}#
#{x\ 2239}#
#{r\ 2227}#
#{w\ 2228}#
#{mod\ 2230}#))
#{vals\ 2233}#)
(#{chi-body\ 1337}#
#{exps\ 2234}#
(#{source-wrap\ 1326}#
#{e\ 2226}#
#{nw\ 2237}#
#{s\ 2229}#
#{mod\ 2230}#)
#{nr\ 2238}#
#{nw\ 2237}#
#{mod\ 2230}#))))))))
(lambda (#{e\ 2240}#
#{r\ 2241}#
#{w\ 2242}#
#{s\ 2243}#
#{mod\ 2244}#)
((lambda (#{tmp\ 2245}#)
((lambda (#{tmp\ 2246}#)
(if (if #{tmp\ 2246}#
(apply (lambda (#{_\ 2247}#
#{id\ 2248}#
#{val\ 2249}#
#{e1\ 2250}#
#{e2\ 2251}#)
(and-map #{id?\ 1297}# #{id\ 2248}#))
#{tmp\ 2246}#)
#f)
(apply (lambda (#{_\ 2253}#
#{id\ 2254}#
#{val\ 2255}#
#{e1\ 2256}#
#{e2\ 2257}#)
(#{chi-let\ 2225}#
#{e\ 2240}#
#{r\ 2241}#
#{w\ 2242}#
#{s\ 2243}#
#{mod\ 2244}#
#{build-let\ 1277}#
#{id\ 2254}#
#{val\ 2255}#
(cons #{e1\ 2256}# #{e2\ 2257}#)))
#{tmp\ 2246}#)
((lambda (#{tmp\ 2261}#)
(if (if #{tmp\ 2261}#
(apply (lambda (#{_\ 2262}#
#{f\ 2263}#
#{id\ 2264}#
#{val\ 2265}#
#{e1\ 2266}#
#{e2\ 2267}#)
(if (#{id?\ 1297}# #{f\ 2263}#)
(and-map #{id?\ 1297}# #{id\ 2264}#)
#f))
#{tmp\ 2261}#)
#f)
(apply (lambda (#{_\ 2269}#
#{f\ 2270}#
#{id\ 2271}#
#{val\ 2272}#
#{e1\ 2273}#
#{e2\ 2274}#)
(#{chi-let\ 2225}#
#{e\ 2240}#
#{r\ 2241}#
#{w\ 2242}#
#{s\ 2243}#
#{mod\ 2244}#
#{build-named-let\ 1278}#
(cons #{f\ 2270}# #{id\ 2271}#)
#{val\ 2272}#
(cons #{e1\ 2273}# #{e2\ 2274}#)))
#{tmp\ 2261}#)
((lambda (#{_\ 2278}#)
(syntax-violation
'let
"bad let"
(#{source-wrap\ 1326}#
#{e\ 2240}#
#{w\ 2242}#
#{s\ 2243}#
#{mod\ 2244}#)))
#{tmp\ 2245}#)))
($sc-dispatch
#{tmp\ 2245}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 2245}#
'(any #(each (any any)) any . each-any))))
#{e\ 2240}#))))
(#{global-extend\ 1295}#
'core
'letrec
(lambda (#{e\ 2279}#
#{r\ 2280}#
#{w\ 2281}#
#{s\ 2282}#
#{mod\ 2283}#)
((lambda (#{tmp\ 2284}#)
((lambda (#{tmp\ 2285}#)
(if (if #{tmp\ 2285}#
(apply (lambda (#{_\ 2286}#
#{id\ 2287}#
#{val\ 2288}#
#{e1\ 2289}#
#{e2\ 2290}#)
(and-map #{id?\ 1297}# #{id\ 2287}#))
#{tmp\ 2285}#)
#f)
(apply (lambda (#{_\ 2292}#
#{id\ 2293}#
#{val\ 2294}#
#{e1\ 2295}#
#{e2\ 2296}#)
(let ((#{ids\ 2297}# #{id\ 2293}#))
(if (not (#{valid-bound-ids?\ 1322}#
#{ids\ 2297}#))
(syntax-violation
'letrec
"duplicate bound variable"
#{e\ 2279}#)
(let ((#{labels\ 2299}#
(#{gen-labels\ 1303}# #{ids\ 2297}#))
(#{new-vars\ 2300}#
(map #{gen-var\ 1344}# #{ids\ 2297}#)))
(let ((#{w\ 2301}#
(#{make-binding-wrap\ 1314}#
#{ids\ 2297}#
#{labels\ 2299}#
#{w\ 2281}#))
(#{r\ 2302}#
(#{extend-var-env\ 1292}#
#{labels\ 2299}#
#{new-vars\ 2300}#
#{r\ 2280}#)))
(#{build-letrec\ 1279}#
#{s\ 2282}#
(map syntax->datum #{ids\ 2297}#)
#{new-vars\ 2300}#
(map (lambda (#{x\ 2303}#)
(#{chi\ 1333}#
#{x\ 2303}#
#{r\ 2302}#
#{w\ 2301}#
#{mod\ 2283}#))
#{val\ 2294}#)
(#{chi-body\ 1337}#
(cons #{e1\ 2295}# #{e2\ 2296}#)
(#{source-wrap\ 1326}#
#{e\ 2279}#
#{w\ 2301}#
#{s\ 2282}#
#{mod\ 2283}#)
#{r\ 2302}#
#{w\ 2301}#
#{mod\ 2283}#)))))))
#{tmp\ 2285}#)
((lambda (#{_\ 2306}#)
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 1326}#
#{e\ 2279}#
#{w\ 2281}#
#{s\ 2282}#
#{mod\ 2283}#)))
#{tmp\ 2284}#)))
($sc-dispatch
#{tmp\ 2284}#
'(any #(each (any any)) any . each-any))))
#{e\ 2279}#)))
(#{global-extend\ 1295}#
'core
'set!
(lambda (#{e\ 2307}#
#{r\ 2308}#
#{w\ 2309}#
#{s\ 2310}#
#{mod\ 2311}#)
((lambda (#{tmp\ 2312}#)
((lambda (#{tmp\ 2313}#)
(if (if #{tmp\ 2313}#
(apply (lambda (#{_\ 2314}# #{id\ 2315}# #{val\ 2316}#)
(#{id?\ 1297}# #{id\ 2315}#))
#{tmp\ 2313}#)
#f)
(apply (lambda (#{_\ 2317}# #{id\ 2318}# #{val\ 2319}#)
(let ((#{val\ 2320}#
(#{chi\ 1333}#
#{val\ 2319}#
#{r\ 2308}#
#{w\ 2309}#
#{mod\ 2311}#))
(#{n\ 2321}#
(#{id-var-name\ 1319}#
#{id\ 2318}#
#{w\ 2309}#)))
(let ((#{b\ 2322}#
(#{lookup\ 1294}#
#{n\ 2321}#
#{r\ 2308}#
#{mod\ 2311}#)))
(let ((#{atom-key\ 2323}#
(#{binding-type\ 1289}# #{b\ 2322}#)))
(if (memv #{atom-key\ 2323}#
'(lexical))
(#{build-lexical-assignment\ 1267}#
#{s\ 2310}#
(syntax->datum #{id\ 2318}#)
(#{binding-value\ 1290}# #{b\ 2322}#)
#{val\ 2320}#)
(if (memv #{atom-key\ 2323}#
'(global))
(#{build-global-assignment\ 1270}#
#{s\ 2310}#
#{n\ 2321}#
#{val\ 2320}#
#{mod\ 2311}#)
(if (memv #{atom-key\ 2323}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 1325}#
#{id\ 2318}#
#{w\ 2309}#
#{mod\ 2311}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 1326}#
#{e\ 2307}#
#{w\ 2309}#
#{s\ 2310}#
#{mod\ 2311}#)))))))))
#{tmp\ 2313}#)
((lambda (#{tmp\ 2324}#)
(if #{tmp\ 2324}#
(apply (lambda (#{_\ 2325}#
#{head\ 2326}#
#{tail\ 2327}#
#{val\ 2328}#)
(call-with-values
(lambda ()
(#{syntax-type\ 1331}#
#{head\ 2326}#
#{r\ 2308}#
'(())
#f
#f
#{mod\ 2311}#
#t))
(lambda (#{type\ 2329}#
#{value\ 2330}#
#{ee\ 2331}#
#{ww\ 2332}#
#{ss\ 2333}#
#{modmod\ 2334}#)
(if (memv #{type\ 2329}#
'(module-ref))
(let ((#{val\ 2335}#
(#{chi\ 1333}#
#{val\ 2328}#
#{r\ 2308}#
#{w\ 2309}#
#{mod\ 2311}#)))
(call-with-values
(lambda ()
(#{value\ 2330}#
(cons #{head\ 2326}#
#{tail\ 2327}#)))
(lambda (#{id\ 2337}# #{mod\ 2338}#)
(#{build-global-assignment\ 1270}#
#{s\ 2310}#
#{id\ 2337}#
#{val\ 2335}#
#{mod\ 2338}#))))
(#{build-application\ 1264}#
#{s\ 2310}#
(#{chi\ 1333}#
(list '#(syntax-object
setter
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(type
value
ee
ww
ss
modmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
#(_ head tail val)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e r w s mod)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{head\ 2326}#)
#{r\ 2308}#
#{w\ 2309}#
#{mod\ 2311}#)
(map (lambda (#{e\ 2339}#)
(#{chi\ 1333}#
#{e\ 2339}#
#{r\ 2308}#
#{w\ 2309}#
#{mod\ 2311}#))
(append
#{tail\ 2327}#
(list #{val\ 2328}#))))))))
#{tmp\ 2324}#)
((lambda (#{_\ 2341}#)
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 1326}#
#{e\ 2307}#
#{w\ 2309}#
#{s\ 2310}#
#{mod\ 2311}#)))
#{tmp\ 2312}#)))
($sc-dispatch
#{tmp\ 2312}#
'(any (any . each-any) any)))))
($sc-dispatch
#{tmp\ 2312}#
'(any any any))))
#{e\ 2307}#)))
(#{global-extend\ 1295}#
'module-ref
'@
(lambda (#{e\ 2342}#)
((lambda (#{tmp\ 2343}#)
((lambda (#{tmp\ 2344}#)
(if (if #{tmp\ 2344}#
(apply (lambda (#{_\ 2345}# #{mod\ 2346}# #{id\ 2347}#)
(if (and-map #{id?\ 1297}# #{mod\ 2346}#)
(#{id?\ 1297}# #{id\ 2347}#)
#f))
#{tmp\ 2344}#)
#f)
(apply (lambda (#{_\ 2349}# #{mod\ 2350}# #{id\ 2351}#)
(values
(syntax->datum #{id\ 2351}#)
(syntax->datum
(cons '#(syntax-object
public
((top)
#(ribcage
#(_ mod id)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(e) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{mod\ 2350}#))))
#{tmp\ 2344}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2343}#)))
($sc-dispatch
#{tmp\ 2343}#
'(any each-any any))))
#{e\ 2342}#)))
(#{global-extend\ 1295}#
'module-ref
'@@
(lambda (#{e\ 2353}#)
((lambda (#{tmp\ 2354}#)
((lambda (#{tmp\ 2355}#)
(if (if #{tmp\ 2355}#
(apply (lambda (#{_\ 2356}# #{mod\ 2357}# #{id\ 2358}#)
(if (and-map #{id?\ 1297}# #{mod\ 2357}#)
(#{id?\ 1297}# #{id\ 2358}#)
#f))
#{tmp\ 2355}#)
#f)
(apply (lambda (#{_\ 2360}# #{mod\ 2361}# #{id\ 2362}#)
(values
(syntax->datum #{id\ 2362}#)
(syntax->datum
(cons '#(syntax-object
private
((top)
#(ribcage
#(_ mod id)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(e) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{mod\ 2361}#))))
#{tmp\ 2355}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2354}#)))
($sc-dispatch
#{tmp\ 2354}#
'(any each-any any))))
#{e\ 2353}#)))
(#{global-extend\ 1295}#
'core
'if
(lambda (#{e\ 2364}#
#{r\ 2365}#
#{w\ 2366}#
#{s\ 2367}#
#{mod\ 2368}#)
((lambda (#{tmp\ 2369}#)
((lambda (#{tmp\ 2370}#)
(if #{tmp\ 2370}#
(apply (lambda (#{_\ 2371}# #{test\ 2372}# #{then\ 2373}#)
(#{build-conditional\ 1265}#
#{s\ 2367}#
(#{chi\ 1333}#
#{test\ 2372}#
#{r\ 2365}#
#{w\ 2366}#
#{mod\ 2368}#)
(#{chi\ 1333}#
#{then\ 2373}#
#{r\ 2365}#
#{w\ 2366}#
#{mod\ 2368}#)
(#{build-void\ 1263}# #f)))
#{tmp\ 2370}#)
((lambda (#{tmp\ 2374}#)
(if #{tmp\ 2374}#
(apply (lambda (#{_\ 2375}#
#{test\ 2376}#
#{then\ 2377}#
#{else\ 2378}#)
(#{build-conditional\ 1265}#
#{s\ 2367}#
(#{chi\ 1333}#
#{test\ 2376}#
#{r\ 2365}#
#{w\ 2366}#
#{mod\ 2368}#)
(#{chi\ 1333}#
#{then\ 2377}#
#{r\ 2365}#
#{w\ 2366}#
#{mod\ 2368}#)
(#{chi\ 1333}#
#{else\ 2378}#
#{r\ 2365}#
#{w\ 2366}#
#{mod\ 2368}#)))
#{tmp\ 2374}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2369}#)))
($sc-dispatch
#{tmp\ 2369}#
'(any any any any)))))
($sc-dispatch
#{tmp\ 2369}#
'(any any any))))
#{e\ 2364}#)))
(#{global-extend\ 1295}#
'begin
'begin
'())
(#{global-extend\ 1295}#
'define
'define
'())
(#{global-extend\ 1295}#
'define-syntax
'define-syntax
'())
(#{global-extend\ 1295}#
'eval-when
'eval-when
'())
(#{global-extend\ 1295}#
'core
'syntax-case
(letrec ((#{gen-syntax-case\ 2382}#
(lambda (#{x\ 2383}#
#{keys\ 2384}#
#{clauses\ 2385}#
#{r\ 2386}#
#{mod\ 2387}#)
(if (null? #{clauses\ 2385}#)
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}#
#f
'syntax-violation)
(list (#{build-data\ 1275}# #f #f)
(#{build-data\ 1275}#
#f
"source expression failed to match any pattern")
#{x\ 2383}#))
((lambda (#{tmp\ 2388}#)
((lambda (#{tmp\ 2389}#)
(if #{tmp\ 2389}#
(apply (lambda (#{pat\ 2390}# #{exp\ 2391}#)
(if (if (#{id?\ 1297}# #{pat\ 2390}#)
(and-map
(lambda (#{x\ 2392}#)
(not (#{free-id=?\ 1320}#
#{pat\ 2390}#
#{x\ 2392}#)))
(cons '#(syntax-object
...
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x
keys
clauses
r
mod)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top)
(top)
(top)
(top))
("i" "i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-lambda-clause
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
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{keys\ 2384}#))
#f)
(let ((#{labels\ 2393}#
(list (#{gen-label\ 1302}#)))
(#{var\ 2394}#
(#{gen-var\ 1344}#
#{pat\ 2390}#)))
(#{build-application\ 1264}#
#f
(#{build-lambda\ 1273}#
#f
(list (syntax->datum
#{pat\ 2390}#))
(list #{var\ 2394}#)
#f
(#{chi\ 1333}#
#{exp\ 2391}#
(#{extend-env\ 1291}#
#{labels\ 2393}#
(list (cons 'syntax
(cons #{var\ 2394}#
0)))
#{r\ 2386}#)
(#{make-binding-wrap\ 1314}#
(list #{pat\ 2390}#)
#{labels\ 2393}#
'(()))
#{mod\ 2387}#))
(list #{x\ 2383}#)))
(#{gen-clause\ 2381}#
#{x\ 2383}#
#{keys\ 2384}#
(cdr #{clauses\ 2385}#)
#{r\ 2386}#
#{pat\ 2390}#
#t
#{exp\ 2391}#
#{mod\ 2387}#)))
#{tmp\ 2389}#)
((lambda (#{tmp\ 2395}#)
(if #{tmp\ 2395}#
(apply (lambda (#{pat\ 2396}#
#{fender\ 2397}#
#{exp\ 2398}#)
(#{gen-clause\ 2381}#
#{x\ 2383}#
#{keys\ 2384}#
(cdr #{clauses\ 2385}#)
#{r\ 2386}#
#{pat\ 2396}#
#{fender\ 2397}#
#{exp\ 2398}#
#{mod\ 2387}#))
#{tmp\ 2395}#)
((lambda (#{_\ 2399}#)
(syntax-violation
'syntax-case
"invalid clause"
(car #{clauses\ 2385}#)))
#{tmp\ 2388}#)))
($sc-dispatch
#{tmp\ 2388}#
'(any any any)))))
($sc-dispatch #{tmp\ 2388}# (quote (any any)))))
(car #{clauses\ 2385}#)))))
(#{gen-clause\ 2381}#
(lambda (#{x\ 2400}#
#{keys\ 2401}#
#{clauses\ 2402}#
#{r\ 2403}#
#{pat\ 2404}#
#{fender\ 2405}#
#{exp\ 2406}#
#{mod\ 2407}#)
(call-with-values
(lambda ()
(#{convert-pattern\ 2379}#
#{pat\ 2404}#
#{keys\ 2401}#))
(lambda (#{p\ 2408}# #{pvars\ 2409}#)
(if (not (#{distinct-bound-ids?\ 1323}#
(map car #{pvars\ 2409}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
#{pat\ 2404}#)
(if (not (and-map
(lambda (#{x\ 2410}#)
(not (#{ellipsis?\ 1342}#
(car #{x\ 2410}#))))
#{pvars\ 2409}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
#{pat\ 2404}#)
(let ((#{y\ 2411}#
(#{gen-var\ 1344}# (quote tmp))))
(#{build-application\ 1264}#
#f
(#{build-lambda\ 1273}#
#f
(list (quote tmp))
(list #{y\ 2411}#)
#f
(let ((#{y\ 2412}#
(#{build-lexical-reference\ 1266}#
'value
#f
'tmp
#{y\ 2411}#)))
(#{build-conditional\ 1265}#
#f
((lambda (#{tmp\ 2413}#)
((lambda (#{tmp\ 2414}#)
(if #{tmp\ 2414}#
(apply (lambda () #{y\ 2412}#)
#{tmp\ 2414}#)
((lambda (#{_\ 2415}#)
(#{build-conditional\ 1265}#
#f
#{y\ 2412}#
(#{build-dispatch-call\ 2380}#
#{pvars\ 2409}#
#{fender\ 2405}#
#{y\ 2412}#
#{r\ 2403}#
#{mod\ 2407}#)
(#{build-data\ 1275}#
#f
#f)))
#{tmp\ 2413}#)))
($sc-dispatch
#{tmp\ 2413}#
'#(atom #t))))
#{fender\ 2405}#)
(#{build-dispatch-call\ 2380}#
#{pvars\ 2409}#
#{exp\ 2406}#
#{y\ 2412}#
#{r\ 2403}#
#{mod\ 2407}#)
(#{gen-syntax-case\ 2382}#
#{x\ 2400}#
#{keys\ 2401}#
#{clauses\ 2402}#
#{r\ 2403}#
#{mod\ 2407}#))))
(list (if (eq? #{p\ 2408}# (quote any))
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}#
#f
'list)
(list #{x\ 2400}#))
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}#
#f
'$sc-dispatch)
(list #{x\ 2400}#
(#{build-data\ 1275}#
#f
#{p\ 2408}#)))))))))))))
(#{build-dispatch-call\ 2380}#
(lambda (#{pvars\ 2416}#
#{exp\ 2417}#
#{y\ 2418}#
#{r\ 2419}#
#{mod\ 2420}#)
(let ((#{ids\ 2421}# (map car #{pvars\ 2416}#))
(#{levels\ 2422}# (map cdr #{pvars\ 2416}#)))
(let ((#{labels\ 2423}#
(#{gen-labels\ 1303}# #{ids\ 2421}#))
(#{new-vars\ 2424}#
(map #{gen-var\ 1344}# #{ids\ 2421}#)))
(#{build-application\ 1264}#
#f
(#{build-primref\ 1274}# #f (quote apply))
(list (#{build-lambda\ 1273}#
#f
(map syntax->datum #{ids\ 2421}#)
#{new-vars\ 2424}#
#f
(#{chi\ 1333}#
#{exp\ 2417}#
(#{extend-env\ 1291}#
#{labels\ 2423}#
(map (lambda (#{var\ 2425}#
#{level\ 2426}#)
(cons 'syntax
(cons #{var\ 2425}#
#{level\ 2426}#)))
#{new-vars\ 2424}#
(map cdr #{pvars\ 2416}#))
#{r\ 2419}#)
(#{make-binding-wrap\ 1314}#
#{ids\ 2421}#
#{labels\ 2423}#
'(()))
#{mod\ 2420}#))
#{y\ 2418}#))))))
(#{convert-pattern\ 2379}#
(lambda (#{pattern\ 2427}# #{keys\ 2428}#)
(letrec ((#{cvt\ 2429}#
(lambda (#{p\ 2430}# #{n\ 2431}# #{ids\ 2432}#)
(if (#{id?\ 1297}# #{p\ 2430}#)
(if (#{bound-id-member?\ 1324}#
#{p\ 2430}#
#{keys\ 2428}#)
(values
(vector (quote free-id) #{p\ 2430}#)
#{ids\ 2432}#)
(values
'any
(cons (cons #{p\ 2430}# #{n\ 2431}#)
#{ids\ 2432}#)))
((lambda (#{tmp\ 2433}#)
((lambda (#{tmp\ 2434}#)
(if (if #{tmp\ 2434}#
(apply (lambda (#{x\ 2435}#
#{dots\ 2436}#)
(#{ellipsis?\ 1342}#
#{dots\ 2436}#))
#{tmp\ 2434}#)
#f)
(apply (lambda (#{x\ 2437}#
#{dots\ 2438}#)
(call-with-values
(lambda ()
(#{cvt\ 2429}#
#{x\ 2437}#
(#{fx+\ 1254}#
#{n\ 2431}#
1)
#{ids\ 2432}#))
(lambda (#{p\ 2439}#
#{ids\ 2440}#)
(values
(if (eq? #{p\ 2439}#
'any)
'each-any
(vector
'each
#{p\ 2439}#))
#{ids\ 2440}#))))
#{tmp\ 2434}#)
((lambda (#{tmp\ 2441}#)
(if #{tmp\ 2441}#
(apply (lambda (#{x\ 2442}#
#{y\ 2443}#)
(call-with-values
(lambda ()
(#{cvt\ 2429}#
#{y\ 2443}#
#{n\ 2431}#
#{ids\ 2432}#))
(lambda (#{y\ 2444}#
#{ids\ 2445}#)
(call-with-values
(lambda ()
(#{cvt\ 2429}#
#{x\ 2442}#
#{n\ 2431}#
#{ids\ 2445}#))
(lambda (#{x\ 2446}#
#{ids\ 2447}#)
(values
(cons #{x\ 2446}#
#{y\ 2444}#)
#{ids\ 2447}#))))))
#{tmp\ 2441}#)
((lambda (#{tmp\ 2448}#)
(if #{tmp\ 2448}#
(apply (lambda ()
(values
'()
#{ids\ 2432}#))
#{tmp\ 2448}#)
((lambda (#{tmp\ 2449}#)
(if #{tmp\ 2449}#
(apply (lambda (#{x\ 2450}#)
(call-with-values
(lambda ()
(#{cvt\ 2429}#
#{x\ 2450}#
#{n\ 2431}#
#{ids\ 2432}#))
(lambda (#{p\ 2452}#
#{ids\ 2453}#)
(values
(vector
'vector
#{p\ 2452}#)
#{ids\ 2453}#))))
#{tmp\ 2449}#)
((lambda (#{x\ 2454}#)
(values
(vector
'atom
(#{strip\ 1343}#
#{p\ 2430}#
'(())))
#{ids\ 2432}#))
#{tmp\ 2433}#)))
($sc-dispatch
#{tmp\ 2433}#
'#(vector
each-any)))))
($sc-dispatch
#{tmp\ 2433}#
'()))))
($sc-dispatch
#{tmp\ 2433}#
'(any . any)))))
($sc-dispatch
#{tmp\ 2433}#
'(any any))))
#{p\ 2430}#)))))
(#{cvt\ 2429}# #{pattern\ 2427}# 0 (quote ()))))))
(lambda (#{e\ 2455}#
#{r\ 2456}#
#{w\ 2457}#
#{s\ 2458}#
#{mod\ 2459}#)
(let ((#{e\ 2460}#
(#{source-wrap\ 1326}#
#{e\ 2455}#
#{w\ 2457}#
#{s\ 2458}#
#{mod\ 2459}#)))
((lambda (#{tmp\ 2461}#)
((lambda (#{tmp\ 2462}#)
(if #{tmp\ 2462}#
(apply (lambda (#{_\ 2463}#
#{val\ 2464}#
#{key\ 2465}#
#{m\ 2466}#)
(if (and-map
(lambda (#{x\ 2467}#)
(if (#{id?\ 1297}# #{x\ 2467}#)
(not (#{ellipsis?\ 1342}#
#{x\ 2467}#))
#f))
#{key\ 2465}#)
(let ((#{x\ 2469}#
(#{gen-var\ 1344}# (quote tmp))))
(#{build-application\ 1264}#
#{s\ 2458}#
(#{build-lambda\ 1273}#
#f
(list (quote tmp))
(list #{x\ 2469}#)
#f
(#{gen-syntax-case\ 2382}#
(#{build-lexical-reference\ 1266}#
'value
#f
'tmp
#{x\ 2469}#)
#{key\ 2465}#
#{m\ 2466}#
#{r\ 2456}#
#{mod\ 2459}#))
(list (#{chi\ 1333}#
#{val\ 2464}#
#{r\ 2456}#
'(())
#{mod\ 2459}#))))
(syntax-violation
'syntax-case
"invalid literals list"
#{e\ 2460}#)))
#{tmp\ 2462}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2461}#)))
($sc-dispatch
#{tmp\ 2461}#
'(any any each-any . each-any))))
#{e\ 2460}#)))))
(set! sc-expand
(lambda (#{x\ 2473}# . #{rest\ 2472}#)
(if (if (pair? #{x\ 2473}#)
(equal? (car #{x\ 2473}#) #{noexpand\ 1252}#)
#f)
(cadr #{x\ 2473}#)
(let ((#{m\ 2474}#
(if (null? #{rest\ 2472}#)
'e
(car #{rest\ 2472}#)))
(#{esew\ 2475}#
(if (let ((#{t\ 2476}# (null? #{rest\ 2472}#)))
(if #{t\ 2476}#
#{t\ 2476}#
(null? (cdr #{rest\ 2472}#))))
'(eval)
(cadr #{rest\ 2472}#))))
(with-fluid*
#{*mode*\ 1253}#
#{m\ 2474}#
(lambda ()
(#{chi-top\ 1332}#
#{x\ 2473}#
'()
'((top))
#{m\ 2474}#
#{esew\ 2475}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
(lambda (#{x\ 2477}#)
(#{nonsymbol-id?\ 1296}# #{x\ 2477}#)))
(set! datum->syntax
(lambda (#{id\ 2478}# #{datum\ 2479}#)
(#{make-syntax-object\ 1280}#
#{datum\ 2479}#
(#{syntax-object-wrap\ 1283}# #{id\ 2478}#)
#f)))
(set! syntax->datum
(lambda (#{x\ 2480}#)
(#{strip\ 1343}# #{x\ 2480}# (quote (())))))
(set! generate-temporaries
(lambda (#{ls\ 2481}#)
(begin
(let ((#{x\ 2482}# #{ls\ 2481}#))
(if (not (list? #{x\ 2482}#))
(syntax-violation
'generate-temporaries
"invalid argument"
#{x\ 2482}#)))
(map (lambda (#{x\ 2483}#)
(#{wrap\ 1325}# (gensym) (quote ((top))) #f))
#{ls\ 2481}#))))
(set! free-identifier=?
(lambda (#{x\ 2484}# #{y\ 2485}#)
(begin
(let ((#{x\ 2486}# #{x\ 2484}#))
(if (not (#{nonsymbol-id?\ 1296}# #{x\ 2486}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 2486}#)))
(let ((#{x\ 2487}# #{y\ 2485}#))
(if (not (#{nonsymbol-id?\ 1296}# #{x\ 2487}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 2487}#)))
(#{free-id=?\ 1320}# #{x\ 2484}# #{y\ 2485}#))))
(set! bound-identifier=?
(lambda (#{x\ 2488}# #{y\ 2489}#)
(begin
(let ((#{x\ 2490}# #{x\ 2488}#))
(if (not (#{nonsymbol-id?\ 1296}# #{x\ 2490}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 2490}#)))
(let ((#{x\ 2491}# #{y\ 2489}#))
(if (not (#{nonsymbol-id?\ 1296}# #{x\ 2491}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 2491}#)))
(#{bound-id=?\ 1321}# #{x\ 2488}# #{y\ 2489}#))))
(set! syntax-violation
(lambda (#{who\ 2495}#
#{message\ 2494}#
#{form\ 2493}#
.
#{subform\ 2492}#)
(begin
(let ((#{x\ 2496}# #{who\ 2495}#))
(if (not ((lambda (#{x\ 2497}#)
(let ((#{t\ 2498}# (not #{x\ 2497}#)))
(if #{t\ 2498}#
#{t\ 2498}#
(let ((#{t\ 2499}# (string? #{x\ 2497}#)))
(if #{t\ 2499}#
#{t\ 2499}#
(symbol? #{x\ 2497}#))))))
#{x\ 2496}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 2496}#)))
(let ((#{x\ 2500}# #{message\ 2494}#))
(if (not (string? #{x\ 2500}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 2500}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
(if #{who\ 2495}# "~a: " "")
"~a "
(if (null? #{subform\ 2492}#)
"in ~a"
"in subform `~s' of `~s'"))
(let ((#{tail\ 2501}#
(cons #{message\ 2494}#
(map (lambda (#{x\ 2502}#)
(#{strip\ 1343}# #{x\ 2502}# (quote (()))))
(append
#{subform\ 2492}#
(list #{form\ 2493}#))))))
(if #{who\ 2495}#
(cons #{who\ 2495}# #{tail\ 2501}#)
#{tail\ 2501}#))
#f))))
(letrec ((#{match\ 2507}#
(lambda (#{e\ 2508}#
#{p\ 2509}#
#{w\ 2510}#
#{r\ 2511}#
#{mod\ 2512}#)
(if (not #{r\ 2511}#)
#f
(if (eq? #{p\ 2509}# (quote any))
(cons (#{wrap\ 1325}#
#{e\ 2508}#
#{w\ 2510}#
#{mod\ 2512}#)
#{r\ 2511}#)
(if (#{syntax-object?\ 1281}# #{e\ 2508}#)
(#{match*\ 2506}#
(#{syntax-object-expression\ 1282}# #{e\ 2508}#)
#{p\ 2509}#
(#{join-wraps\ 1316}#
#{w\ 2510}#
(#{syntax-object-wrap\ 1283}# #{e\ 2508}#))
#{r\ 2511}#
(#{syntax-object-module\ 1284}# #{e\ 2508}#))
(#{match*\ 2506}#
#{e\ 2508}#
#{p\ 2509}#
#{w\ 2510}#
#{r\ 2511}#
#{mod\ 2512}#))))))
(#{match*\ 2506}#
(lambda (#{e\ 2513}#
#{p\ 2514}#
#{w\ 2515}#
#{r\ 2516}#
#{mod\ 2517}#)
(if (null? #{p\ 2514}#)
(if (null? #{e\ 2513}#) #{r\ 2516}# #f)
(if (pair? #{p\ 2514}#)
(if (pair? #{e\ 2513}#)
(#{match\ 2507}#
(car #{e\ 2513}#)
(car #{p\ 2514}#)
#{w\ 2515}#
(#{match\ 2507}#
(cdr #{e\ 2513}#)
(cdr #{p\ 2514}#)
#{w\ 2515}#
#{r\ 2516}#
#{mod\ 2517}#)
#{mod\ 2517}#)
#f)
(if (eq? #{p\ 2514}# (quote each-any))
(let ((#{l\ 2518}#
(#{match-each-any\ 2504}#
#{e\ 2513}#
#{w\ 2515}#
#{mod\ 2517}#)))
(if #{l\ 2518}#
(cons #{l\ 2518}# #{r\ 2516}#)
#f))
(let ((#{atom-key\ 2519}# (vector-ref #{p\ 2514}# 0)))
(if (memv #{atom-key\ 2519}# (quote (each)))
(if (null? #{e\ 2513}#)
(#{match-empty\ 2505}#
(vector-ref #{p\ 2514}# 1)
#{r\ 2516}#)
(let ((#{l\ 2520}#
(#{match-each\ 2503}#
#{e\ 2513}#
(vector-ref #{p\ 2514}# 1)
#{w\ 2515}#
#{mod\ 2517}#)))
(if #{l\ 2520}#
(letrec ((#{collect\ 2521}#
(lambda (#{l\ 2522}#)
(if (null? (car #{l\ 2522}#))
#{r\ 2516}#
(cons (map car #{l\ 2522}#)
(#{collect\ 2521}#
(map cdr
#{l\ 2522}#)))))))
(#{collect\ 2521}# #{l\ 2520}#))
#f)))
(if (memv #{atom-key\ 2519}# (quote (free-id)))
(if (#{id?\ 1297}# #{e\ 2513}#)
(if (#{free-id=?\ 1320}#
(#{wrap\ 1325}#
#{e\ 2513}#
#{w\ 2515}#
#{mod\ 2517}#)
(vector-ref #{p\ 2514}# 1))
#{r\ 2516}#
#f)
#f)
(if (memv #{atom-key\ 2519}# (quote (atom)))
(if (equal?
(vector-ref #{p\ 2514}# 1)
(#{strip\ 1343}#
#{e\ 2513}#
#{w\ 2515}#))
#{r\ 2516}#
#f)
(if (memv #{atom-key\ 2519}# (quote (vector)))
(if (vector? #{e\ 2513}#)
(#{match\ 2507}#
(vector->list #{e\ 2513}#)
(vector-ref #{p\ 2514}# 1)
#{w\ 2515}#
#{r\ 2516}#
#{mod\ 2517}#)
#f)))))))))))
(#{match-empty\ 2505}#
(lambda (#{p\ 2523}# #{r\ 2524}#)
(if (null? #{p\ 2523}#)
#{r\ 2524}#
(if (eq? #{p\ 2523}# (quote any))
(cons (quote ()) #{r\ 2524}#)
(if (pair? #{p\ 2523}#)
(#{match-empty\ 2505}#
(car #{p\ 2523}#)
(#{match-empty\ 2505}#
(cdr #{p\ 2523}#)
#{r\ 2524}#))
(if (eq? #{p\ 2523}# (quote each-any))
(cons (quote ()) #{r\ 2524}#)
(let ((#{atom-key\ 2525}#
(vector-ref #{p\ 2523}# 0)))
(if (memv #{atom-key\ 2525}# (quote (each)))
(#{match-empty\ 2505}#
(vector-ref #{p\ 2523}# 1)
#{r\ 2524}#)
(if (memv #{atom-key\ 2525}#
'(free-id atom))
#{r\ 2524}#
(if (memv #{atom-key\ 2525}# (quote (vector)))
(#{match-empty\ 2505}#
(vector-ref #{p\ 2523}# 1)
#{r\ 2524}#)))))))))))
(#{match-each-any\ 2504}#
(lambda (#{e\ 2526}# #{w\ 2527}# #{mod\ 2528}#)
(if (pair? #{e\ 2526}#)
(let ((#{l\ 2529}#
(#{match-each-any\ 2504}#
(cdr #{e\ 2526}#)
#{w\ 2527}#
#{mod\ 2528}#)))
(if #{l\ 2529}#
(cons (#{wrap\ 1325}#
(car #{e\ 2526}#)
#{w\ 2527}#
#{mod\ 2528}#)
#{l\ 2529}#)
#f))
(if (null? #{e\ 2526}#)
'()
(if (#{syntax-object?\ 1281}# #{e\ 2526}#)
(#{match-each-any\ 2504}#
(#{syntax-object-expression\ 1282}# #{e\ 2526}#)
(#{join-wraps\ 1316}#
#{w\ 2527}#
(#{syntax-object-wrap\ 1283}# #{e\ 2526}#))
#{mod\ 2528}#)
#f)))))
(#{match-each\ 2503}#
(lambda (#{e\ 2530}#
#{p\ 2531}#
#{w\ 2532}#
#{mod\ 2533}#)
(if (pair? #{e\ 2530}#)
(let ((#{first\ 2534}#
(#{match\ 2507}#
(car #{e\ 2530}#)
#{p\ 2531}#
#{w\ 2532}#
'()
#{mod\ 2533}#)))
(if #{first\ 2534}#
(let ((#{rest\ 2535}#
(#{match-each\ 2503}#
(cdr #{e\ 2530}#)
#{p\ 2531}#
#{w\ 2532}#
#{mod\ 2533}#)))
(if #{rest\ 2535}#
(cons #{first\ 2534}# #{rest\ 2535}#)
#f))
#f))
(if (null? #{e\ 2530}#)
'()
(if (#{syntax-object?\ 1281}# #{e\ 2530}#)
(#{match-each\ 2503}#
(#{syntax-object-expression\ 1282}# #{e\ 2530}#)
#{p\ 2531}#
(#{join-wraps\ 1316}#
#{w\ 2532}#
(#{syntax-object-wrap\ 1283}# #{e\ 2530}#))
(#{syntax-object-module\ 1284}# #{e\ 2530}#))
#f))))))
(set! $sc-dispatch
(lambda (#{e\ 2536}# #{p\ 2537}#)
(if (eq? #{p\ 2537}# (quote any))
(list #{e\ 2536}#)
(if (#{syntax-object?\ 1281}# #{e\ 2536}#)
(#{match*\ 2506}#
(#{syntax-object-expression\ 1282}# #{e\ 2536}#)
#{p\ 2537}#
(#{syntax-object-wrap\ 1283}# #{e\ 2536}#)
'()
(#{syntax-object-module\ 1284}# #{e\ 2536}#))
(#{match*\ 2506}#
#{e\ 2536}#
#{p\ 2537}#
'(())
'()
#f)))))))))
(define with-syntax
(make-syncase-macro
'macro
(lambda (#{x\ 2538}#)
((lambda (#{tmp\ 2539}#)
((lambda (#{tmp\ 2540}#)
(if #{tmp\ 2540}#
(apply (lambda (#{_\ 2541}# #{e1\ 2542}# #{e2\ 2543}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ e1 e2)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons #{e1\ 2542}# #{e2\ 2543}#)))
#{tmp\ 2540}#)
((lambda (#{tmp\ 2545}#)
(if #{tmp\ 2545}#
(apply (lambda (#{_\ 2546}#
#{out\ 2547}#
#{in\ 2548}#
#{e1\ 2549}#
#{e2\ 2550}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
#{in\ 2548}#
'()
(list #{out\ 2547}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e1\ 2549}#
#{e2\ 2550}#)))))
#{tmp\ 2545}#)
((lambda (#{tmp\ 2552}#)
(if #{tmp\ 2552}#
(apply (lambda (#{_\ 2553}#
#{out\ 2554}#
#{in\ 2555}#
#{e1\ 2556}#
#{e2\ 2557}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons '#(syntax-object
list
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{in\ 2555}#)
'()
(list #{out\ 2554}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e1\ 2556}#
#{e2\ 2557}#)))))
#{tmp\ 2552}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2539}#)))
($sc-dispatch
#{tmp\ 2539}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 2539}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 2539}#
'(any () any . each-any))))
#{x\ 2538}#))))
(define syntax-rules
(make-syncase-macro
'macro
(lambda (#{x\ 2561}#)
((lambda (#{tmp\ 2562}#)
((lambda (#{tmp\ 2563}#)
(if #{tmp\ 2563}#
(apply (lambda (#{_\ 2564}#
#{k\ 2565}#
#{keyword\ 2566}#
#{pattern\ 2567}#
#{template\ 2568}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile)))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons '#(syntax-object
x
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons #{k\ 2565}#
(map (lambda (#{tmp\ 2571}#
#{tmp\ 2570}#)
(list (cons '#(syntax-object
dummy
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{tmp\ 2570}#)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{tmp\ 2571}#)))
#{template\ 2568}#
#{pattern\ 2567}#))))))
#{tmp\ 2563}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2562}#)))
($sc-dispatch
#{tmp\ 2562}#
'(any each-any . #(each ((any . any) any))))))
#{x\ 2561}#))))
(define let*
(make-extended-syncase-macro
(module-ref (current-module) (quote let*))
'macro
(lambda (#{x\ 2572}#)
((lambda (#{tmp\ 2573}#)
((lambda (#{tmp\ 2574}#)
(if (if #{tmp\ 2574}#
(apply (lambda (#{let*\ 2575}#
#{x\ 2576}#
#{v\ 2577}#
#{e1\ 2578}#
#{e2\ 2579}#)
(and-map identifier? #{x\ 2576}#))
#{tmp\ 2574}#)
#f)
(apply (lambda (#{let*\ 2581}#
#{x\ 2582}#
#{v\ 2583}#
#{e1\ 2584}#
#{e2\ 2585}#)
(letrec ((#{f\ 2586}#
(lambda (#{bindings\ 2587}#)
(if (null? #{bindings\ 2587}#)
(cons '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("i" "i"))
#(ribcage
#(let* x v e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons '()
(cons #{e1\ 2584}#
#{e2\ 2585}#)))
((lambda (#{tmp\ 2591}#)
((lambda (#{tmp\ 2592}#)
(if #{tmp\ 2592}#
(apply (lambda (#{body\ 2593}#
#{binding\ 2594}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(body
binding)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(f
bindings)
#((top)
(top))
#("i" "i"))
#(ribcage
#(let*
x
v
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list #{binding\ 2594}#)
#{body\ 2593}#))
#{tmp\ 2592}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2591}#)))
($sc-dispatch
#{tmp\ 2591}#
'(any any))))
(list (#{f\ 2586}#
(cdr #{bindings\ 2587}#))
(car #{bindings\ 2587}#)))))))
(#{f\ 2586}# (map list #{x\ 2582}# #{v\ 2583}#))))
#{tmp\ 2574}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2573}#)))
($sc-dispatch
#{tmp\ 2573}#
'(any #(each (any any)) any . each-any))))
#{x\ 2572}#))))
(define do
(make-extended-syncase-macro
(module-ref (current-module) (quote do))
'macro
(lambda (#{orig-x\ 2595}#)
((lambda (#{tmp\ 2596}#)
((lambda (#{tmp\ 2597}#)
(if #{tmp\ 2597}#
(apply (lambda (#{_\ 2598}#
#{var\ 2599}#
#{init\ 2600}#
#{step\ 2601}#
#{e0\ 2602}#
#{e1\ 2603}#
#{c\ 2604}#)
((lambda (#{tmp\ 2605}#)
((lambda (#{tmp\ 2606}#)
(if #{tmp\ 2606}#
(apply (lambda (#{step\ 2607}#)
((lambda (#{tmp\ 2608}#)
((lambda (#{tmp\ 2609}#)
(if #{tmp\ 2609}#
(apply (lambda ()
(list '#(syntax-object
let
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(map list
#{var\ 2599}#
#{init\ 2600}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
not
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{e0\ 2602}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(append
#{c\ 2604}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{step\ 2607}#)))))))
#{tmp\ 2609}#)
((lambda (#{tmp\ 2614}#)
(if #{tmp\ 2614}#
(apply (lambda (#{e1\ 2615}#
#{e2\ 2616}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(map list
#{var\ 2599}#
#{init\ 2600}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{e0\ 2602}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 2615}#
#{e2\ 2616}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(append
#{c\ 2604}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{step\ 2607}#)))))))
#{tmp\ 2614}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2608}#)))
($sc-dispatch
#{tmp\ 2608}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 2608}#
'())))
#{e1\ 2603}#))
#{tmp\ 2606}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2605}#)))
($sc-dispatch #{tmp\ 2605}# (quote each-any))))
(map (lambda (#{v\ 2623}# #{s\ 2624}#)
((lambda (#{tmp\ 2625}#)
((lambda (#{tmp\ 2626}#)
(if #{tmp\ 2626}#
(apply (lambda () #{v\ 2623}#)
#{tmp\ 2626}#)
((lambda (#{tmp\ 2627}#)
(if #{tmp\ 2627}#
(apply (lambda (#{e\ 2628}#)
#{e\ 2628}#)
#{tmp\ 2627}#)
((lambda (#{_\ 2629}#)
(syntax-violation
'do
"bad step expression"
#{orig-x\ 2595}#
#{s\ 2624}#))
#{tmp\ 2625}#)))
($sc-dispatch
#{tmp\ 2625}#
'(any)))))
($sc-dispatch #{tmp\ 2625}# (quote ()))))
#{s\ 2624}#))
#{var\ 2599}#
#{step\ 2601}#)))
#{tmp\ 2597}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2596}#)))
($sc-dispatch
#{tmp\ 2596}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
#{orig-x\ 2595}#))))
(define quasiquote
(make-extended-syncase-macro
(module-ref (current-module) (quote quasiquote))
'macro
(letrec ((#{quasicons\ 2632}#
(lambda (#{x\ 2636}# #{y\ 2637}#)
((lambda (#{tmp\ 2638}#)
((lambda (#{tmp\ 2639}#)
(if #{tmp\ 2639}#
(apply (lambda (#{x\ 2640}# #{y\ 2641}#)
((lambda (#{tmp\ 2642}#)
((lambda (#{tmp\ 2643}#)
(if #{tmp\ 2643}#
(apply (lambda (#{dy\ 2644}#)
((lambda (#{tmp\ 2645}#)
((lambda (#{tmp\ 2646}#)
(if #{tmp\ 2646}#
(apply (lambda (#{dx\ 2647}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(dx)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
(cons #{dx\ 2647}#
#{dy\ 2644}#)))
#{tmp\ 2646}#)
((lambda (#{_\ 2648}#)
(if (null? #{dy\ 2644}#)
(list '#(syntax-object
list
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 2640}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 2640}#
#{y\ 2641}#)))
#{tmp\ 2645}#)))
($sc-dispatch
#{tmp\ 2645}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile)))
any))))
#{x\ 2640}#))
#{tmp\ 2643}#)
((lambda (#{tmp\ 2649}#)
(if #{tmp\ 2649}#
(apply (lambda (#{stuff\ 2650}#)
(cons '#(syntax-object
list
((top)
#(ribcage
#(stuff)
#((top))
#("i"))
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
(cons #{x\ 2640}#
#{stuff\ 2650}#)))
#{tmp\ 2649}#)
((lambda (#{else\ 2651}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(else)
#((top))
#("i"))
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#{x\ 2640}#
#{y\ 2641}#))
#{tmp\ 2642}#)))
($sc-dispatch
#{tmp\ 2642}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)))))
($sc-dispatch
#{tmp\ 2642}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
#{y\ 2641}#))
#{tmp\ 2639}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2638}#)))
($sc-dispatch #{tmp\ 2638}# (quote (any any)))))
(list #{x\ 2636}# #{y\ 2637}#))))
(#{quasiappend\ 2633}#
(lambda (#{x\ 2652}# #{y\ 2653}#)
((lambda (#{tmp\ 2654}#)
((lambda (#{tmp\ 2655}#)
(if #{tmp\ 2655}#
(apply (lambda (#{x\ 2656}# #{y\ 2657}#)
((lambda (#{tmp\ 2658}#)
((lambda (#{tmp\ 2659}#)
(if #{tmp\ 2659}#
(apply (lambda () #{x\ 2656}#)
#{tmp\ 2659}#)
((lambda (#{_\ 2660}#)
(list '#(syntax-object
append
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#{x\ 2656}#
#{y\ 2657}#))
#{tmp\ 2658}#)))
($sc-dispatch
#{tmp\ 2658}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
()))))
#{y\ 2657}#))
#{tmp\ 2655}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2654}#)))
($sc-dispatch #{tmp\ 2654}# (quote (any any)))))
(list #{x\ 2652}# #{y\ 2653}#))))
(#{quasivector\ 2634}#
(lambda (#{x\ 2661}#)
((lambda (#{tmp\ 2662}#)
((lambda (#{x\ 2663}#)
((lambda (#{tmp\ 2664}#)
((lambda (#{tmp\ 2665}#)
(if #{tmp\ 2665}#
(apply (lambda (#{x\ 2666}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
(list->vector #{x\ 2666}#)))
#{tmp\ 2665}#)
((lambda (#{tmp\ 2668}#)
(if #{tmp\ 2668}#
(apply (lambda (#{x\ 2669}#)
(cons '#(syntax-object
vector
((top)
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#{x\ 2669}#))
#{tmp\ 2668}#)
((lambda (#{_\ 2671}#)
(list '#(syntax-object
list->vector
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
#{x\ 2663}#))
#{tmp\ 2664}#)))
($sc-dispatch
#{tmp\ 2664}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage #(x) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
each-any)))))
($sc-dispatch
#{tmp\ 2664}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage #(x) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
each-any))))
#{x\ 2663}#))
#{tmp\ 2662}#))
#{x\ 2661}#)))
(#{quasi\ 2635}#
(lambda (#{p\ 2672}# #{lev\ 2673}#)
((lambda (#{tmp\ 2674}#)
((lambda (#{tmp\ 2675}#)
(if #{tmp\ 2675}#
(apply (lambda (#{p\ 2676}#)
(if (= #{lev\ 2673}# 0)
#{p\ 2676}#
(#{quasicons\ 2632}#
'(#(syntax-object
quote
((top)
#(ribcage #(p) #((top)) #("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage #(p) #((top)) #("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
(#{quasi\ 2635}#
(list #{p\ 2676}#)
(- #{lev\ 2673}# 1)))))
#{tmp\ 2675}#)
((lambda (#{tmp\ 2677}#)
(if (if #{tmp\ 2677}#
(apply (lambda (#{args\ 2678}#)
(= #{lev\ 2673}# 0))
#{tmp\ 2677}#)
#f)
(apply (lambda (#{args\ 2679}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
#{p\ 2672}#
(cons '#(syntax-object
unquote
((top)
#(ribcage
#(args)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
#{args\ 2679}#)))
#{tmp\ 2677}#)
((lambda (#{tmp\ 2680}#)
(if #{tmp\ 2680}#
(apply (lambda (#{p\ 2681}# #{q\ 2682}#)
(if (= #{lev\ 2673}# 0)
(#{quasiappend\ 2633}#
#{p\ 2681}#
(#{quasi\ 2635}#
#{q\ 2682}#
#{lev\ 2673}#))
(#{quasicons\ 2632}#
(#{quasicons\ 2632}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p q)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p q)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
(#{quasi\ 2635}#
(list #{p\ 2681}#)
(- #{lev\ 2673}# 1)))
(#{quasi\ 2635}#
#{q\ 2682}#
#{lev\ 2673}#))))
#{tmp\ 2680}#)
((lambda (#{tmp\ 2683}#)
(if (if #{tmp\ 2683}#
(apply (lambda (#{args\ 2684}#
#{q\ 2685}#)
(= #{lev\ 2673}# 0))
#{tmp\ 2683}#)
#f)
(apply (lambda (#{args\ 2686}#
#{q\ 2687}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes exactly one argument"
#{p\ 2672}#
(cons '#(syntax-object
unquote-splicing
((top)
#(ribcage
#(args q)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#{args\ 2686}#)))
#{tmp\ 2683}#)
((lambda (#{tmp\ 2688}#)
(if #{tmp\ 2688}#
(apply (lambda (#{p\ 2689}#)
(#{quasicons\ 2632}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#(syntax-object
quasiquote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile)))
(#{quasi\ 2635}#
(list #{p\ 2689}#)
(+ #{lev\ 2673}#
1))))
#{tmp\ 2688}#)
((lambda (#{tmp\ 2690}#)
(if #{tmp\ 2690}#
(apply (lambda (#{p\ 2691}#
#{q\ 2692}#)
(#{quasicons\ 2632}#
(#{quasi\ 2635}#
#{p\ 2691}#
#{lev\ 2673}#)
(#{quasi\ 2635}#
#{q\ 2692}#
#{lev\ 2673}#)))
#{tmp\ 2690}#)
((lambda (#{tmp\ 2693}#)
(if #{tmp\ 2693}#
(apply (lambda (#{x\ 2694}#)
(#{quasivector\ 2634}#
(#{quasi\ 2635}#
#{x\ 2694}#
#{lev\ 2673}#)))
#{tmp\ 2693}#)
((lambda (#{p\ 2696}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{p\ 2696}#))
#{tmp\ 2674}#)))
($sc-dispatch
#{tmp\ 2674}#
'#(vector each-any)))))
($sc-dispatch
#{tmp\ 2674}#
'(any . any)))))
($sc-dispatch
#{tmp\ 2674}#
'(#(free-id
#(syntax-object
quasiquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any)))))
($sc-dispatch
#{tmp\ 2674}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)
.
any)))))
($sc-dispatch
#{tmp\ 2674}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any)
.
any)))))
($sc-dispatch
#{tmp\ 2674}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)))))
($sc-dispatch
#{tmp\ 2674}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage #(p lev) #((top) (top)) #("i" "i"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
#{p\ 2672}#))))
(lambda (#{x\ 2697}#)
((lambda (#{tmp\ 2698}#)
((lambda (#{tmp\ 2699}#)
(if #{tmp\ 2699}#
(apply (lambda (#{_\ 2700}# #{e\ 2701}#)
(#{quasi\ 2635}# #{e\ 2701}# 0))
#{tmp\ 2699}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2698}#)))
($sc-dispatch #{tmp\ 2698}# (quote (any any)))))
#{x\ 2697}#)))))
(define include
(make-syncase-macro
'macro
(lambda (#{x\ 2702}#)
(letrec ((#{read-file\ 2703}#
(lambda (#{fn\ 2704}# #{k\ 2705}#)
(let ((#{p\ 2706}# (open-input-file #{fn\ 2704}#)))
(letrec ((#{f\ 2707}#
(lambda (#{x\ 2708}#)
(if (eof-object? #{x\ 2708}#)
(begin
(close-input-port #{p\ 2706}#)
'())
(cons (datum->syntax
#{k\ 2705}#
#{x\ 2708}#)
(#{f\ 2707}# (read #{p\ 2706}#)))))))
(#{f\ 2707}# (read #{p\ 2706}#)))))))
((lambda (#{tmp\ 2709}#)
((lambda (#{tmp\ 2710}#)
(if #{tmp\ 2710}#
(apply (lambda (#{k\ 2711}# #{filename\ 2712}#)
(let ((#{fn\ 2713}#
(syntax->datum #{filename\ 2712}#)))
((lambda (#{tmp\ 2714}#)
((lambda (#{tmp\ 2715}#)
(if #{tmp\ 2715}#
(apply (lambda (#{exp\ 2716}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(exp)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(fn)
#((top))
#("i"))
#(ribcage
#(k filename)
#((top) (top))
#("i" "i"))
#(ribcage
(read-file)
((top))
("i"))
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{exp\ 2716}#))
#{tmp\ 2715}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2714}#)))
($sc-dispatch #{tmp\ 2714}# (quote each-any))))
(#{read-file\ 2703}# #{fn\ 2713}# #{k\ 2711}#))))
#{tmp\ 2710}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2709}#)))
($sc-dispatch #{tmp\ 2709}# (quote (any any)))))
#{x\ 2702}#)))))
(define unquote
(make-syncase-macro
'macro
(lambda (#{x\ 2718}#)
((lambda (#{tmp\ 2719}#)
((lambda (#{tmp\ 2720}#)
(if #{tmp\ 2720}#
(apply (lambda (#{_\ 2721}# #{e\ 2722}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
#{x\ 2718}#))
#{tmp\ 2720}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2719}#)))
($sc-dispatch #{tmp\ 2719}# (quote (any any)))))
#{x\ 2718}#))))
(define unquote-splicing
(make-syncase-macro
'macro
(lambda (#{x\ 2723}#)
((lambda (#{tmp\ 2724}#)
((lambda (#{tmp\ 2725}#)
(if #{tmp\ 2725}#
(apply (lambda (#{_\ 2726}# #{e\ 2727}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
#{x\ 2723}#))
#{tmp\ 2725}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2724}#)))
($sc-dispatch #{tmp\ 2724}# (quote (any any)))))
#{x\ 2723}#))))
(define case
(make-extended-syncase-macro
(module-ref (current-module) (quote case))
'macro
(lambda (#{x\ 2728}#)
((lambda (#{tmp\ 2729}#)
((lambda (#{tmp\ 2730}#)
(if #{tmp\ 2730}#
(apply (lambda (#{_\ 2731}#
#{e\ 2732}#
#{m1\ 2733}#
#{m2\ 2734}#)
((lambda (#{tmp\ 2735}#)
((lambda (#{body\ 2736}#)
(list '#(syntax-object
let
((top)
#(ribcage #(body) #((top)) #("i"))
#(ribcage
#(_ e m1 m2)
#((top) (top) (top) (top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(list (list '#(syntax-object
t
((top)
#(ribcage
#(body)
#((top))
#("i"))
#(ribcage
#(_ e m1 m2)
#((top) (top) (top) (top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{e\ 2732}#))
#{body\ 2736}#))
#{tmp\ 2735}#))
(letrec ((#{f\ 2737}#
(lambda (#{clause\ 2738}# #{clauses\ 2739}#)
(if (null? #{clauses\ 2739}#)
((lambda (#{tmp\ 2741}#)
((lambda (#{tmp\ 2742}#)
(if #{tmp\ 2742}#
(apply (lambda (#{e1\ 2743}#
#{e2\ 2744}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 2743}#
#{e2\ 2744}#)))
#{tmp\ 2742}#)
((lambda (#{tmp\ 2746}#)
(if #{tmp\ 2746}#
(apply (lambda (#{k\ 2747}#
#{e1\ 2748}#
#{e2\ 2749}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
t
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{k\ 2747}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 2748}#
#{e2\ 2749}#))))
#{tmp\ 2746}#)
((lambda (#{_\ 2752}#)
(syntax-violation
'case
"bad clause"
#{x\ 2728}#
#{clause\ 2738}#))
#{tmp\ 2741}#)))
($sc-dispatch
#{tmp\ 2741}#
'(each-any
any
.
each-any)))))
($sc-dispatch
#{tmp\ 2741}#
'(#(free-id
#(syntax-object
else
((top)
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile)))
any
.
each-any))))
#{clause\ 2738}#)
((lambda (#{tmp\ 2753}#)
((lambda (#{rest\ 2754}#)
((lambda (#{tmp\ 2755}#)
((lambda (#{tmp\ 2756}#)
(if #{tmp\ 2756}#
(apply (lambda (#{k\ 2757}#
#{e1\ 2758}#
#{e2\ 2759}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
t
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{k\ 2757}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 2758}#
#{e2\ 2759}#))
#{rest\ 2754}#))
#{tmp\ 2756}#)
((lambda (#{_\ 2762}#)
(syntax-violation
'case
"bad clause"
#{x\ 2728}#
#{clause\ 2738}#))
#{tmp\ 2755}#)))
($sc-dispatch
#{tmp\ 2755}#
'(each-any
any
.
each-any))))
#{clause\ 2738}#))
#{tmp\ 2753}#))
(#{f\ 2737}#
(car #{clauses\ 2739}#)
(cdr #{clauses\ 2739}#)))))))
(#{f\ 2737}# #{m1\ 2733}# #{m2\ 2734}#))))
#{tmp\ 2730}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2729}#)))
($sc-dispatch
#{tmp\ 2729}#
'(any any any . each-any))))
#{x\ 2728}#))))
(define identifier-syntax
(make-syncase-macro
'macro
(lambda (#{x\ 2763}#)
((lambda (#{tmp\ 2764}#)
((lambda (#{tmp\ 2765}#)
(if #{tmp\ 2765}#
(apply (lambda (#{_\ 2766}# #{e\ 2767}#)
(list '#(syntax-object
lambda
((top)
#(ribcage #(_ e) #((top) (top)) #("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage #(_ e) #((top) (top)) #("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile)))
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'()
(list '#(syntax-object
id
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
identifier?
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
#(syntax-object
id
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{e\ 2767}#))
(list (cons #{_\ 2766}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e\ 2767}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile)))))))))
#{tmp\ 2765}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2764}#)))
($sc-dispatch #{tmp\ 2764}# (quote (any any)))))
#{x\ 2763}#))))