(eval-when (compile) (set-current-module (resolve-module (quote (guile))))) (if #f #f) (letrec* ((#{make-void 203}# (lambda (#{src 761}#) (make-struct/no-tail (vector-ref %expanded-vtables 0) #{src 761}#))) (#{make-const 205}# (lambda (#{src 763}# #{exp 764}#) (make-struct/no-tail (vector-ref %expanded-vtables 1) #{src 763}# #{exp 764}#))) (#{make-lexical-ref 209}# (lambda (#{src 771}# #{name 772}# #{gensym 773}#) (make-struct/no-tail (vector-ref %expanded-vtables 3) #{src 771}# #{name 772}# #{gensym 773}#))) (#{make-lexical-set 211}# (lambda (#{src 777}# #{name 778}# #{gensym 779}# #{exp 780}#) (make-struct/no-tail (vector-ref %expanded-vtables 4) #{src 777}# #{name 778}# #{gensym 779}# #{exp 780}#))) (#{make-module-ref 213}# (lambda (#{src 785}# #{mod 786}# #{name 787}# #{public? 788}#) (make-struct/no-tail (vector-ref %expanded-vtables 5) #{src 785}# #{mod 786}# #{name 787}# #{public? 788}#))) (#{make-module-set 215}# (lambda (#{src 793}# #{mod 794}# #{name 795}# #{public? 796}# #{exp 797}#) (make-struct/no-tail (vector-ref %expanded-vtables 6) #{src 793}# #{mod 794}# #{name 795}# #{public? 796}# #{exp 797}#))) (#{make-toplevel-ref 217}# (lambda (#{src 803}# #{name 804}#) (make-struct/no-tail (vector-ref %expanded-vtables 7) #{src 803}# #{name 804}#))) (#{make-toplevel-set 219}# (lambda (#{src 807}# #{name 808}# #{exp 809}#) (make-struct/no-tail (vector-ref %expanded-vtables 8) #{src 807}# #{name 808}# #{exp 809}#))) (#{make-toplevel-define 221}# (lambda (#{src 813}# #{name 814}# #{exp 815}#) (make-struct/no-tail (vector-ref %expanded-vtables 9) #{src 813}# #{name 814}# #{exp 815}#))) (#{make-conditional 223}# (lambda (#{src 819}# #{test 820}# #{consequent 821}# #{alternate 822}#) (make-struct/no-tail (vector-ref %expanded-vtables 10) #{src 819}# #{test 820}# #{consequent 821}# #{alternate 822}#))) (#{make-application 225}# (lambda (#{src 827}# #{proc 828}# #{args 829}#) (make-struct/no-tail (vector-ref %expanded-vtables 11) #{src 827}# #{proc 828}# #{args 829}#))) (#{make-sequence 227}# (lambda (#{src 833}# #{exps 834}#) (make-struct/no-tail (vector-ref %expanded-vtables 12) #{src 833}# #{exps 834}#))) (#{make-lambda 229}# (lambda (#{src 837}# #{meta 838}# #{body 839}#) (make-struct/no-tail (vector-ref %expanded-vtables 13) #{src 837}# #{meta 838}# #{body 839}#))) (#{make-lambda-case 231}# (lambda (#{src 843}# #{req 844}# #{opt 845}# #{rest 846}# #{kw 847}# #{inits 848}# #{gensyms 849}# #{body 850}# #{alternate 851}#) (make-struct/no-tail (vector-ref %expanded-vtables 14) #{src 843}# #{req 844}# #{opt 845}# #{rest 846}# #{kw 847}# #{inits 848}# #{gensyms 849}# #{body 850}# #{alternate 851}#))) (#{make-let 233}# (lambda (#{src 861}# #{names 862}# #{gensyms 863}# #{vals 864}# #{body 865}#) (make-struct/no-tail (vector-ref %expanded-vtables 15) #{src 861}# #{names 862}# #{gensyms 863}# #{vals 864}# #{body 865}#))) (#{make-letrec 235}# (lambda (#{src 871}# #{in-order? 872}# #{names 873}# #{gensyms 874}# #{vals 875}# #{body 876}#) (make-struct/no-tail (vector-ref %expanded-vtables 16) #{src 871}# #{in-order? 872}# #{names 873}# #{gensyms 874}# #{vals 875}# #{body 876}#))) (#{make-dynlet 237}# (lambda (#{src 883}# #{fluids 884}# #{vals 885}# #{body 886}#) (make-struct/no-tail (vector-ref %expanded-vtables 17) #{src 883}# #{fluids 884}# #{vals 885}# #{body 886}#))) (#{lambda? 240}# (lambda (#{x 891}#) (if (struct? #{x 891}#) (eq? (struct-vtable #{x 891}#) (vector-ref %expanded-vtables 13)) #f))) (#{lambda-meta 242}# (lambda (#{x 895}#) (struct-ref #{x 895}# 1))) (#{set-lambda-meta! 244}# (lambda (#{x 897}# #{v 898}#) (struct-set! #{x 897}# 1 #{v 898}#))) (#{top-level-eval-hook 250}# (lambda (#{x 901}# #{mod 902}#) (primitive-eval #{x 901}#))) (#{local-eval-hook 252}# (lambda (#{x 905}# #{mod 906}#) (primitive-eval #{x 905}#))) (#{put-global-definition-hook 255}# (lambda (#{symbol 909}# #{type 910}# #{val 911}#) (module-define! (current-module) #{symbol 909}# (make-syntax-transformer #{symbol 909}# #{type 910}# #{val 911}#)))) (#{get-global-definition-hook 257}# (lambda (#{symbol 915}# #{module 916}#) (begin (if (if (not #{module 916}#) (current-module) #f) (warn "module system is booted, we should have a module" #{symbol 915}#)) (begin (let ((#{v 922}# (module-variable (if #{module 916}# (resolve-module (cdr #{module 916}#)) (current-module)) #{symbol 915}#))) (if #{v 922}# (if (variable-bound? #{v 922}#) (begin (let ((#{val 927}# (variable-ref #{v 922}#))) (if (macro? #{val 927}#) (if (macro-type #{val 927}#) (cons (macro-type #{val 927}#) (macro-binding #{val 927}#)) #f) #f))) #f) #f)))))) (#{decorate-source 259}# (lambda (#{e 931}# #{s 932}#) (begin (if (if (pair? #{e 931}#) #{s 932}# #f) (set-source-properties! #{e 931}# #{s 932}#)) #{e 931}#))) (#{maybe-name-value! 261}# (lambda (#{name 937}# #{val 938}#) (if (#{lambda? 240}# #{val 938}#) (begin (let ((#{meta 942}# (#{lambda-meta 242}# #{val 938}#))) (if (not (assq 'name #{meta 942}#)) (#{set-lambda-meta! 244}# #{val 938}# (cons (cons 'name #{name 937}#) #{meta 942}#)))))))) (#{build-void 263}# (lambda (#{source 943}#) (#{make-void 203}# #{source 943}#))) (#{build-application 265}# (lambda (#{source 945}# #{fun-exp 946}# #{arg-exps 947}#) (#{make-application 225}# #{source 945}# #{fun-exp 946}# #{arg-exps 947}#))) (#{build-conditional 267}# (lambda (#{source 951}# #{test-exp 952}# #{then-exp 953}# #{else-exp 954}#) (#{make-conditional 223}# #{source 951}# #{test-exp 952}# #{then-exp 953}# #{else-exp 954}#))) (#{build-dynlet 269}# (lambda (#{source 959}# #{fluids 960}# #{vals 961}# #{body 962}#) (#{make-dynlet 237}# #{source 959}# #{fluids 960}# #{vals 961}# #{body 962}#))) (#{build-lexical-reference 271}# (lambda (#{type 967}# #{source 968}# #{name 969}# #{var 970}#) (#{make-lexical-ref 209}# #{source 968}# #{name 969}# #{var 970}#))) (#{build-lexical-assignment 273}# (lambda (#{source 975}# #{name 976}# #{var 977}# #{exp 978}#) (begin (#{maybe-name-value! 261}# #{name 976}# #{exp 978}#) (#{make-lexical-set 211}# #{source 975}# #{name 976}# #{var 977}# #{exp 978}#)))) (#{analyze-variable 275}# (lambda (#{mod 983}# #{var 984}# #{modref-cont 985}# #{bare-cont 986}#) (if (not #{mod 983}#) (#{bare-cont 986}# #{var 984}#) (begin (let ((#{kind 993}# (car #{mod 983}#)) (#{mod 994}# (cdr #{mod 983}#))) (if (eqv? #{kind 993}# 'public) (#{modref-cont 985}# #{mod 994}# #{var 984}# #t) (if (eqv? #{kind 993}# 'private) (if (not (equal? #{mod 994}# (module-name (current-module)))) (#{modref-cont 985}# #{mod 994}# #{var 984}# #f) (#{bare-cont 986}# #{var 984}#)) (if (eqv? #{kind 993}# 'bare) (#{bare-cont 986}# #{var 984}#) (if (eqv? #{kind 993}# 'hygiene) (if (if (not (equal? #{mod 994}# (module-name (current-module)))) (module-variable (resolve-module #{mod 994}#) #{var 984}#) #f) (#{modref-cont 985}# #{mod 994}# #{var 984}# #f) (#{bare-cont 986}# #{var 984}#)) (syntax-violation #f "bad module kind" #{var 984}# #{mod 994}#)))))))))) (#{build-global-reference 277}# (lambda (#{source 1002}# #{var 1003}# #{mod 1004}#) (#{analyze-variable 275}# #{mod 1004}# #{var 1003}# (lambda (#{mod 1008}# #{var 1009}# #{public? 1010}#) (#{make-module-ref 213}# #{source 1002}# #{mod 1008}# #{var 1009}# #{public? 1010}#)) (lambda (#{var 1014}#) (#{make-toplevel-ref 217}# #{source 1002}# #{var 1014}#))))) (#{build-global-assignment 279}# (lambda (#{source 1016}# #{var 1017}# #{exp 1018}# #{mod 1019}#) (begin (#{maybe-name-value! 261}# #{var 1017}# #{exp 1018}#) (#{analyze-variable 275}# #{mod 1019}# #{var 1017}# (lambda (#{mod 1024}# #{var 1025}# #{public? 1026}#) (#{make-module-set 215}# #{source 1016}# #{mod 1024}# #{var 1025}# #{public? 1026}# #{exp 1018}#)) (lambda (#{var 1030}#) (#{make-toplevel-set 219}# #{source 1016}# #{var 1030}# #{exp 1018}#)))))) (#{build-global-definition 281}# (lambda (#{source 1032}# #{var 1033}# #{exp 1034}#) (begin (#{maybe-name-value! 261}# #{var 1033}# #{exp 1034}#) (#{make-toplevel-define 221}# #{source 1032}# #{var 1033}# #{exp 1034}#)))) (#{build-simple-lambda 283}# (lambda (#{src 1038}# #{req 1039}# #{rest 1040}# #{vars 1041}# #{meta 1042}# #{exp 1043}#) (#{make-lambda 229}# #{src 1038}# #{meta 1042}# (#{make-lambda-case 231}# #{src 1038}# #{req 1039}# #f #{rest 1040}# #f '() #{vars 1041}# #{exp 1043}# #f)))) (#{build-case-lambda 285}# (lambda (#{src 1050}# #{meta 1051}# #{body 1052}#) (#{make-lambda 229}# #{src 1050}# #{meta 1051}# #{body 1052}#))) (#{build-lambda-case 287}# (lambda (#{src 1056}# #{req 1057}# #{opt 1058}# #{rest 1059}# #{kw 1060}# #{inits 1061}# #{vars 1062}# #{body 1063}# #{else-case 1064}#) (#{make-lambda-case 231}# #{src 1056}# #{req 1057}# #{opt 1058}# #{rest 1059}# #{kw 1060}# #{inits 1061}# #{vars 1062}# #{body 1063}# #{else-case 1064}#))) (#{build-primref 289}# (lambda (#{src 1074}# #{name 1075}#) (if (equal? (module-name (current-module)) '(guile)) (#{make-toplevel-ref 217}# #{src 1074}# #{name 1075}#) (#{make-module-ref 213}# #{src 1074}# '(guile) #{name 1075}# #f)))) (#{build-data 291}# (lambda (#{src 1078}# #{exp 1079}#) (#{make-const 205}# #{src 1078}# #{exp 1079}#))) (#{build-sequence 293}# (lambda (#{src 1082}# #{exps 1083}#) (if (null? (cdr #{exps 1083}#)) (car #{exps 1083}#) (#{make-sequence 227}# #{src 1082}# #{exps 1083}#)))) (#{build-let 295}# (lambda (#{src 1086}# #{ids 1087}# #{vars 1088}# #{val-exps 1089}# #{body-exp 1090}#) (begin (for-each #{maybe-name-value! 261}# #{ids 1087}# #{val-exps 1089}#) (if (null? #{vars 1088}#) #{body-exp 1090}# (#{make-let 233}# #{src 1086}# #{ids 1087}# #{vars 1088}# #{val-exps 1089}# #{body-exp 1090}#))))) (#{build-named-let 297}# (lambda (#{src 1096}# #{ids 1097}# #{vars 1098}# #{val-exps 1099}# #{body-exp 1100}#) (begin (let ((#{f 1110}# (car #{vars 1098}#)) (#{f-name 1111}# (car #{ids 1097}#)) (#{vars 1112}# (cdr #{vars 1098}#)) (#{ids 1113}# (cdr #{ids 1097}#))) (begin (let ((#{proc 1115}# (#{build-simple-lambda 283}# #{src 1096}# #{ids 1113}# #f #{vars 1112}# '() #{body-exp 1100}#))) (begin (#{maybe-name-value! 261}# #{f-name 1111}# #{proc 1115}#) (for-each #{maybe-name-value! 261}# #{ids 1113}# #{val-exps 1099}#) (#{make-letrec 235}# #{src 1096}# #f (list #{f-name 1111}#) (list #{f 1110}#) (list #{proc 1115}#) (#{build-application 265}# #{src 1096}# (#{build-lexical-reference 271}# 'fun #{src 1096}# #{f-name 1111}# #{f 1110}#) #{val-exps 1099}#))))))))) (#{build-letrec 299}# (lambda (#{src 1116}# #{in-order? 1117}# #{ids 1118}# #{vars 1119}# #{val-exps 1120}# #{body-exp 1121}#) (if (null? #{vars 1119}#) #{body-exp 1121}# (begin (for-each #{maybe-name-value! 261}# #{ids 1118}# #{val-exps 1120}#) (#{make-letrec 235}# #{src 1116}# #{in-order? 1117}# #{ids 1118}# #{vars 1119}# #{val-exps 1120}# #{body-exp 1121}#))))) (#{make-syntax-object 303}# (lambda (#{expression 1128}# #{wrap 1129}# #{module 1130}#) (vector 'syntax-object #{expression 1128}# #{wrap 1129}# #{module 1130}#))) (#{syntax-object? 305}# (lambda (#{x 1134}#) (if (vector? #{x 1134}#) (if (= (vector-length #{x 1134}#) 4) (eq? (vector-ref #{x 1134}# 0) 'syntax-object) #f) #f))) (#{syntax-object-expression 307}# (lambda (#{x 1139}#) (vector-ref #{x 1139}# 1))) (#{syntax-object-wrap 309}# (lambda (#{x 1141}#) (vector-ref #{x 1141}# 2))) (#{syntax-object-module 311}# (lambda (#{x 1143}#) (vector-ref #{x 1143}# 3))) (#{source-annotation 320}# (lambda (#{x 1157}#) (if (#{syntax-object? 305}# #{x 1157}#) (#{source-annotation 320}# (#{syntax-object-expression 307}# #{x 1157}#)) (if (pair? #{x 1157}#) (begin (let ((#{props 1164}# (source-properties #{x 1157}#))) (if (pair? #{props 1164}#) #{props 1164}# #f))) #f)))) (#{extend-env 327}# (lambda (#{labels 1166}# #{bindings 1167}# #{r 1168}#) (if (null? #{labels 1166}#) #{r 1168}# (#{extend-env 327}# (cdr #{labels 1166}#) (cdr #{bindings 1167}#) (cons (cons (car #{labels 1166}#) (car #{bindings 1167}#)) #{r 1168}#))))) (#{extend-var-env 329}# (lambda (#{labels 1172}# #{vars 1173}# #{r 1174}#) (if (null? #{labels 1172}#) #{r 1174}# (#{extend-var-env 329}# (cdr #{labels 1172}#) (cdr #{vars 1173}#) (cons (cons (car #{labels 1172}#) (cons 'lexical (car #{vars 1173}#))) #{r 1174}#))))) (#{macros-only-env 331}# (lambda (#{r 1179}#) (if (null? #{r 1179}#) '() (begin (let ((#{a 1182}# (car #{r 1179}#))) (if (eq? (car (cdr #{a 1182}#)) 'macro) (cons #{a 1182}# (#{macros-only-env 331}# (cdr #{r 1179}#))) (#{macros-only-env 331}# (cdr #{r 1179}#)))))))) (#{lookup 333}# (lambda (#{x 1183}# #{r 1184}# #{mod 1185}#) (begin (let ((#{t 1191}# (assq #{x 1183}# #{r 1184}#))) (if #{t 1191}# (cdr #{t 1191}#) (if (symbol? #{x 1183}#) (begin (let ((#{t 1197}# (#{get-global-definition-hook 257}# #{x 1183}# #{mod 1185}#))) (if #{t 1197}# #{t 1197}# '(global)))) '(displaced-lexical))))))) (#{global-extend 335}# (lambda (#{type 1202}# #{sym 1203}# #{val 1204}#) (#{put-global-definition-hook 255}# #{sym 1203}# #{type 1202}# #{val 1204}#))) (#{nonsymbol-id? 337}# (lambda (#{x 1208}#) (if (#{syntax-object? 305}# #{x 1208}#) (symbol? (#{syntax-object-expression 307}# #{x 1208}#)) #f))) (#{id? 339}# (lambda (#{x 1212}#) (if (symbol? #{x 1212}#) #t (if (#{syntax-object? 305}# #{x 1212}#) (symbol? (#{syntax-object-expression 307}# #{x 1212}#)) #f)))) (#{id-sym-name&marks 342}# (lambda (#{x 1219}# #{w 1220}#) (if (#{syntax-object? 305}# #{x 1219}#) (values (#{syntax-object-expression 307}# #{x 1219}#) (#{join-marks 389}# (car #{w 1220}#) (car (#{syntax-object-wrap 309}# #{x 1219}#)))) (values #{x 1219}# (car #{w 1220}#))))) (#{gen-label 352}# (lambda () (symbol->string (gensym "i")))) (#{gen-labels 354}# (lambda (#{ls 1226}#) (if (null? #{ls 1226}#) '() (cons (#{gen-label 352}#) (#{gen-labels 354}# (cdr #{ls 1226}#)))))) (#{make-ribcage 357}# (lambda (#{symnames 1228}# #{marks 1229}# #{labels 1230}#) (vector 'ribcage #{symnames 1228}# #{marks 1229}# #{labels 1230}#))) (#{ribcage-symnames 361}# (lambda (#{x 1239}#) (vector-ref #{x 1239}# 1))) (#{ribcage-marks 363}# (lambda (#{x 1241}#) (vector-ref #{x 1241}# 2))) (#{ribcage-labels 365}# (lambda (#{x 1243}#) (vector-ref #{x 1243}# 3))) (#{set-ribcage-symnames! 367}# (lambda (#{x 1245}# #{update 1246}#) (vector-set! #{x 1245}# 1 #{update 1246}#))) (#{set-ribcage-marks! 369}# (lambda (#{x 1249}# #{update 1250}#) (vector-set! #{x 1249}# 2 #{update 1250}#))) (#{set-ribcage-labels! 371}# (lambda (#{x 1253}# #{update 1254}#) (vector-set! #{x 1253}# 3 #{update 1254}#))) (#{anti-mark 377}# (lambda (#{w 1257}#) (cons (cons #f (car #{w 1257}#)) (cons 'shift (cdr #{w 1257}#))))) (#{extend-ribcage! 381}# (lambda (#{ribcage 1263}# #{id 1264}# #{label 1265}#) (begin (#{set-ribcage-symnames! 367}# #{ribcage 1263}# (cons (#{syntax-object-expression 307}# #{id 1264}#) (#{ribcage-symnames 361}# #{ribcage 1263}#))) (#{set-ribcage-marks! 369}# #{ribcage 1263}# (cons (car (#{syntax-object-wrap 309}# #{id 1264}#)) (#{ribcage-marks 363}# #{ribcage 1263}#))) (#{set-ribcage-labels! 371}# #{ribcage 1263}# (cons #{label 1265}# (#{ribcage-labels 365}# #{ribcage 1263}#)))))) (#{make-binding-wrap 383}# (lambda (#{ids 1270}# #{labels 1271}# #{w 1272}#) (if (null? #{ids 1270}#) #{w 1272}# (cons (car #{w 1272}#) (cons (begin (let ((#{labelvec 1279}# (list->vector #{labels 1271}#))) (begin (let ((#{n 1281}# (vector-length #{labelvec 1279}#))) (begin (let ((#{symnamevec 1284}# (make-vector #{n 1281}#)) (#{marksvec 1285}# (make-vector #{n 1281}#))) (begin (letrec* ((#{f 1289}# (lambda (#{ids 1290}# #{i 1291}#) (if (not (null? #{ids 1290}#)) (call-with-values (lambda () (#{id-sym-name&marks 342}# (car #{ids 1290}#) #{w 1272}#)) (lambda (#{symname 1292}# #{marks 1293}#) (begin (vector-set! #{symnamevec 1284}# #{i 1291}# #{symname 1292}#) (vector-set! #{marksvec 1285}# #{i 1291}# #{marks 1293}#) (#{f 1289}# (cdr #{ids 1290}#) (#{1+}# #{i 1291}#))))))))) (begin (#{f 1289}# #{ids 1270}# 0))) (#{make-ribcage 357}# #{symnamevec 1284}# #{marksvec 1285}# #{labelvec 1279}#)))))))) (cdr #{w 1272}#)))))) (#{smart-append 385}# (lambda (#{m1 1298}# #{m2 1299}#) (if (null? #{m2 1299}#) #{m1 1298}# (append #{m1 1298}# #{m2 1299}#)))) (#{join-wraps 387}# (lambda (#{w1 1302}# #{w2 1303}#) (begin (let ((#{m1 1308}# (car #{w1 1302}#)) (#{s1 1309}# (cdr #{w1 1302}#))) (if (null? #{m1 1308}#) (if (null? #{s1 1309}#) #{w2 1303}# (cons (car #{w2 1303}#) (#{smart-append 385}# #{s1 1309}# (cdr #{w2 1303}#)))) (cons (#{smart-append 385}# #{m1 1308}# (car #{w2 1303}#)) (#{smart-append 385}# #{s1 1309}# (cdr #{w2 1303}#)))))))) (#{join-marks 389}# (lambda (#{m1 1318}# #{m2 1319}#) (#{smart-append 385}# #{m1 1318}# #{m2 1319}#))) (#{same-marks? 391}# (lambda (#{x 1322}# #{y 1323}#) (begin (let ((#{t 1328}# (eq? #{x 1322}# #{y 1323}#))) (if #{t 1328}# #{t 1328}# (if (not (null? #{x 1322}#)) (if (not (null? #{y 1323}#)) (if (eq? (car #{x 1322}#) (car #{y 1323}#)) (#{same-marks? 391}# (cdr #{x 1322}#) (cdr #{y 1323}#)) #f) #f) #f)))))) (#{id-var-name 393}# (lambda (#{id 1334}# #{w 1335}#) (letrec* ((#{search 1340}# (lambda (#{sym 1356}# #{subst 1357}# #{marks 1358}#) (if (null? #{subst 1357}#) (values #f #{marks 1358}#) (begin (let ((#{fst 1363}# (car #{subst 1357}#))) (if (eq? #{fst 1363}# 'shift) (#{search 1340}# #{sym 1356}# (cdr #{subst 1357}#) (cdr #{marks 1358}#)) (begin (let ((#{symnames 1365}# (#{ribcage-symnames 361}# #{fst 1363}#))) (if (vector? #{symnames 1365}#) (#{search-vector-rib 1344}# #{sym 1356}# #{subst 1357}# #{marks 1358}# #{symnames 1365}# #{fst 1363}#) (#{search-list-rib 1342}# #{sym 1356}# #{subst 1357}# #{marks 1358}# #{symnames 1365}# #{fst 1363}#)))))))))) (#{search-list-rib 1342}# (lambda (#{sym 1366}# #{subst 1367}# #{marks 1368}# #{symnames 1369}# #{ribcage 1370}#) (letrec* ((#{f 1379}# (lambda (#{symnames 1380}# #{i 1381}#) (if (null? #{symnames 1380}#) (#{search 1340}# #{sym 1366}# (cdr #{subst 1367}#) #{marks 1368}#) (if (if (eq? (car #{symnames 1380}#) #{sym 1366}#) (#{same-marks? 391}# #{marks 1368}# (list-ref (#{ribcage-marks 363}# #{ribcage 1370}#) #{i 1381}#)) #f) (values (list-ref (#{ribcage-labels 365}# #{ribcage 1370}#) #{i 1381}#) #{marks 1368}#) (#{f 1379}# (cdr #{symnames 1380}#) (#{1+}# #{i 1381}#))))))) (begin (#{f 1379}# #{symnames 1369}# 0))))) (#{search-vector-rib 1344}# (lambda (#{sym 1390}# #{subst 1391}# #{marks 1392}# #{symnames 1393}# #{ribcage 1394}#) (begin (let ((#{n 1401}# (vector-length #{symnames 1393}#))) (letrec* ((#{f 1404}# (lambda (#{i 1405}#) (if (= #{i 1405}# #{n 1401}#) (#{search 1340}# #{sym 1390}# (cdr #{subst 1391}#) #{marks 1392}#) (if (if (eq? (vector-ref #{symnames 1393}# #{i 1405}#) #{sym 1390}#) (#{same-marks? 391}# #{marks 1392}# (vector-ref (#{ribcage-marks 363}# #{ribcage 1394}#) #{i 1405}#)) #f) (values (vector-ref (#{ribcage-labels 365}# #{ribcage 1394}#) #{i 1405}#) #{marks 1392}#) (#{f 1404}# (#{1+}# #{i 1405}#))))))) (begin (#{f 1404}# 0)))))))) (begin (if (symbol? #{id 1334}#) (begin (let ((#{t 1417}# (#{search 1340}# #{id 1334}# (cdr #{w 1335}#) (car #{w 1335}#)))) (if #{t 1417}# #{t 1417}# #{id 1334}#))) (if (#{syntax-object? 305}# #{id 1334}#) (begin (let ((#{id 1426}# (#{syntax-object-expression 307}# #{id 1334}#)) (#{w1 1427}# (#{syntax-object-wrap 309}# #{id 1334}#))) (begin (let ((#{marks 1429}# (#{join-marks 389}# (car #{w 1335}#) (car #{w1 1427}#)))) (call-with-values (lambda () (#{search 1340}# #{id 1426}# (cdr #{w 1335}#) #{marks 1429}#)) (lambda (#{new-id 1433}# #{marks 1434}#) (begin (let ((#{t 1439}# #{new-id 1433}#)) (if #{t 1439}# #{t 1439}# (begin (let ((#{t 1442}# (#{search 1340}# #{id 1426}# (cdr #{w1 1427}#) #{marks 1434}#))) (if #{t 1442}# #{t 1442}# #{id 1426}#)))))))))))) (syntax-violation 'id-var-name "invalid id" #{id 1334}#))))))) (#{free-id=? 395}# (lambda (#{i 1447}# #{j 1448}#) (if (eq? (begin (let ((#{x 1454}# #{i 1447}#)) (if (#{syntax-object? 305}# #{x 1454}#) (#{syntax-object-expression 307}# #{x 1454}#) #{x 1454}#))) (begin (let ((#{x 1457}# #{j 1448}#)) (if (#{syntax-object? 305}# #{x 1457}#) (#{syntax-object-expression 307}# #{x 1457}#) #{x 1457}#)))) (eq? (#{id-var-name 393}# #{i 1447}# '(())) (#{id-var-name 393}# #{j 1448}# '(()))) #f))) (#{bound-id=? 397}# (lambda (#{i 1461}# #{j 1462}#) (if (if (#{syntax-object? 305}# #{i 1461}#) (#{syntax-object? 305}# #{j 1462}#) #f) (if (eq? (#{syntax-object-expression 307}# #{i 1461}#) (#{syntax-object-expression 307}# #{j 1462}#)) (#{same-marks? 391}# (car (#{syntax-object-wrap 309}# #{i 1461}#)) (car (#{syntax-object-wrap 309}# #{j 1462}#))) #f) (eq? #{i 1461}# #{j 1462}#)))) (#{valid-bound-ids? 399}# (lambda (#{ids 1471}#) (if (letrec* ((#{all-ids? 1476}# (lambda (#{ids 1477}#) (begin (let ((#{t 1480}# (null? #{ids 1477}#))) (if #{t 1480}# #{t 1480}# (if (#{id? 339}# (car #{ids 1477}#)) (#{all-ids? 1476}# (cdr #{ids 1477}#)) #f))))))) (begin (#{all-ids? 1476}# #{ids 1471}#))) (#{distinct-bound-ids? 401}# #{ids 1471}#) #f))) (#{distinct-bound-ids? 401}# (lambda (#{ids 1485}#) (letrec* ((#{distinct? 1489}# (lambda (#{ids 1490}#) (begin (let ((#{t 1493}# (null? #{ids 1490}#))) (if #{t 1493}# #{t 1493}# (if (not (#{bound-id-member? 403}# (car #{ids 1490}#) (cdr #{ids 1490}#))) (#{distinct? 1489}# (cdr #{ids 1490}#)) #f))))))) (begin (#{distinct? 1489}# #{ids 1485}#))))) (#{bound-id-member? 403}# (lambda (#{x 1497}# #{list 1498}#) (if (not (null? #{list 1498}#)) (begin (let ((#{t 1505}# (#{bound-id=? 397}# #{x 1497}# (car #{list 1498}#)))) (if #{t 1505}# #{t 1505}# (#{bound-id-member? 403}# #{x 1497}# (cdr #{list 1498}#))))) #f))) (#{wrap 405}# (lambda (#{x 1507}# #{w 1508}# #{defmod 1509}#) (if (if (null? (car #{w 1508}#)) (null? (cdr #{w 1508}#)) #f) #{x 1507}# (if (#{syntax-object? 305}# #{x 1507}#) (#{make-syntax-object 303}# (#{syntax-object-expression 307}# #{x 1507}#) (#{join-wraps 387}# #{w 1508}# (#{syntax-object-wrap 309}# #{x 1507}#)) (#{syntax-object-module 311}# #{x 1507}#)) (if (null? #{x 1507}#) #{x 1507}# (#{make-syntax-object 303}# #{x 1507}# #{w 1508}# #{defmod 1509}#)))))) (#{source-wrap 407}# (lambda (#{x 1524}# #{w 1525}# #{s 1526}# #{defmod 1527}#) (#{wrap 405}# (#{decorate-source 259}# #{x 1524}# #{s 1526}#) #{w 1525}# #{defmod 1527}#))) (#{chi-sequence 409}# (lambda (#{body 1532}# #{r 1533}# #{w 1534}# #{s 1535}# #{mod 1536}#) (#{build-sequence 293}# #{s 1535}# (letrec* ((#{dobody 1547}# (lambda (#{body 1548}# #{r 1549}# #{w 1550}# #{mod 1551}#) (if (null? #{body 1548}#) '() (begin (let ((#{first 1553}# (#{chi 419}# (car #{body 1548}#) #{r 1549}# #{w 1550}# #{mod 1551}#))) (cons #{first 1553}# (#{dobody 1547}# (cdr #{body 1548}#) #{r 1549}# #{w 1550}# #{mod 1551}#)))))))) (begin (#{dobody 1547}# #{body 1532}# #{r 1533}# #{w 1534}# #{mod 1536}#)))))) (#{chi-top-sequence 411}# (lambda (#{body 1554}# #{r 1555}# #{w 1556}# #{s 1557}# #{m 1558}# #{esew 1559}# #{mod 1560}#) (letrec* ((#{scan 1569}# (lambda (#{body 1570}# #{r 1571}# #{w 1572}# #{s 1573}# #{m 1574}# #{esew 1575}# #{mod 1576}# #{exps 1577}#) (if (null? #{body 1570}#) #{exps 1577}# (call-with-values (lambda () (call-with-values (lambda () (begin (let ((#{e 1590}# (car #{body 1570}#))) (#{syntax-type 417}# #{e 1590}# #{r 1571}# #{w 1572}# (begin (let ((#{t 1593}# (#{source-annotation 320}# #{e 1590}#))) (if #{t 1593}# #{t 1593}# #{s 1573}#))) #f #{mod 1576}# #f)))) (lambda (#{type 1595}# #{value 1596}# #{e 1597}# #{w 1598}# #{s 1599}# #{mod 1600}#) (if (eqv? #{type 1595}# 'begin-form) (let ((#{tmp 1608}# #{e 1597}#)) (let ((#{tmp 1609}# ($sc-dispatch #{tmp 1608}# '(_)))) (if #{tmp 1609}# (@apply (lambda () #{exps 1577}#) #{tmp 1609}#) (let ((#{tmp 1610}# ($sc-dispatch #{tmp 1608}# '(_ any . each-any)))) (if #{tmp 1610}# (@apply (lambda (#{e1 1613}# #{e2 1614}#) (#{scan 1569}# (cons #{e1 1613}# #{e2 1614}#) #{r 1571}# #{w 1598}# #{s 1599}# #{m 1574}# #{esew 1575}# #{mod 1600}# #{exps 1577}#)) #{tmp 1610}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1608}#)))))) (if (eqv? #{type 1595}# 'local-syntax-form) (#{chi-local-syntax 429}# #{value 1596}# #{e 1597}# #{r 1571}# #{w 1598}# #{s 1599}# #{mod 1600}# (lambda (#{body 1617}# #{r 1618}# #{w 1619}# #{s 1620}# #{mod 1621}#) (#{scan 1569}# #{body 1617}# #{r 1618}# #{w 1619}# #{s 1620}# #{m 1574}# #{esew 1575}# #{mod 1621}# #{exps 1577}#))) (if (eqv? #{type 1595}# 'eval-when-form) (let ((#{tmp 1628}# #{e 1597}#)) (let ((#{tmp 1629}# ($sc-dispatch #{tmp 1628}# '(_ each-any any . each-any)))) (if #{tmp 1629}# (@apply (lambda (#{x 1633}# #{e1 1634}# #{e2 1635}#) (begin (let ((#{when-list 1638}# (#{chi-when-list 415}# #{e 1597}# #{x 1633}# #{w 1598}#)) (#{body 1639}# (cons #{e1 1634}# #{e2 1635}#))) (if (eq? #{m 1574}# 'e) (if (memq 'eval #{when-list 1638}#) (#{scan 1569}# #{body 1639}# #{r 1571}# #{w 1598}# #{s 1599}# (if (memq 'expand #{when-list 1638}#) 'c&e 'e) '(eval) #{mod 1600}# #{exps 1577}#) (begin (if (memq 'expand #{when-list 1638}#) (#{top-level-eval-hook 250}# (#{chi-top-sequence 411}# #{body 1639}# #{r 1571}# #{w 1598}# #{s 1599}# 'e '(eval) #{mod 1600}#) #{mod 1600}#)) #{exps 1577}#)) (if (memq 'load #{when-list 1638}#) (if (begin (let ((#{t 1648}# (memq 'compile #{when-list 1638}#))) (if #{t 1648}# #{t 1648}# (begin (let ((#{t 1651}# (memq 'expand #{when-list 1638}#))) (if #{t 1651}# #{t 1651}# (if (eq? #{m 1574}# 'c&e) (memq 'eval #{when-list 1638}#) #f))))))) (#{scan 1569}# #{body 1639}# #{r 1571}# #{w 1598}# #{s 1599}# 'c&e '(compile load) #{mod 1600}# #{exps 1577}#) (if (if (eq? #{m 1574}# 'c) #t (eq? #{m 1574}# 'c&e)) (#{scan 1569}# #{body 1639}# #{r 1571}# #{w 1598}# #{s 1599}# 'c '(load) #{mod 1600}# #{exps 1577}#) #{exps 1577}#)) (if (begin (let ((#{t 1659}# (memq 'compile #{when-list 1638}#))) (if #{t 1659}# #{t 1659}# (begin (let ((#{t 1662}# (memq 'expand #{when-list 1638}#))) (if #{t 1662}# #{t 1662}# (if (eq? #{m 1574}# 'c&e) (memq 'eval #{when-list 1638}#) #f))))))) (begin (#{top-level-eval-hook 250}# (#{chi-top-sequence 411}# #{body 1639}# #{r 1571}# #{w 1598}# #{s 1599}# 'e '(eval) #{mod 1600}#) #{mod 1600}#) #{exps 1577}#) #{exps 1577}#)))))) #{tmp 1629}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1628}#)))) (if (eqv? #{type 1595}# 'define-syntax-form) (begin (let ((#{n 1670}# (#{id-var-name 393}# #{value 1596}# #{w 1598}#)) (#{r 1671}# (#{macros-only-env 331}# #{r 1571}#))) (if (eqv? #{m 1574}# 'c) (if (memq 'compile #{esew 1575}#) (begin (let ((#{e 1674}# (#{chi-install-global 413}# #{n 1670}# (#{chi 419}# #{e 1597}# #{r 1671}# #{w 1598}# #{mod 1600}#)))) (begin (#{top-level-eval-hook 250}# #{e 1674}# #{mod 1600}#) (if (memq 'load #{esew 1575}#) (cons #{e 1674}# #{exps 1577}#) #{exps 1577}#)))) (if (memq 'load #{esew 1575}#) (cons (#{chi-install-global 413}# #{n 1670}# (#{chi 419}# #{e 1597}# #{r 1671}# #{w 1598}# #{mod 1600}#)) #{exps 1577}#) #{exps 1577}#)) (if (eqv? #{m 1574}# 'c&e) (begin (let ((#{e 1677}# (#{chi-install-global 413}# #{n 1670}# (#{chi 419}# #{e 1597}# #{r 1671}# #{w 1598}# #{mod 1600}#)))) (begin (#{top-level-eval-hook 250}# #{e 1677}# #{mod 1600}#) (cons #{e 1677}# #{exps 1577}#)))) (begin (if (memq 'eval #{esew 1575}#) (#{top-level-eval-hook 250}# (#{chi-install-global 413}# #{n 1670}# (#{chi 419}# #{e 1597}# #{r 1671}# #{w 1598}# #{mod 1600}#)) #{mod 1600}#)) #{exps 1577}#))))) (if (eqv? #{type 1595}# 'define-form) (begin (let ((#{n 1682}# (#{id-var-name 393}# #{value 1596}# #{w 1598}#))) (begin (let ((#{type 1684}# (car (#{lookup 333}# #{n 1682}# #{r 1571}# #{mod 1600}#)))) (if (if (eqv? #{type 1684}# 'global) #t (if (eqv? #{type 1684}# 'core) #t (if (eqv? #{type 1684}# 'macro) #t (eqv? #{type 1684}# 'module-ref)))) (begin (if (if (if (eq? #{m 1574}# 'c) #t (eq? #{m 1574}# 'c&e)) (if (not (module-local-variable (current-module) #{n 1682}#)) (current-module) #f) #f) (begin (let ((#{old 1691}# (module-variable (current-module) #{n 1682}#))) (if (if (variable? #{old 1691}#) (variable-bound? #{old 1691}#) #f) (module-define! (current-module) #{n 1682}# (variable-ref #{old 1691}#)) (module-add! (current-module) #{n 1682}# (make-undefined-variable)))))) (cons (if (eq? #{m 1574}# 'c&e) (begin (let ((#{x 1695}# (#{build-global-definition 281}# #{s 1599}# #{n 1682}# (#{chi 419}# #{e 1597}# #{r 1571}# #{w 1598}# #{mod 1600}#)))) (begin (#{top-level-eval-hook 250}# #{x 1695}# #{mod 1600}#) #{x 1695}#))) (lambda () (#{build-global-definition 281}# #{s 1599}# #{n 1682}# (#{chi 419}# #{e 1597}# #{r 1571}# #{w 1598}# #{mod 1600}#)))) #{exps 1577}#)) (if (eqv? #{type 1684}# 'displaced-lexical) (syntax-violation #f "identifier out of context" #{e 1597}# (#{wrap 405}# #{value 1596}# #{w 1598}# #{mod 1600}#)) (syntax-violation #f "cannot define keyword at top level" #{e 1597}# (#{wrap 405}# #{value 1596}# #{w 1598}# #{mod 1600}#)))))))) (cons (if (eq? #{m 1574}# 'c&e) (begin (let ((#{x 1700}# (#{chi-expr 421}# #{type 1595}# #{value 1596}# #{e 1597}# #{r 1571}# #{w 1598}# #{s 1599}# #{mod 1600}#))) (begin (#{top-level-eval-hook 250}# #{x 1700}# #{mod 1600}#) #{x 1700}#))) (lambda () (#{chi-expr 421}# #{type 1595}# #{value 1596}# #{e 1597}# #{r 1571}# #{w 1598}# #{s 1599}# #{mod 1600}#))) #{exps 1577}#))))))))) (lambda (#{exps 1701}#) (#{scan 1569}# (cdr #{body 1570}#) #{r 1571}# #{w 1572}# #{s 1573}# #{m 1574}# #{esew 1575}# #{mod 1576}# #{exps 1701}#))))))) (begin (call-with-values (lambda () (#{scan 1569}# #{body 1554}# #{r 1555}# #{w 1556}# #{s 1557}# #{m 1558}# #{esew 1559}# #{mod 1560}# '())) (lambda (#{exps 1703}#) (if (null? #{exps 1703}#) (#{build-void 263}# #{s 1557}#) (#{build-sequence 293}# #{s 1557}# (letrec* ((#{lp 1708}# (lambda (#{in 1709}# #{out 1710}#) (if (null? #{in 1709}#) #{out 1710}# (begin (let ((#{e 1712}# (car #{in 1709}#))) (#{lp 1708}# (cdr #{in 1709}#) (cons (if (procedure? #{e 1712}#) (#{e 1712}#) #{e 1712}#) #{out 1710}#)))))))) (begin (#{lp 1708}# #{exps 1703}# '()))))))))))) (#{chi-install-global 413}# (lambda (#{name 1713}# #{e 1714}#) (#{build-global-definition 281}# #f #{name 1713}# (#{build-application 265}# #f (#{build-primref 289}# #f 'make-syntax-transformer) (list (#{build-data 291}# #f #{name 1713}#) (#{build-data 291}# #f 'macro) #{e 1714}#))))) (#{chi-when-list 415}# (lambda (#{e 1722}# #{when-list 1723}# #{w 1724}#) (letrec* ((#{f 1731}# (lambda (#{when-list 1732}# #{situations 1733}#) (if (null? #{when-list 1732}#) #{situations 1733}# (#{f 1731}# (cdr #{when-list 1732}#) (cons (begin (let ((#{x 1735}# (car #{when-list 1732}#))) (if (#{free-id=? 395}# #{x 1735}# '#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1734")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1728" "i1729" "i1730")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1725" "i1726" "i1727")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) 'compile (if (#{free-id=? 395}# #{x 1735}# '#(syntax-object load ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1734")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1728" "i1729" "i1730")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1725" "i1726" "i1727")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) 'load (if (#{free-id=? 395}# #{x 1735}# '#(syntax-object eval ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1734")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1728" "i1729" "i1730")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1725" "i1726" "i1727")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) 'eval (if (#{free-id=? 395}# #{x 1735}# '#(syntax-object expand ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1734")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1728" "i1729" "i1730")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1725" "i1726" "i1727")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) 'expand (syntax-violation 'eval-when "invalid situation" #{e 1722}# (#{wrap 405}# #{x 1735}# #{w 1724}# #f)))))))) #{situations 1733}#)))))) (begin (#{f 1731}# #{when-list 1723}# '()))))) (#{syntax-type 417}# (lambda (#{e 1745}# #{r 1746}# #{w 1747}# #{s 1748}# #{rib 1749}# #{mod 1750}# #{for-car? 1751}#) (if (symbol? #{e 1745}#) (begin (let ((#{n 1763}# (#{id-var-name 393}# #{e 1745}# #{w 1747}#))) (begin (let ((#{b 1765}# (#{lookup 333}# #{n 1763}# #{r 1746}# #{mod 1750}#))) (begin (let ((#{type 1767}# (car #{b 1765}#))) (if (eqv? #{type 1767}# 'lexical) (values #{type 1767}# (cdr #{b 1765}#) #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{type 1767}# 'global) (values #{type 1767}# #{n 1763}# #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{type 1767}# 'macro) (if #{for-car? 1751}# (values #{type 1767}# (cdr #{b 1765}#) #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (#{syntax-type 417}# (#{chi-macro 425}# (cdr #{b 1765}#) #{e 1745}# #{r 1746}# #{w 1747}# #{s 1748}# #{rib 1749}# #{mod 1750}#) #{r 1746}# '(()) #{s 1748}# #{rib 1749}# #{mod 1750}# #f)) (values #{type 1767}# (cdr #{b 1765}#) #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#)))))))))) (if (pair? #{e 1745}#) (begin (let ((#{first 1781}# (car #{e 1745}#))) (call-with-values (lambda () (#{syntax-type 417}# #{first 1781}# #{r 1746}# #{w 1747}# #{s 1748}# #{rib 1749}# #{mod 1750}# #t)) (lambda (#{ftype 1782}# #{fval 1783}# #{fe 1784}# #{fw 1785}# #{fs 1786}# #{fmod 1787}#) (if (eqv? #{ftype 1782}# 'lexical) (values 'lexical-call #{fval 1783}# #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{ftype 1782}# 'global) (values 'global-call (#{make-syntax-object 303}# #{fval 1783}# #{w 1747}# #{fmod 1787}#) #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{ftype 1782}# 'macro) (#{syntax-type 417}# (#{chi-macro 425}# #{fval 1783}# #{e 1745}# #{r 1746}# #{w 1747}# #{s 1748}# #{rib 1749}# #{mod 1750}#) #{r 1746}# '(()) #{s 1748}# #{rib 1749}# #{mod 1750}# #{for-car? 1751}#) (if (eqv? #{ftype 1782}# 'module-ref) (call-with-values (lambda () (#{fval 1783}# #{e 1745}# #{r 1746}# #{w 1747}#)) (lambda (#{e 1799}# #{r 1800}# #{w 1801}# #{s 1802}# #{mod 1803}#) (#{syntax-type 417}# #{e 1799}# #{r 1800}# #{w 1801}# #{s 1802}# #{rib 1749}# #{mod 1803}# #{for-car? 1751}#))) (if (eqv? #{ftype 1782}# 'core) (values 'core-form #{fval 1783}# #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{ftype 1782}# 'local-syntax) (values 'local-syntax-form #{fval 1783}# #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{ftype 1782}# 'begin) (values 'begin-form #f #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{ftype 1782}# 'eval-when) (values 'eval-when-form #f #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (if (eqv? #{ftype 1782}# 'define) (let ((#{tmp 1814}# #{e 1745}#)) (let ((#{tmp 1815}# ($sc-dispatch #{tmp 1814}# '(_ any any)))) (if (if #{tmp 1815}# (@apply (lambda (#{name 1818}# #{val 1819}#) (#{id? 339}# #{name 1818}#)) #{tmp 1815}#) #f) (@apply (lambda (#{name 1822}# #{val 1823}#) (values 'define-form #{name 1822}# #{val 1823}# #{w 1747}# #{s 1748}# #{mod 1750}#)) #{tmp 1815}#) (let ((#{tmp 1824}# ($sc-dispatch #{tmp 1814}# '(_ (any . any) any . each-any)))) (if (if #{tmp 1824}# (@apply (lambda (#{name 1829}# #{args 1830}# #{e1 1831}# #{e2 1832}#) (if (#{id? 339}# #{name 1829}#) (#{valid-bound-ids? 399}# (#{lambda-var-list 449}# #{args 1830}#)) #f)) #{tmp 1824}#) #f) (@apply (lambda (#{name 1839}# #{args 1840}# #{e1 1841}# #{e2 1842}#) (values 'define-form (#{wrap 405}# #{name 1839}# #{w 1747}# #{mod 1750}#) (#{decorate-source 259}# (cons '#(syntax-object lambda ((top) #(ribcage #(name args e1 e2) #((top) (top) (top) (top)) #("i1835" "i1836" "i1837" "i1838")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1788" "i1789" "i1790" "i1791" "i1792" "i1793")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1780")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1752" "i1753" "i1754" "i1755" "i1756" "i1757" "i1758")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) (#{wrap 405}# (cons #{args 1840}# (cons #{e1 1841}# #{e2 1842}#)) #{w 1747}# #{mod 1750}#)) #{s 1748}#) '(()) #{s 1748}# #{mod 1750}#)) #{tmp 1824}#) (let ((#{tmp 1845}# ($sc-dispatch #{tmp 1814}# '(_ any)))) (if (if #{tmp 1845}# (@apply (lambda (#{name 1847}#) (#{id? 339}# #{name 1847}#)) #{tmp 1845}#) #f) (@apply (lambda (#{name 1849}#) (values 'define-form (#{wrap 405}# #{name 1849}# #{w 1747}# #{mod 1750}#) '(#(syntax-object if ((top) #(ribcage #(name) #((top)) #("i1848")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1788" "i1789" "i1790" "i1791" "i1792" "i1793")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1780")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1752" "i1753" "i1754" "i1755" "i1756" "i1757" "i1758")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(name) #((top)) #("i1848")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1788" "i1789" "i1790" "i1791" "i1792" "i1793")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1780")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1752" "i1753" "i1754" "i1755" "i1756" "i1757" "i1758")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(name) #((top)) #("i1848")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1788" "i1789" "i1790" "i1791" "i1792" "i1793")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1780")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1752" "i1753" "i1754" "i1755" "i1756" "i1757" "i1758")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) '(()) #{s 1748}# #{mod 1750}#)) #{tmp 1845}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1814}#)))))))) (if (eqv? #{ftype 1782}# 'define-syntax) (let ((#{tmp 1852}# #{e 1745}#)) (let ((#{tmp 1853}# ($sc-dispatch #{tmp 1852}# '(_ any any)))) (if (if #{tmp 1853}# (@apply (lambda (#{name 1856}# #{val 1857}#) (#{id? 339}# #{name 1856}#)) #{tmp 1853}#) #f) (@apply (lambda (#{name 1860}# #{val 1861}#) (values 'define-syntax-form #{name 1860}# #{val 1861}# #{w 1747}# #{s 1748}# #{mod 1750}#)) #{tmp 1853}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1852}#)))) (values 'call #f #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#))))))))))))))) (if (#{syntax-object? 305}# #{e 1745}#) (#{syntax-type 417}# (#{syntax-object-expression 307}# #{e 1745}#) #{r 1746}# (#{join-wraps 387}# #{w 1747}# (#{syntax-object-wrap 309}# #{e 1745}#)) (begin (let ((#{t 1867}# (#{source-annotation 320}# #{e 1745}#))) (if #{t 1867}# #{t 1867}# #{s 1748}#))) #{rib 1749}# (begin (let ((#{t 1871}# (#{syntax-object-module 311}# #{e 1745}#))) (if #{t 1871}# #{t 1871}# #{mod 1750}#))) #{for-car? 1751}#) (if (self-evaluating? #{e 1745}#) (values 'constant #f #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#) (values 'other #f #{e 1745}# #{w 1747}# #{s 1748}# #{mod 1750}#))))))) (#{chi 419}# (lambda (#{e 1876}# #{r 1877}# #{w 1878}# #{mod 1879}#) (call-with-values (lambda () (#{syntax-type 417}# #{e 1876}# #{r 1877}# #{w 1878}# (#{source-annotation 320}# #{e 1876}#) #f #{mod 1879}# #f)) (lambda (#{type 1884}# #{value 1885}# #{e 1886}# #{w 1887}# #{s 1888}# #{mod 1889}#) (#{chi-expr 421}# #{type 1884}# #{value 1885}# #{e 1886}# #{r 1877}# #{w 1887}# #{s 1888}# #{mod 1889}#))))) (#{chi-expr 421}# (lambda (#{type 1896}# #{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#) (if (eqv? #{type 1896}# 'lexical) (#{build-lexical-reference 271}# 'value #{s 1901}# #{e 1898}# #{value 1897}#) (if (if (eqv? #{type 1896}# 'core) #t (eqv? #{type 1896}# 'core-form)) (#{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#) (if (eqv? #{type 1896}# 'module-ref) (call-with-values (lambda () (#{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}#)) (lambda (#{e 1913}# #{r 1914}# #{w 1915}# #{s 1916}# #{mod 1917}#) (#{chi 419}# #{e 1913}# #{r 1914}# #{w 1915}# #{mod 1917}#))) (if (eqv? #{type 1896}# 'lexical-call) (#{chi-application 423}# (begin (let ((#{id 1925}# (car #{e 1898}#))) (#{build-lexical-reference 271}# 'fun (#{source-annotation 320}# #{id 1925}#) (if (#{syntax-object? 305}# #{id 1925}#) (syntax->datum #{id 1925}#) #{id 1925}#) #{value 1897}#))) #{e 1898}# #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#) (if (eqv? #{type 1896}# 'global-call) (#{chi-application 423}# (#{build-global-reference 277}# (#{source-annotation 320}# (car #{e 1898}#)) (if (#{syntax-object? 305}# #{value 1897}#) (#{syntax-object-expression 307}# #{value 1897}#) #{value 1897}#) (if (#{syntax-object? 305}# #{value 1897}#) (#{syntax-object-module 311}# #{value 1897}#) #{mod 1902}#)) #{e 1898}# #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#) (if (eqv? #{type 1896}# 'constant) (#{build-data 291}# #{s 1901}# (#{strip 445}# (#{source-wrap 407}# #{e 1898}# #{w 1900}# #{s 1901}# #{mod 1902}#) '(()))) (if (eqv? #{type 1896}# 'global) (#{build-global-reference 277}# #{s 1901}# #{value 1897}# #{mod 1902}#) (if (eqv? #{type 1896}# 'call) (#{chi-application 423}# (#{chi 419}# (car #{e 1898}#) #{r 1899}# #{w 1900}# #{mod 1902}#) #{e 1898}# #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#) (if (eqv? #{type 1896}# 'begin-form) (let ((#{tmp 1932}# #{e 1898}#)) (let ((#{tmp 1933}# ($sc-dispatch #{tmp 1932}# '(_ any . each-any)))) (if #{tmp 1933}# (@apply (lambda (#{e1 1936}# #{e2 1937}#) (#{chi-sequence 409}# (cons #{e1 1936}# #{e2 1937}#) #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#)) #{tmp 1933}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1932}#)))) (if (eqv? #{type 1896}# 'local-syntax-form) (#{chi-local-syntax 429}# #{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}# #{chi-sequence 409}#) (if (eqv? #{type 1896}# 'eval-when-form) (let ((#{tmp 1941}# #{e 1898}#)) (let ((#{tmp 1942}# ($sc-dispatch #{tmp 1941}# '(_ each-any any . each-any)))) (if #{tmp 1942}# (@apply (lambda (#{x 1946}# #{e1 1947}# #{e2 1948}#) (begin (let ((#{when-list 1950}# (#{chi-when-list 415}# #{e 1898}# #{x 1946}# #{w 1900}#))) (if (memq 'eval #{when-list 1950}#) (#{chi-sequence 409}# (cons #{e1 1947}# #{e2 1948}#) #{r 1899}# #{w 1900}# #{s 1901}# #{mod 1902}#) (#{chi-void 433}#))))) #{tmp 1942}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1941}#)))) (if (if (eqv? #{type 1896}# 'define-form) #t (eqv? #{type 1896}# 'define-syntax-form)) (syntax-violation #f "definition in expression context" #{e 1898}# (#{wrap 405}# #{value 1897}# #{w 1900}# #{mod 1902}#)) (if (eqv? #{type 1896}# 'syntax) (syntax-violation #f "reference to pattern variable outside syntax form" (#{source-wrap 407}# #{e 1898}# #{w 1900}# #{s 1901}# #{mod 1902}#)) (if (eqv? #{type 1896}# 'displaced-lexical) (syntax-violation #f "reference to identifier outside its scope" (#{source-wrap 407}# #{e 1898}# #{w 1900}# #{s 1901}# #{mod 1902}#)) (syntax-violation #f "unexpected syntax" (#{source-wrap 407}# #{e 1898}# #{w 1900}# #{s 1901}# #{mod 1902}#)))))))))))))))))) (#{chi-application 423}# (lambda (#{x 1957}# #{e 1958}# #{r 1959}# #{w 1960}# #{s 1961}# #{mod 1962}#) (let ((#{tmp 1969}# #{e 1958}#)) (let ((#{tmp 1970}# ($sc-dispatch #{tmp 1969}# '(any . each-any)))) (if #{tmp 1970}# (@apply (lambda (#{e0 1973}# #{e1 1974}#) (#{build-application 265}# #{s 1961}# #{x 1957}# (map (lambda (#{e 1975}#) (#{chi 419}# #{e 1975}# #{r 1959}# #{w 1960}# #{mod 1962}#)) #{e1 1974}#))) #{tmp 1970}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 1969}#)))))) (#{chi-macro 425}# (lambda (#{p 1978}# #{e 1979}# #{r 1980}# #{w 1981}# #{s 1982}# #{rib 1983}# #{mod 1984}#) (letrec* ((#{rebuild-macro-output 1993}# (lambda (#{x 1994}# #{m 1995}#) (if (pair? #{x 1994}#) (#{decorate-source 259}# (cons (#{rebuild-macro-output 1993}# (car #{x 1994}#) #{m 1995}#) (#{rebuild-macro-output 1993}# (cdr #{x 1994}#) #{m 1995}#)) #{s 1982}#) (if (#{syntax-object? 305}# #{x 1994}#) (begin (let ((#{w 2003}# (#{syntax-object-wrap 309}# #{x 1994}#))) (begin (let ((#{ms 2006}# (car #{w 2003}#)) (#{s 2007}# (cdr #{w 2003}#))) (if (if (pair? #{ms 2006}#) (eq? (car #{ms 2006}#) #f) #f) (#{make-syntax-object 303}# (#{syntax-object-expression 307}# #{x 1994}#) (cons (cdr #{ms 2006}#) (if #{rib 1983}# (cons #{rib 1983}# (cdr #{s 2007}#)) (cdr #{s 2007}#))) (#{syntax-object-module 311}# #{x 1994}#)) (#{make-syntax-object 303}# (#{decorate-source 259}# (#{syntax-object-expression 307}# #{x 1994}#) #{s 2007}#) (cons (cons #{m 1995}# #{ms 2006}#) (if #{rib 1983}# (cons #{rib 1983}# (cons 'shift #{s 2007}#)) (cons 'shift #{s 2007}#))) (#{syntax-object-module 311}# #{x 1994}#))))))) (if (vector? #{x 1994}#) (begin (let ((#{n 2019}# (vector-length #{x 1994}#))) (begin (let ((#{v 2021}# (#{decorate-source 259}# (make-vector #{n 2019}#) #{x 1994}#))) (letrec* ((#{loop 2024}# (lambda (#{i 2025}#) (if (= #{i 2025}# #{n 2019}#) (begin (if #f #f) #{v 2021}#) (begin (vector-set! #{v 2021}# #{i 2025}# (#{rebuild-macro-output 1993}# (vector-ref #{x 1994}# #{i 2025}#) #{m 1995}#)) (#{loop 2024}# (#{1+}# #{i 2025}#))))))) (begin (#{loop 2024}# 0))))))) (if (symbol? #{x 1994}#) (syntax-violation #f "encountered raw symbol in macro output" (#{source-wrap 407}# #{e 1979}# #{w 1981}# (cdr #{w 1981}#) #{mod 1984}#) #{x 1994}#) (#{decorate-source 259}# #{x 1994}# #{s 1982}#)))))))) (begin (#{rebuild-macro-output 1993}# (#{p 1978}# (#{source-wrap 407}# #{e 1979}# (#{anti-mark 377}# #{w 1981}#) #{s 1982}# #{mod 1984}#)) (gensym "m")))))) (#{chi-body 427}# (lambda (#{body 2035}# #{outer-form 2036}# #{r 2037}# #{w 2038}# #{mod 2039}#) (begin (let ((#{r 2047}# (cons '("placeholder" placeholder) #{r 2037}#))) (begin (let ((#{ribcage 2049}# (#{make-ribcage 357}# '() '() '()))) (begin (let ((#{w 2052}# (cons (car #{w 2038}#) (cons #{ribcage 2049}# (cdr #{w 2038}#))))) (letrec* ((#{parse 2064}# (lambda (#{body 2065}# #{ids 2066}# #{labels 2067}# #{var-ids 2068}# #{vars 2069}# #{vals 2070}# #{bindings 2071}#) (if (null? #{body 2065}#) (syntax-violation #f "no expressions in body" #{outer-form 2036}#) (begin (let ((#{e 2076}# (cdr (car #{body 2065}#))) (#{er 2077}# (car (car #{body 2065}#)))) (call-with-values (lambda () (#{syntax-type 417}# #{e 2076}# #{er 2077}# '(()) (#{source-annotation 320}# #{er 2077}#) #{ribcage 2049}# #{mod 2039}# #f)) (lambda (#{type 2079}# #{value 2080}# #{e 2081}# #{w 2082}# #{s 2083}# #{mod 2084}#) (if (eqv? #{type 2079}# 'define-form) (begin (let ((#{id 2094}# (#{wrap 405}# #{value 2080}# #{w 2082}# #{mod 2084}#)) (#{label 2095}# (#{gen-label 352}#))) (begin (let ((#{var 2097}# (#{gen-var 447}# #{id 2094}#))) (begin (#{extend-ribcage! 381}# #{ribcage 2049}# #{id 2094}# #{label 2095}#) (#{parse 2064}# (cdr #{body 2065}#) (cons #{id 2094}# #{ids 2066}#) (cons #{label 2095}# #{labels 2067}#) (cons #{id 2094}# #{var-ids 2068}#) (cons #{var 2097}# #{vars 2069}#) (cons (cons #{er 2077}# (#{wrap 405}# #{e 2081}# #{w 2082}# #{mod 2084}#)) #{vals 2070}#) (cons (cons 'lexical #{var 2097}#) #{bindings 2071}#))))))) (if (eqv? #{type 2079}# 'define-syntax-form) (begin (let ((#{id 2102}# (#{wrap 405}# #{value 2080}# #{w 2082}# #{mod 2084}#)) (#{label 2103}# (#{gen-label 352}#))) (begin (#{extend-ribcage! 381}# #{ribcage 2049}# #{id 2102}# #{label 2103}#) (#{parse 2064}# (cdr #{body 2065}#) (cons #{id 2102}# #{ids 2066}#) (cons #{label 2103}# #{labels 2067}#) #{var-ids 2068}# #{vars 2069}# #{vals 2070}# (cons (cons 'macro (cons #{er 2077}# (#{wrap 405}# #{e 2081}# #{w 2082}# #{mod 2084}#))) #{bindings 2071}#))))) (if (eqv? #{type 2079}# 'begin-form) (let ((#{tmp 2106}# #{e 2081}#)) (let ((#{tmp 2107}# ($sc-dispatch #{tmp 2106}# '(_ . each-any)))) (if #{tmp 2107}# (@apply (lambda (#{e1 2109}#) (#{parse 2064}# (letrec* ((#{f 2112}# (lambda (#{forms 2113}#) (if (null? #{forms 2113}#) (cdr #{body 2065}#) (cons (cons #{er 2077}# (#{wrap 405}# (car #{forms 2113}#) #{w 2082}# #{mod 2084}#)) (#{f 2112}# (cdr #{forms 2113}#))))))) (begin (#{f 2112}# #{e1 2109}#))) #{ids 2066}# #{labels 2067}# #{var-ids 2068}# #{vars 2069}# #{vals 2070}# #{bindings 2071}#)) #{tmp 2107}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 2106}#)))) (if (eqv? #{type 2079}# 'local-syntax-form) (#{chi-local-syntax 429}# #{value 2080}# #{e 2081}# #{er 2077}# #{w 2082}# #{s 2083}# #{mod 2084}# (lambda (#{forms 2116}# #{er 2117}# #{w 2118}# #{s 2119}# #{mod 2120}#) (#{parse 2064}# (letrec* ((#{f 2128}# (lambda (#{forms 2129}#) (if (null? #{forms 2129}#) (cdr #{body 2065}#) (cons (cons #{er 2117}# (#{wrap 405}# (car #{forms 2129}#) #{w 2118}# #{mod 2120}#)) (#{f 2128}# (cdr #{forms 2129}#))))))) (begin (#{f 2128}# #{forms 2116}#))) #{ids 2066}# #{labels 2067}# #{var-ids 2068}# #{vars 2069}# #{vals 2070}# #{bindings 2071}#))) (if (null? #{ids 2066}#) (#{build-sequence 293}# #f (map (lambda (#{x 2132}#) (#{chi 419}# (cdr #{x 2132}#) (car #{x 2132}#) '(()) #{mod 2084}#)) (cons (cons #{er 2077}# (#{source-wrap 407}# #{e 2081}# #{w 2082}# #{s 2083}# #{mod 2084}#)) (cdr #{body 2065}#)))) (begin (if (not (#{valid-bound-ids? 399}# #{ids 2066}#)) (syntax-violation #f "invalid or duplicate identifier in definition" #{outer-form 2036}#)) (letrec* ((#{loop 2139}# (lambda (#{bs 2140}# #{er-cache 2141}# #{r-cache 2142}#) (if (not (null? #{bs 2140}#)) (begin (let ((#{b 2145}# (car #{bs 2140}#))) (if (eq? (car #{b 2145}#) 'macro) (begin (let ((#{er 2148}# (car (cdr #{b 2145}#)))) (begin (let ((#{r-cache 2150}# (if (eq? #{er 2148}# #{er-cache 2141}#) #{r-cache 2142}# (#{macros-only-env 331}# #{er 2148}#)))) (begin (set-cdr! #{b 2145}# (#{eval-local-transformer 431}# (#{chi 419}# (cdr (cdr #{b 2145}#)) #{r-cache 2150}# '(()) #{mod 2084}#) #{mod 2084}#)) (#{loop 2139}# (cdr #{bs 2140}#) #{er 2148}# #{r-cache 2150}#)))))) (#{loop 2139}# (cdr #{bs 2140}#) #{er-cache 2141}# #{r-cache 2142}#)))))))) (begin (#{loop 2139}# #{bindings 2071}# #f #f))) (set-cdr! #{r 2047}# (#{extend-env 327}# #{labels 2067}# #{bindings 2071}# (cdr #{r 2047}#))) (#{build-letrec 299}# #f #t (reverse (map syntax->datum #{var-ids 2068}#)) (reverse #{vars 2069}#) (map (lambda (#{x 2153}#) (#{chi 419}# (cdr #{x 2153}#) (car #{x 2153}#) '(()) #{mod 2084}#)) (reverse #{vals 2070}#)) (#{build-sequence 293}# #f (map (lambda (#{x 2157}#) (#{chi 419}# (cdr #{x 2157}#) (car #{x 2157}#) '(()) #{mod 2084}#)) (cons (cons #{er 2077}# (#{source-wrap 407}# #{e 2081}# #{w 2082}# #{s 2083}# #{mod 2084}#)) (cdr #{body 2065}#))))))))))))))))))) (begin (#{parse 2064}# (map (lambda (#{x 2072}#) (cons #{r 2047}# (#{wrap 405}# #{x 2072}# #{w 2052}# #{mod 2039}#))) #{body 2035}#) '() '() '() '() '() '()))))))))))) (#{chi-local-syntax 429}# (lambda (#{rec? 2160}# #{e 2161}# #{r 2162}# #{w 2163}# #{s 2164}# #{mod 2165}# #{k 2166}#) (let ((#{tmp 2174}# #{e 2161}#)) (let ((#{tmp 2175}# ($sc-dispatch #{tmp 2174}# '(_ #(each (any any)) any . each-any)))) (if #{tmp 2175}# (@apply (lambda (#{id 2180}# #{val 2181}# #{e1 2182}# #{e2 2183}#) (begin (let ((#{ids 2185}# #{id 2180}#)) (if (not (#{valid-bound-ids? 399}# #{ids 2185}#)) (syntax-violation #f "duplicate bound keyword" #{e 2161}#) (begin (let ((#{labels 2188}# (#{gen-labels 354}# #{ids 2185}#))) (begin (let ((#{new-w 2190}# (#{make-binding-wrap 383}# #{ids 2185}# #{labels 2188}# #{w 2163}#))) (#{k 2166}# (cons #{e1 2182}# #{e2 2183}#) (#{extend-env 327}# #{labels 2188}# (begin (let ((#{w 2194}# (if #{rec? 2160}# #{new-w 2190}# #{w 2163}#)) (#{trans-r 2195}# (#{macros-only-env 331}# #{r 2162}#))) (map (lambda (#{x 2196}#) (cons 'macro (#{eval-local-transformer 431}# (#{chi 419}# #{x 2196}# #{trans-r 2195}# #{w 2194}# #{mod 2165}#) #{mod 2165}#))) #{val 2181}#))) #{r 2162}#) #{new-w 2190}# #{s 2164}# #{mod 2165}#))))))))) #{tmp 2175}#) (let ((#{_ 2201}# #{tmp 2174}#)) (syntax-violation #f "bad local syntax definition" (#{source-wrap 407}# #{e 2161}# #{w 2163}# #{s 2164}# #{mod 2165}#)))))))) (#{eval-local-transformer 431}# (lambda (#{expanded 2202}# #{mod 2203}#) (begin (let ((#{p 2207}# (#{local-eval-hook 252}# #{expanded 2202}# #{mod 2203}#))) (if (procedure? #{p 2207}#) #{p 2207}# (syntax-violation #f "nonprocedure transformer" #{p 2207}#)))))) (#{chi-void 433}# (lambda () (#{build-void 263}# #f))) (#{ellipsis? 435}# (lambda (#{x 2209}#) (if (#{nonsymbol-id? 337}# #{x 2209}#) (#{free-id=? 395}# #{x 2209}# '#(syntax-object ... ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i2210")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) #f))) (#{lambda-formals 437}# (lambda (#{orig-args 2213}#) (letrec* ((#{req 2216}# (lambda (#{args 2219}# #{rreq 2220}#) (let ((#{tmp 2223}# #{args 2219}#)) (let ((#{tmp 2224}# ($sc-dispatch #{tmp 2223}# '()))) (if #{tmp 2224}# (@apply (lambda () (#{check 2218}# (reverse #{rreq 2220}#) #f)) #{tmp 2224}#) (let ((#{tmp 2225}# ($sc-dispatch #{tmp 2223}# '(any . any)))) (if (if #{tmp 2225}# (@apply (lambda (#{a 2228}# #{b 2229}#) (#{id? 339}# #{a 2228}#)) #{tmp 2225}#) #f) (@apply (lambda (#{a 2232}# #{b 2233}#) (#{req 2216}# #{b 2233}# (cons #{a 2232}# #{rreq 2220}#))) #{tmp 2225}#) (let ((#{tmp 2234}# (list #{tmp 2223}#))) (if (if #{tmp 2234}# (@apply (lambda (#{r 2236}#) (#{id? 339}# #{r 2236}#)) #{tmp 2234}#) #f) (@apply (lambda (#{r 2238}#) (#{check 2218}# (reverse #{rreq 2220}#) #{r 2238}#)) #{tmp 2234}#) (let ((#{else 2240}# #{tmp 2223}#)) (syntax-violation 'lambda "invalid argument list" #{orig-args 2213}# #{args 2219}#))))))))))) (#{check 2218}# (lambda (#{req 2241}# #{rest 2242}#) (if (#{distinct-bound-ids? 401}# (if #{rest 2242}# (cons #{rest 2242}# #{req 2241}#) #{req 2241}#)) (values #{req 2241}# #f #{rest 2242}# #f) (syntax-violation 'lambda "duplicate identifier in argument list" #{orig-args 2213}#))))) (begin (#{req 2216}# #{orig-args 2213}# '()))))) (#{chi-simple-lambda 439}# (lambda (#{e 2248}# #{r 2249}# #{w 2250}# #{s 2251}# #{mod 2252}# #{req 2253}# #{rest 2254}# #{meta 2255}# #{body 2256}#) (begin (let ((#{ids 2268}# (if #{rest 2254}# (append #{req 2253}# (list #{rest 2254}#)) #{req 2253}#))) (begin (let ((#{vars 2270}# (map #{gen-var 447}# #{ids 2268}#))) (begin (let ((#{labels 2272}# (#{gen-labels 354}# #{ids 2268}#))) (#{build-simple-lambda 283}# #{s 2251}# (map syntax->datum #{req 2253}#) (if #{rest 2254}# (syntax->datum #{rest 2254}#) #f) #{vars 2270}# #{meta 2255}# (#{chi-body 427}# #{body 2256}# (#{source-wrap 407}# #{e 2248}# #{w 2250}# #{s 2251}# #{mod 2252}#) (#{extend-var-env 329}# #{labels 2272}# #{vars 2270}# #{r 2249}#) (#{make-binding-wrap 383}# #{ids 2268}# #{labels 2272}# #{w 2250}#) #{mod 2252}#)))))))))) (#{lambda*-formals 441}# (lambda (#{orig-args 2275}#) (letrec* ((#{req 2278}# (lambda (#{args 2287}# #{rreq 2288}#) (let ((#{tmp 2291}# #{args 2287}#)) (let ((#{tmp 2292}# ($sc-dispatch #{tmp 2291}# '()))) (if #{tmp 2292}# (@apply (lambda () (#{check 2286}# (reverse #{rreq 2288}#) '() #f '())) #{tmp 2292}#) (let ((#{tmp 2293}# ($sc-dispatch #{tmp 2291}# '(any . any)))) (if (if #{tmp 2293}# (@apply (lambda (#{a 2296}# #{b 2297}#) (#{id? 339}# #{a 2296}#)) #{tmp 2293}#) #f) (@apply (lambda (#{a 2300}# #{b 2301}#) (#{req 2278}# #{b 2301}# (cons #{a 2300}# #{rreq 2288}#))) #{tmp 2293}#) (let ((#{tmp 2302}# ($sc-dispatch #{tmp 2291}# '(any . any)))) (if (if #{tmp 2302}# (@apply (lambda (#{a 2305}# #{b 2306}#) (eq? (syntax->datum #{a 2305}#) #:optional)) #{tmp 2302}#) #f) (@apply (lambda (#{a 2309}# #{b 2310}#) (#{opt 2280}# #{b 2310}# (reverse #{rreq 2288}#) '())) #{tmp 2302}#) (let ((#{tmp 2311}# ($sc-dispatch #{tmp 2291}# '(any . any)))) (if (if #{tmp 2311}# (@apply (lambda (#{a 2314}# #{b 2315}#) (eq? (syntax->datum #{a 2314}#) #:key)) #{tmp 2311}#) #f) (@apply (lambda (#{a 2318}# #{b 2319}#) (#{key 2282}# #{b 2319}# (reverse #{rreq 2288}#) '() '())) #{tmp 2311}#) (let ((#{tmp 2320}# ($sc-dispatch #{tmp 2291}# '(any any)))) (if (if #{tmp 2320}# (@apply (lambda (#{a 2323}# #{b 2324}#) (eq? (syntax->datum #{a 2323}#) #:rest)) #{tmp 2320}#) #f) (@apply (lambda (#{a 2327}# #{b 2328}#) (#{rest 2284}# #{b 2328}# (reverse #{rreq 2288}#) '() '())) #{tmp 2320}#) (let ((#{tmp 2329}# (list #{tmp 2291}#))) (if (if #{tmp 2329}# (@apply (lambda (#{r 2331}#) (#{id? 339}# #{r 2331}#)) #{tmp 2329}#) #f) (@apply (lambda (#{r 2333}#) (#{rest 2284}# #{r 2333}# (reverse #{rreq 2288}#) '() '())) #{tmp 2329}#) (let ((#{else 2335}# #{tmp 2291}#)) (syntax-violation 'lambda* "invalid argument list" #{orig-args 2275}# #{args 2287}#))))))))))))))))) (#{opt 2280}# (lambda (#{args 2336}# #{req 2337}# #{ropt 2338}#) (let ((#{tmp 2342}# #{args 2336}#)) (let ((#{tmp 2343}# ($sc-dispatch #{tmp 2342}# '()))) (if #{tmp 2343}# (@apply (lambda () (#{check 2286}# #{req 2337}# (reverse #{ropt 2338}#) #f '())) #{tmp 2343}#) (let ((#{tmp 2344}# ($sc-dispatch #{tmp 2342}# '(any . any)))) (if (if #{tmp 2344}# (@apply (lambda (#{a 2347}# #{b 2348}#) (#{id? 339}# #{a 2347}#)) #{tmp 2344}#) #f) (@apply (lambda (#{a 2351}# #{b 2352}#) (#{opt 2280}# #{b 2352}# #{req 2337}# (cons (cons #{a 2351}# '(#(syntax-object #f ((top) #(ribcage #(a b) #((top) (top)) #("i2349" "i2350")) #(ribcage () () ()) #(ribcage #(args req ropt) #((top) (top) (top)) #("i2339" "i2340" "i2341")) #(ribcage (check rest key opt req) ((top) (top) (top) (top) (top)) ("i2285" "i2283" "i2281" "i2279" "i2277")) #(ribcage #(orig-args) #((top)) #("i2276")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)))) #{ropt 2338}#))) #{tmp 2344}#) (let ((#{tmp 2353}# ($sc-dispatch #{tmp 2342}# '((any any) . any)))) (if (if #{tmp 2353}# (@apply (lambda (#{a 2357}# #{init 2358}# #{b 2359}#) (#{id? 339}# #{a 2357}#)) #{tmp 2353}#) #f) (@apply (lambda (#{a 2363}# #{init 2364}# #{b 2365}#) (#{opt 2280}# #{b 2365}# #{req 2337}# (cons (list #{a 2363}# #{init 2364}#) #{ropt 2338}#))) #{tmp 2353}#) (let ((#{tmp 2366}# ($sc-dispatch #{tmp 2342}# '(any . any)))) (if (if #{tmp 2366}# (@apply (lambda (#{a 2369}# #{b 2370}#) (eq? (syntax->datum #{a 2369}#) #:key)) #{tmp 2366}#) #f) (@apply (lambda (#{a 2373}# #{b 2374}#) (#{key 2282}# #{b 2374}# #{req 2337}# (reverse #{ropt 2338}#) '())) #{tmp 2366}#) (let ((#{tmp 2375}# ($sc-dispatch #{tmp 2342}# '(any any)))) (if (if #{tmp 2375}# (@apply (lambda (#{a 2378}# #{b 2379}#) (eq? (syntax->datum #{a 2378}#) #:rest)) #{tmp 2375}#) #f) (@apply (lambda (#{a 2382}# #{b 2383}#) (#{rest 2284}# #{b 2383}# #{req 2337}# (reverse #{ropt 2338}#) '())) #{tmp 2375}#) (let ((#{tmp 2384}# (list #{tmp 2342}#))) (if (if #{tmp 2384}# (@apply (lambda (#{r 2386}#) (#{id? 339}# #{r 2386}#)) #{tmp 2384}#) #f) (@apply (lambda (#{r 2388}#) (#{rest 2284}# #{r 2388}# #{req 2337}# (reverse #{ropt 2338}#) '())) #{tmp 2384}#) (let ((#{else 2390}# #{tmp 2342}#)) (syntax-violation 'lambda* "invalid optional argument list" #{orig-args 2275}# #{args 2336}#))))))))))))))))) (#{key 2282}# (lambda (#{args 2391}# #{req 2392}# #{opt 2393}# #{rkey 2394}#) (let ((#{tmp 2399}# #{args 2391}#)) (let ((#{tmp 2400}# ($sc-dispatch #{tmp 2399}# '()))) (if #{tmp 2400}# (@apply (lambda () (#{check 2286}# #{req 2392}# #{opt 2393}# #f (cons #f (reverse #{rkey 2394}#)))) #{tmp 2400}#) (let ((#{tmp 2401}# ($sc-dispatch #{tmp 2399}# '(any . any)))) (if (if #{tmp 2401}# (@apply (lambda (#{a 2404}# #{b 2405}#) (#{id? 339}# #{a 2404}#)) #{tmp 2401}#) #f) (@apply (lambda (#{a 2408}# #{b 2409}#) (let ((#{tmp 2411}# (symbol->keyword (syntax->datum #{a 2408}#)))) (let ((#{k 2413}# #{tmp 2411}#)) (#{key 2282}# #{b 2409}# #{req 2392}# #{opt 2393}# (cons (cons #{k 2413}# (cons #{a 2408}# '(#(syntax-object #f ((top) #(ribcage () () ()) #(ribcage #(k) #((top)) #("i2412")) #(ribcage #(a b) #((top) (top)) #("i2406" "i2407")) #(ribcage () () ()) #(ribcage #(args req opt rkey) #((top) (top) (top) (top)) #("i2395" "i2396" "i2397" "i2398")) #(ribcage (check rest key opt req) ((top) (top) (top) (top) (top)) ("i2285" "i2283" "i2281" "i2279" "i2277")) #(ribcage #(orig-args) #((top)) #("i2276")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))))) #{rkey 2394}#))))) #{tmp 2401}#) (let ((#{tmp 2414}# ($sc-dispatch #{tmp 2399}# '((any any) . any)))) (if (if #{tmp 2414}# (@apply (lambda (#{a 2418}# #{init 2419}# #{b 2420}#) (#{id? 339}# #{a 2418}#)) #{tmp 2414}#) #f) (@apply (lambda (#{a 2424}# #{init 2425}# #{b 2426}#) (let ((#{tmp 2428}# (symbol->keyword (syntax->datum #{a 2424}#)))) (let ((#{k 2430}# #{tmp 2428}#)) (#{key 2282}# #{b 2426}# #{req 2392}# #{opt 2393}# (cons (list #{k 2430}# #{a 2424}# #{init 2425}#) #{rkey 2394}#))))) #{tmp 2414}#) (let ((#{tmp 2431}# ($sc-dispatch #{tmp 2399}# '((any any any) . any)))) (if (if #{tmp 2431}# (@apply (lambda (#{a 2436}# #{init 2437}# #{k 2438}# #{b 2439}#) (if (#{id? 339}# #{a 2436}#) (keyword? (syntax->datum #{k 2438}#)) #f)) #{tmp 2431}#) #f) (@apply (lambda (#{a 2446}# #{init 2447}# #{k 2448}# #{b 2449}#) (#{key 2282}# #{b 2449}# #{req 2392}# #{opt 2393}# (cons (list #{k 2448}# #{a 2446}# #{init 2447}#) #{rkey 2394}#))) #{tmp 2431}#) (let ((#{tmp 2450}# ($sc-dispatch #{tmp 2399}# '(any)))) (if (if #{tmp 2450}# (@apply (lambda (#{aok 2452}#) (eq? (syntax->datum #{aok 2452}#) #:allow-other-keys)) #{tmp 2450}#) #f) (@apply (lambda (#{aok 2454}#) (#{check 2286}# #{req 2392}# #{opt 2393}# #f (cons #t (reverse #{rkey 2394}#)))) #{tmp 2450}#) (let ((#{tmp 2455}# ($sc-dispatch #{tmp 2399}# '(any any any)))) (if (if #{tmp 2455}# (@apply (lambda (#{aok 2459}# #{a 2460}# #{b 2461}#) (if (eq? (syntax->datum #{aok 2459}#) #:allow-other-keys) (eq? (syntax->datum #{a 2460}#) #:rest) #f)) #{tmp 2455}#) #f) (@apply (lambda (#{aok 2467}# #{a 2468}# #{b 2469}#) (#{rest 2284}# #{b 2469}# #{req 2392}# #{opt 2393}# (cons #t (reverse #{rkey 2394}#)))) #{tmp 2455}#) (let ((#{tmp 2470}# ($sc-dispatch #{tmp 2399}# '(any . any)))) (if (if #{tmp 2470}# (@apply (lambda (#{aok 2473}# #{r 2474}#) (if (eq? (syntax->datum #{aok 2473}#) #:allow-other-keys) (#{id? 339}# #{r 2474}#) #f)) #{tmp 2470}#) #f) (@apply (lambda (#{aok 2479}# #{r 2480}#) (#{rest 2284}# #{r 2480}# #{req 2392}# #{opt 2393}# (cons #t (reverse #{rkey 2394}#)))) #{tmp 2470}#) (let ((#{tmp 2481}# ($sc-dispatch #{tmp 2399}# '(any any)))) (if (if #{tmp 2481}# (@apply (lambda (#{a 2484}# #{b 2485}#) (eq? (syntax->datum #{a 2484}#) #:rest)) #{tmp 2481}#) #f) (@apply (lambda (#{a 2488}# #{b 2489}#) (#{rest 2284}# #{b 2489}# #{req 2392}# #{opt 2393}# (cons #f (reverse #{rkey 2394}#)))) #{tmp 2481}#) (let ((#{tmp 2490}# (list #{tmp 2399}#))) (if (if #{tmp 2490}# (@apply (lambda (#{r 2492}#) (#{id? 339}# #{r 2492}#)) #{tmp 2490}#) #f) (@apply (lambda (#{r 2494}#) (#{rest 2284}# #{r 2494}# #{req 2392}# #{opt 2393}# (cons #f (reverse #{rkey 2394}#)))) #{tmp 2490}#) (let ((#{else 2496}# #{tmp 2399}#)) (syntax-violation 'lambda* "invalid keyword argument list" #{orig-args 2275}# #{args 2391}#))))))))))))))))))))))) (#{rest 2284}# (lambda (#{args 2497}# #{req 2498}# #{opt 2499}# #{kw 2500}#) (let ((#{tmp 2505}# #{args 2497}#)) (let ((#{tmp 2506}# (list #{tmp 2505}#))) (if (if #{tmp 2506}# (@apply (lambda (#{r 2508}#) (#{id? 339}# #{r 2508}#)) #{tmp 2506}#) #f) (@apply (lambda (#{r 2510}#) (#{check 2286}# #{req 2498}# #{opt 2499}# #{r 2510}# #{kw 2500}#)) #{tmp 2506}#) (let ((#{else 2512}# #{tmp 2505}#)) (syntax-violation 'lambda* "invalid rest argument" #{orig-args 2275}# #{args 2497}#))))))) (#{check 2286}# (lambda (#{req 2513}# #{opt 2514}# #{rest 2515}# #{kw 2516}#) (if (#{distinct-bound-ids? 401}# (append #{req 2513}# (map car #{opt 2514}#) (if #{rest 2515}# (list #{rest 2515}#) '()) (if (pair? #{kw 2516}#) (map cadr (cdr #{kw 2516}#)) '()))) (values #{req 2513}# #{opt 2514}# #{rest 2515}# #{kw 2516}#) (syntax-violation 'lambda* "duplicate identifier in argument list" #{orig-args 2275}#))))) (begin (#{req 2278}# #{orig-args 2275}# '()))))) (#{chi-lambda-case 443}# (lambda (#{e 2524}# #{r 2525}# #{w 2526}# #{s 2527}# #{mod 2528}# #{get-formals 2529}# #{clauses 2530}#) (letrec* ((#{expand-req 2539}# (lambda (#{req 2546}# #{opt 2547}# #{rest 2548}# #{kw 2549}# #{body 2550}#) (begin (let ((#{vars 2558}# (map #{gen-var 447}# #{req 2546}#)) (#{labels 2559}# (#{gen-labels 354}# #{req 2546}#))) (begin (let ((#{r* 2562}# (#{extend-var-env 329}# #{labels 2559}# #{vars 2558}# #{r 2525}#)) (#{w* 2563}# (#{make-binding-wrap 383}# #{req 2546}# #{labels 2559}# #{w 2526}#))) (#{expand-opt 2541}# (map syntax->datum #{req 2546}#) #{opt 2547}# #{rest 2548}# #{kw 2549}# #{body 2550}# (reverse #{vars 2558}#) #{r* 2562}# #{w* 2563}# '() '()))))))) (#{expand-opt 2541}# (lambda (#{req 2564}# #{opt 2565}# #{rest 2566}# #{kw 2567}# #{body 2568}# #{vars 2569}# #{r* 2570}# #{w* 2571}# #{out 2572}# #{inits 2573}#) (if (pair? #{opt 2565}#) (let ((#{tmp 2586}# (car #{opt 2565}#))) (let ((#{tmp 2587}# ($sc-dispatch #{tmp 2586}# '(any any)))) (if #{tmp 2587}# (@apply (lambda (#{id 2590}# #{i 2591}#) (begin (let ((#{v 2594}# (#{gen-var 447}# #{id 2590}#))) (begin (let ((#{l 2596}# (#{gen-labels 354}# (list #{v 2594}#)))) (begin (let ((#{r** 2598}# (#{extend-var-env 329}# #{l 2596}# (list #{v 2594}#) #{r* 2570}#))) (begin (let ((#{w** 2600}# (#{make-binding-wrap 383}# (list #{id 2590}#) #{l 2596}# #{w* 2571}#))) (#{expand-opt 2541}# #{req 2564}# (cdr #{opt 2565}#) #{rest 2566}# #{kw 2567}# #{body 2568}# (cons #{v 2594}# #{vars 2569}#) #{r** 2598}# #{w** 2600}# (cons (syntax->datum #{id 2590}#) #{out 2572}#) (cons (#{chi 419}# #{i 2591}# #{r* 2570}# #{w* 2571}# #{mod 2528}#) #{inits 2573}#))))))))))) #{tmp 2587}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 2586}#)))) (if #{rest 2566}# (begin (let ((#{v 2605}# (#{gen-var 447}# #{rest 2566}#))) (begin (let ((#{l 2607}# (#{gen-labels 354}# (list #{v 2605}#)))) (begin (let ((#{r* 2609}# (#{extend-var-env 329}# #{l 2607}# (list #{v 2605}#) #{r* 2570}#))) (begin (let ((#{w* 2611}# (#{make-binding-wrap 383}# (list #{rest 2566}#) #{l 2607}# #{w* 2571}#))) (#{expand-kw 2543}# #{req 2564}# (if (pair? #{out 2572}#) (reverse #{out 2572}#) #f) (syntax->datum #{rest 2566}#) (if (pair? #{kw 2567}#) (cdr #{kw 2567}#) #{kw 2567}#) #{body 2568}# (cons #{v 2605}# #{vars 2569}#) #{r* 2609}# #{w* 2611}# (if (pair? #{kw 2567}#) (car #{kw 2567}#) #f) '() #{inits 2573}#))))))))) (#{expand-kw 2543}# #{req 2564}# (if (pair? #{out 2572}#) (reverse #{out 2572}#) #f) #f (if (pair? #{kw 2567}#) (cdr #{kw 2567}#) #{kw 2567}#) #{body 2568}# #{vars 2569}# #{r* 2570}# #{w* 2571}# (if (pair? #{kw 2567}#) (car #{kw 2567}#) #f) '() #{inits 2573}#))))) (#{expand-kw 2543}# (lambda (#{req 2613}# #{opt 2614}# #{rest 2615}# #{kw 2616}# #{body 2617}# #{vars 2618}# #{r* 2619}# #{w* 2620}# #{aok 2621}# #{out 2622}# #{inits 2623}#) (if (pair? #{kw 2616}#) (let ((#{tmp 2637}# (car #{kw 2616}#))) (let ((#{tmp 2638}# ($sc-dispatch #{tmp 2637}# '(any any any)))) (if #{tmp 2638}# (@apply (lambda (#{k 2642}# #{id 2643}# #{i 2644}#) (begin (let ((#{v 2647}# (#{gen-var 447}# #{id 2643}#))) (begin (let ((#{l 2649}# (#{gen-labels 354}# (list #{v 2647}#)))) (begin (let ((#{r** 2651}# (#{extend-var-env 329}# #{l 2649}# (list #{v 2647}#) #{r* 2619}#))) (begin (let ((#{w** 2653}# (#{make-binding-wrap 383}# (list #{id 2643}#) #{l 2649}# #{w* 2620}#))) (#{expand-kw 2543}# #{req 2613}# #{opt 2614}# #{rest 2615}# (cdr #{kw 2616}#) #{body 2617}# (cons #{v 2647}# #{vars 2618}#) #{r** 2651}# #{w** 2653}# #{aok 2621}# (cons (list (syntax->datum #{k 2642}#) (syntax->datum #{id 2643}#) #{v 2647}#) #{out 2622}#) (cons (#{chi 419}# #{i 2644}# #{r* 2619}# #{w* 2620}# #{mod 2528}#) #{inits 2623}#))))))))))) #{tmp 2638}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 2637}#)))) (#{expand-body 2545}# #{req 2613}# #{opt 2614}# #{rest 2615}# (if (begin (let ((#{t 2657}# #{aok 2621}#)) (if #{t 2657}# #{t 2657}# (pair? #{out 2622}#)))) (cons #{aok 2621}# (reverse #{out 2622}#)) #f) #{body 2617}# (reverse #{vars 2618}#) #{r* 2619}# #{w* 2620}# (reverse #{inits 2623}#) '())))) (#{expand-body 2545}# (lambda (#{req 2659}# #{opt 2660}# #{rest 2661}# #{kw 2662}# #{body 2663}# #{vars 2664}# #{r* 2665}# #{w* 2666}# #{inits 2667}# #{meta 2668}#) (let ((#{tmp 2679}# #{body 2663}#)) (let ((#{tmp 2680}# ($sc-dispatch #{tmp 2679}# '(any any . each-any)))) (if (if #{tmp 2680}# (@apply (lambda (#{docstring 2684}# #{e1 2685}# #{e2 2686}#) (string? (syntax->datum #{docstring 2684}#))) #{tmp 2680}#) #f) (@apply (lambda (#{docstring 2690}# #{e1 2691}# #{e2 2692}#) (#{expand-body 2545}# #{req 2659}# #{opt 2660}# #{rest 2661}# #{kw 2662}# (cons #{e1 2691}# #{e2 2692}#) #{vars 2664}# #{r* 2665}# #{w* 2666}# #{inits 2667}# (append #{meta 2668}# (list (cons 'documentation (syntax->datum #{docstring 2690}#)))))) #{tmp 2680}#) (let ((#{tmp 2695}# ($sc-dispatch #{tmp 2679}# '(#(vector #(each (any . any))) any . each-any)))) (if #{tmp 2695}# (@apply (lambda (#{k 2700}# #{v 2701}# #{e1 2702}# #{e2 2703}#) (#{expand-body 2545}# #{req 2659}# #{opt 2660}# #{rest 2661}# #{kw 2662}# (cons #{e1 2702}# #{e2 2703}#) #{vars 2664}# #{r* 2665}# #{w* 2666}# #{inits 2667}# (append #{meta 2668}# (syntax->datum (map cons #{k 2700}# #{v 2701}#))))) #{tmp 2695}#) (let ((#{tmp 2707}# ($sc-dispatch #{tmp 2679}# '(any . each-any)))) (if #{tmp 2707}# (@apply (lambda (#{e1 2710}# #{e2 2711}#) (values #{meta 2668}# #{req 2659}# #{opt 2660}# #{rest 2661}# #{kw 2662}# #{inits 2667}# #{vars 2664}# (#{chi-body 427}# (cons #{e1 2710}# #{e2 2711}#) (#{source-wrap 407}# #{e 2524}# #{w 2526}# #{s 2527}# #{mod 2528}#) #{r* 2665}# #{w* 2666}# #{mod 2528}#))) #{tmp 2707}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 2679}#))))))))))) (begin (let ((#{tmp 2713}# #{clauses 2530}#)) (let ((#{tmp 2714}# ($sc-dispatch #{tmp 2713}# '()))) (if #{tmp 2714}# (@apply (lambda () (values '() #f)) #{tmp 2714}#) (let ((#{tmp 2715}# ($sc-dispatch #{tmp 2713}# '((any any . each-any) . #(each (any any . each-any)))))) (if #{tmp 2715}# (@apply (lambda (#{args 2722}# #{e1 2723}# #{e2 2724}# #{args* 2725}# #{e1* 2726}# #{e2* 2727}#) (call-with-values (lambda () (#{get-formals 2529}# #{args 2722}#)) (lambda (#{req 2728}# #{opt 2729}# #{rest 2730}# #{kw 2731}#) (call-with-values (lambda () (#{expand-req 2539}# #{req 2728}# #{opt 2729}# #{rest 2730}# #{kw 2731}# (cons #{e1 2723}# #{e2 2724}#))) (lambda (#{meta 2737}# #{req 2738}# #{opt 2739}# #{rest 2740}# #{kw 2741}# #{inits 2742}# #{vars 2743}# #{body 2744}#) (call-with-values (lambda () (#{chi-lambda-case 443}# #{e 2524}# #{r 2525}# #{w 2526}# #{s 2527}# #{mod 2528}# #{get-formals 2529}# (map (lambda (#{tmp 2755}# #{tmp 2754}# #{tmp 2753}#) (cons #{tmp 2753}# (cons #{tmp 2754}# #{tmp 2755}#))) #{e2* 2727}# #{e1* 2726}# #{args* 2725}#))) (lambda (#{meta* 2757}# #{else* 2758}#) (values (append #{meta 2737}# #{meta* 2757}#) (#{build-lambda-case 287}# #{s 2527}# #{req 2738}# #{opt 2739}# #{rest 2740}# #{kw 2741}# #{inits 2742}# #{vars 2743}# #{body 2744}# #{else* 2758}#))))))))) #{tmp 2715}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 2713}#)))))))))) (#{strip 445}# (lambda (#{x 2761}# #{w 2762}#) (if (memq 'top (car #{w 2762}#)) #{x 2761}# (letrec* ((#{f 2769}# (lambda (#{x 2770}#) (if (#{syntax-object? 305}# #{x 2770}#) (#{strip 445}# (#{syntax-object-expression 307}# #{x 2770}#) (#{syntax-object-wrap 309}# #{x 2770}#)) (if (pair? #{x 2770}#) (begin (let ((#{a 2777}# (#{f 2769}# (car #{x 2770}#))) (#{d 2778}# (#{f 2769}# (cdr #{x 2770}#)))) (if (if (eq? #{a 2777}# (car #{x 2770}#)) (eq? #{d 2778}# (cdr #{x 2770}#)) #f) #{x 2770}# (cons #{a 2777}# #{d 2778}#)))) (if (vector? #{x 2770}#) (begin (let ((#{old 2784}# (vector->list #{x 2770}#))) (begin (let ((#{new 2786}# (map #{f 2769}# #{old 2784}#))) (letrec* ((#{lp 2790}# (lambda (#{l1 2791}# #{l2 2792}#) (if (null? #{l1 2791}#) #{x 2770}# (if (eq? (car #{l1 2791}#) (car #{l2 2792}#)) (#{lp 2790}# (cdr #{l1 2791}#) (cdr #{l2 2792}#)) (list->vector #{new 2786}#)))))) (begin (#{lp 2790}# #{old 2784}# #{new 2786}#))))))) #{x 2770}#)))))) (begin (#{f 2769}# #{x 2761}#)))))) (#{gen-var 447}# (lambda (#{id 2794}#) (begin (let ((#{id 2797}# (if (#{syntax-object? 305}# #{id 2794}#) (#{syntax-object-expression 307}# #{id 2794}#) #{id 2794}#))) (gensym (string-append (symbol->string #{id 2797}#) " ")))))) (#{lambda-var-list 449}# (lambda (#{vars 2799}#) (letrec* ((#{lvl 2805}# (lambda (#{vars 2806}# #{ls 2807}# #{w 2808}#) (if (pair? #{vars 2806}#) (#{lvl 2805}# (cdr #{vars 2806}#) (cons (#{wrap 405}# (car #{vars 2806}#) #{w 2808}# #f) #{ls 2807}#) #{w 2808}#) (if (#{id? 339}# #{vars 2806}#) (cons (#{wrap 405}# #{vars 2806}# #{w 2808}# #f) #{ls 2807}#) (if (null? #{vars 2806}#) #{ls 2807}# (if (#{syntax-object? 305}# #{vars 2806}#) (#{lvl 2805}# (#{syntax-object-expression 307}# #{vars 2806}#) #{ls 2807}# (#{join-wraps 387}# #{w 2808}# (#{syntax-object-wrap 309}# #{vars 2806}#))) (cons #{vars 2806}# #{ls 2807}#)))))))) (begin (#{lvl 2805}# #{vars 2799}# '() '(()))))))) (begin (lambda (#{src 767}# #{name 768}#) (make-struct/no-tail (vector-ref %expanded-vtables 2) #{src 767}# #{name 768}#)) (lambda (#{x 1145}# #{update 1146}#) (vector-set! #{x 1145}# 1 #{update 1146}#)) (lambda (#{x 1149}# #{update 1150}#) (vector-set! #{x 1149}# 2 #{update 1150}#)) (lambda (#{x 1153}# #{update 1154}#) (vector-set! #{x 1153}# 3 #{update 1154}#)) (lambda (#{x 1234}#) (if (vector? #{x 1234}#) (if (= (vector-length #{x 1234}#) 4) (eq? (vector-ref #{x 1234}# 0) 'ribcage) #f) #f)) (begin (#{global-extend 335}# 'local-syntax 'letrec-syntax #t) (#{global-extend 335}# 'local-syntax 'let-syntax #f) (#{global-extend 335}# 'core 'fluid-let-syntax (lambda (#{e 2819}# #{r 2820}# #{w 2821}# #{s 2822}# #{mod 2823}#) (let ((#{tmp 2829}# #{e 2819}#)) (let ((#{tmp 2830}# ($sc-dispatch #{tmp 2829}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp 2830}# (@apply (lambda (#{var 2835}# #{val 2836}# #{e1 2837}# #{e2 2838}#) (#{valid-bound-ids? 399}# #{var 2835}#)) #{tmp 2830}#) #f) (@apply (lambda (#{var 2844}# #{val 2845}# #{e1 2846}# #{e2 2847}#) (begin (let ((#{names 2849}# (map (lambda (#{x 2850}#) (#{id-var-name 393}# #{x 2850}# #{w 2821}#)) #{var 2844}#))) (begin (for-each (lambda (#{id 2853}# #{n 2854}#) (begin (let ((#{atom-key 2859}# (car (#{lookup 333}# #{n 2854}# #{r 2820}# #{mod 2823}#)))) (if (eqv? #{atom-key 2859}# 'displaced-lexical) (syntax-violation 'fluid-let-syntax "identifier out of context" #{e 2819}# (#{source-wrap 407}# #{id 2853}# #{w 2821}# #{s 2822}# #{mod 2823}#)))))) #{var 2844}# #{names 2849}#) (#{chi-body 427}# (cons #{e1 2846}# #{e2 2847}#) (#{source-wrap 407}# #{e 2819}# #{w 2821}# #{s 2822}# #{mod 2823}#) (#{extend-env 327}# #{names 2849}# (begin (let ((#{trans-r 2865}# (#{macros-only-env 331}# #{r 2820}#))) (map (lambda (#{x 2866}#) (cons 'macro (#{eval-local-transformer 431}# (#{chi 419}# #{x 2866}# #{trans-r 2865}# #{w 2821}# #{mod 2823}#) #{mod 2823}#))) #{val 2845}#))) #{r 2820}#) #{w 2821}# #{mod 2823}#))))) #{tmp 2830}#) (let ((#{_ 2871}# #{tmp 2829}#)) (syntax-violation 'fluid-let-syntax "bad syntax" (#{source-wrap 407}# #{e 2819}# #{w 2821}# #{s 2822}# #{mod 2823}#)))))))) (#{global-extend 335}# 'core 'quote (lambda (#{e 2872}# #{r 2873}# #{w 2874}# #{s 2875}# #{mod 2876}#) (let ((#{tmp 2882}# #{e 2872}#)) (let ((#{tmp 2883}# ($sc-dispatch #{tmp 2882}# '(_ any)))) (if #{tmp 2883}# (@apply (lambda (#{e 2885}#) (#{build-data 291}# #{s 2875}# (#{strip 445}# #{e 2885}# #{w 2874}#))) #{tmp 2883}#) (let ((#{_ 2887}# #{tmp 2882}#)) (syntax-violation 'quote "bad syntax" (#{source-wrap 407}# #{e 2872}# #{w 2874}# #{s 2875}# #{mod 2876}#)))))))) (#{global-extend 335}# 'core 'syntax (letrec* ((#{gen-syntax 2889}# (lambda (#{src 2904}# #{e 2905}# #{r 2906}# #{maps 2907}# #{ellipsis? 2908}# #{mod 2909}#) (if (#{id? 339}# #{e 2905}#) (begin (let ((#{label 2917}# (#{id-var-name 393}# #{e 2905}# '(())))) (begin (let ((#{b 2920}# (#{lookup 333}# #{label 2917}# #{r 2906}# #{mod 2909}#))) (if (eq? (car #{b 2920}#) 'syntax) (call-with-values (lambda () (begin (let ((#{var.lev 2923}# (cdr #{b 2920}#))) (#{gen-ref 2891}# #{src 2904}# (car #{var.lev 2923}#) (cdr #{var.lev 2923}#) #{maps 2907}#)))) (lambda (#{var 2925}# #{maps 2926}#) (values (list 'ref #{var 2925}#) #{maps 2926}#))) (if (#{ellipsis? 2908}# #{e 2905}#) (syntax-violation 'syntax "misplaced ellipsis" #{src 2904}#) (values (list 'quote #{e 2905}#) #{maps 2907}#))))))) (let ((#{tmp 2931}# #{e 2905}#)) (let ((#{tmp 2932}# ($sc-dispatch #{tmp 2931}# '(any any)))) (if (if #{tmp 2932}# (@apply (lambda (#{dots 2935}# #{e 2936}#) (#{ellipsis? 2908}# #{dots 2935}#)) #{tmp 2932}#) #f) (@apply (lambda (#{dots 2939}# #{e 2940}#) (#{gen-syntax 2889}# #{src 2904}# #{e 2940}# #{r 2906}# #{maps 2907}# (lambda (#{x 2941}#) #f) #{mod 2909}#)) #{tmp 2932}#) (let ((#{tmp 2943}# ($sc-dispatch #{tmp 2931}# '(any any . any)))) (if (if #{tmp 2943}# (@apply (lambda (#{x 2947}# #{dots 2948}# #{y 2949}#) (#{ellipsis? 2908}# #{dots 2948}#)) #{tmp 2943}#) #f) (@apply (lambda (#{x 2953}# #{dots 2954}# #{y 2955}#) (letrec* ((#{f 2959}# (lambda (#{y 2960}# #{k 2961}#) (let ((#{tmp 2968}# #{y 2960}#)) (let ((#{tmp 2969}# ($sc-dispatch #{tmp 2968}# '(any . any)))) (if (if #{tmp 2969}# (@apply (lambda (#{dots 2972}# #{y 2973}#) (#{ellipsis? 2908}# #{dots 2972}#)) #{tmp 2969}#) #f) (@apply (lambda (#{dots 2976}# #{y 2977}#) (#{f 2959}# #{y 2977}# (lambda (#{maps 2978}#) (call-with-values (lambda () (#{k 2961}# (cons '() #{maps 2978}#))) (lambda (#{x 2980}# #{maps 2981}#) (if (null? (car #{maps 2981}#)) (syntax-violation 'syntax "extra ellipsis" #{src 2904}#) (values (#{gen-mappend 2893}# #{x 2980}# (car #{maps 2981}#)) (cdr #{maps 2981}#)))))))) #{tmp 2969}#) (let ((#{_ 2985}# #{tmp 2968}#)) (call-with-values (lambda () (#{gen-syntax 2889}# #{src 2904}# #{y 2960}# #{r 2906}# #{maps 2907}# #{ellipsis? 2908}# #{mod 2909}#)) (lambda (#{y 2986}# #{maps 2987}#) (call-with-values (lambda () (#{k 2961}# #{maps 2987}#)) (lambda (#{x 2990}# #{maps 2991}#) (values (#{gen-append 2899}# #{x 2990}# #{y 2986}#) #{maps 2991}#)))))))))))) (begin (#{f 2959}# #{y 2955}# (lambda (#{maps 2962}#) (call-with-values (lambda () (#{gen-syntax 2889}# #{src 2904}# #{x 2953}# #{r 2906}# (cons '() #{maps 2962}#) #{ellipsis? 2908}# #{mod 2909}#)) (lambda (#{x 2964}# #{maps 2965}#) (if (null? (car #{maps 2965}#)) (syntax-violation 'syntax "extra ellipsis" #{src 2904}#) (values (#{gen-map 2895}# #{x 2964}# (car #{maps 2965}#)) (cdr #{maps 2965}#)))))))))) #{tmp 2943}#) (let ((#{tmp 2994}# ($sc-dispatch #{tmp 2931}# '(any . any)))) (if #{tmp 2994}# (@apply (lambda (#{x 2997}# #{y 2998}#) (call-with-values (lambda () (#{gen-syntax 2889}# #{src 2904}# #{x 2997}# #{r 2906}# #{maps 2907}# #{ellipsis? 2908}# #{mod 2909}#)) (lambda (#{x 2999}# #{maps 3000}#) (call-with-values (lambda () (#{gen-syntax 2889}# #{src 2904}# #{y 2998}# #{r 2906}# #{maps 3000}# #{ellipsis? 2908}# #{mod 2909}#)) (lambda (#{y 3003}# #{maps 3004}#) (values (#{gen-cons 2897}# #{x 2999}# #{y 3003}#) #{maps 3004}#)))))) #{tmp 2994}#) (let ((#{tmp 3007}# ($sc-dispatch #{tmp 2931}# '#(vector (any . each-any))))) (if #{tmp 3007}# (@apply (lambda (#{e1 3010}# #{e2 3011}#) (call-with-values (lambda () (#{gen-syntax 2889}# #{src 2904}# (cons #{e1 3010}# #{e2 3011}#) #{r 2906}# #{maps 2907}# #{ellipsis? 2908}# #{mod 2909}#)) (lambda (#{e 3013}# #{maps 3014}#) (values (#{gen-vector 2901}# #{e 3013}#) #{maps 3014}#)))) #{tmp 3007}#) (let ((#{_ 3018}# #{tmp 2931}#)) (values (list 'quote #{e 2905}#) #{maps 2907}#)))))))))))))) (#{gen-ref 2891}# (lambda (#{src 3020}# #{var 3021}# #{level 3022}# #{maps 3023}#) (if (= #{level 3022}# 0) (values #{var 3021}# #{maps 3023}#) (if (null? #{maps 3023}#) (syntax-violation 'syntax "missing ellipsis" #{src 3020}#) (call-with-values (lambda () (#{gen-ref 2891}# #{src 3020}# #{var 3021}# (#{1-}# #{level 3022}#) (cdr #{maps 3023}#))) (lambda (#{outer-var 3030}# #{outer-maps 3031}#) (begin (let ((#{b 3035}# (assq #{outer-var 3030}# (car #{maps 3023}#)))) (if #{b 3035}# (values (cdr #{b 3035}#) #{maps 3023}#) (begin (let ((#{inner-var 3037}# (#{gen-var 447}# 'tmp))) (values #{inner-var 3037}# (cons (cons (cons #{outer-var 3030}# #{inner-var 3037}#) (car #{maps 3023}#)) #{outer-maps 3031}#))))))))))))) (#{gen-mappend 2893}# (lambda (#{e 3038}# #{map-env 3039}#) (list 'apply '(primitive append) (#{gen-map 2895}# #{e 3038}# #{map-env 3039}#)))) (#{gen-map 2895}# (lambda (#{e 3043}# #{map-env 3044}#) (begin (let ((#{formals 3049}# (map cdr #{map-env 3044}#)) (#{actuals 3050}# (map (lambda (#{x 3051}#) (list 'ref (car #{x 3051}#))) #{map-env 3044}#))) (if (eq? (car #{e 3043}#) 'ref) (car #{actuals 3050}#) (if (and-map (lambda (#{x 3058}#) (if (eq? (car #{x 3058}#) 'ref) (memq (car (cdr #{x 3058}#)) #{formals 3049}#) #f)) (cdr #{e 3043}#)) (cons 'map (cons (list 'primitive (car #{e 3043}#)) (map (begin (let ((#{r 3064}# (map cons #{formals 3049}# #{actuals 3050}#))) (lambda (#{x 3065}#) (cdr (assq (car (cdr #{x 3065}#)) #{r 3064}#))))) (cdr #{e 3043}#)))) (cons 'map (cons (list 'lambda #{formals 3049}# #{e 3043}#) #{actuals 3050}#)))))))) (#{gen-cons 2897}# (lambda (#{x 3069}# #{y 3070}#) (begin (let ((#{atom-key 3075}# (car #{y 3070}#))) (if (eqv? #{atom-key 3075}# 'quote) (if (eq? (car #{x 3069}#) 'quote) (list 'quote (cons (car (cdr #{x 3069}#)) (car (cdr #{y 3070}#)))) (if (eq? (car (cdr #{y 3070}#)) '()) (list 'list #{x 3069}#) (list 'cons #{x 3069}# #{y 3070}#))) (if (eqv? #{atom-key 3075}# 'list) (cons 'list (cons #{x 3069}# (cdr #{y 3070}#))) (list 'cons #{x 3069}# #{y 3070}#))))))) (#{gen-append 2899}# (lambda (#{x 3084}# #{y 3085}#) (if (equal? #{y 3085}# ''()) #{x 3084}# (list 'append #{x 3084}# #{y 3085}#)))) (#{gen-vector 2901}# (lambda (#{x 3089}#) (if (eq? (car #{x 3089}#) 'list) (cons 'vector (cdr #{x 3089}#)) (if (eq? (car #{x 3089}#) 'quote) (list 'quote (list->vector (car (cdr #{x 3089}#)))) (list 'list->vector #{x 3089}#))))) (#{regen 2903}# (lambda (#{x 3099}#) (begin (let ((#{atom-key 3103}# (car #{x 3099}#))) (if (eqv? #{atom-key 3103}# 'ref) (#{build-lexical-reference 271}# 'value #f (car (cdr #{x 3099}#)) (car (cdr #{x 3099}#))) (if (eqv? #{atom-key 3103}# 'primitive) (#{build-primref 289}# #f (car (cdr #{x 3099}#))) (if (eqv? #{atom-key 3103}# 'quote) (#{build-data 291}# #f (car (cdr #{x 3099}#))) (if (eqv? #{atom-key 3103}# 'lambda) (if (list? (car (cdr #{x 3099}#))) (#{build-simple-lambda 283}# #f (car (cdr #{x 3099}#)) #f (car (cdr #{x 3099}#)) '() (#{regen 2903}# (car (cdr (cdr #{x 3099}#))))) (error "how did we get here" #{x 3099}#)) (#{build-application 265}# #f (#{build-primref 289}# #f (car #{x 3099}#)) (map #{regen 2903}# (cdr #{x 3099}#)))))))))))) (begin (lambda (#{e 3115}# #{r 3116}# #{w 3117}# #{s 3118}# #{mod 3119}#) (begin (let ((#{e 3126}# (#{source-wrap 407}# #{e 3115}# #{w 3117}# #{s 3118}# #{mod 3119}#))) (let ((#{tmp 3127}# #{e 3126}#)) (let ((#{tmp 3128}# ($sc-dispatch #{tmp 3127}# '(_ any)))) (if #{tmp 3128}# (@apply (lambda (#{x 3130}#) (call-with-values (lambda () (#{gen-syntax 2889}# #{e 3126}# #{x 3130}# #{r 3116}# '() #{ellipsis? 435}# #{mod 3119}#)) (lambda (#{e 3131}# #{maps 3132}#) (#{regen 2903}# #{e 3131}#)))) #{tmp 3128}#) (let ((#{_ 3136}# #{tmp 3127}#)) (syntax-violation 'syntax "bad `syntax' form" #{e 3126}#))))))))))) (#{global-extend 335}# 'core 'lambda (lambda (#{e 3137}# #{r 3138}# #{w 3139}# #{s 3140}# #{mod 3141}#) (let ((#{tmp 3147}# #{e 3137}#)) (let ((#{tmp 3148}# ($sc-dispatch #{tmp 3147}# '(_ any any . each-any)))) (if #{tmp 3148}# (@apply (lambda (#{args 3152}# #{e1 3153}# #{e2 3154}#) (call-with-values (lambda () (#{lambda-formals 437}# #{args 3152}#)) (lambda (#{req 3155}# #{opt 3156}# #{rest 3157}# #{kw 3158}#) (letrec* ((#{lp 3166}# (lambda (#{body 3167}# #{meta 3168}#) (let ((#{tmp 3170}# #{body 3167}#)) (let ((#{tmp 3171}# ($sc-dispatch #{tmp 3170}# '(any any . each-any)))) (if (if #{tmp 3171}# (@apply (lambda (#{docstring 3175}# #{e1 3176}# #{e2 3177}#) (string? (syntax->datum #{docstring 3175}#))) #{tmp 3171}#) #f) (@apply (lambda (#{docstring 3181}# #{e1 3182}# #{e2 3183}#) (#{lp 3166}# (cons #{e1 3182}# #{e2 3183}#) (append #{meta 3168}# (list (cons 'documentation (syntax->datum #{docstring 3181}#)))))) #{tmp 3171}#) (let ((#{tmp 3186}# ($sc-dispatch #{tmp 3170}# '(#(vector #(each (any . any))) any . each-any)))) (if #{tmp 3186}# (@apply (lambda (#{k 3191}# #{v 3192}# #{e1 3193}# #{e2 3194}#) (#{lp 3166}# (cons #{e1 3193}# #{e2 3194}#) (append #{meta 3168}# (syntax->datum (map cons #{k 3191}# #{v 3192}#))))) #{tmp 3186}#) (let ((#{_ 3199}# #{tmp 3170}#)) (#{chi-simple-lambda 439}# #{e 3137}# #{r 3138}# #{w 3139}# #{s 3140}# #{mod 3141}# #{req 3155}# #{rest 3157}# #{meta 3168}# #{body 3167}#)))))))))) (begin (#{lp 3166}# (cons #{e1 3153}# #{e2 3154}#) '())))))) #{tmp 3148}#) (let ((#{_ 3201}# #{tmp 3147}#)) (syntax-violation 'lambda "bad lambda" #{e 3137}#))))))) (#{global-extend 335}# 'core 'lambda* (lambda (#{e 3202}# #{r 3203}# #{w 3204}# #{s 3205}# #{mod 3206}#) (let ((#{tmp 3212}# #{e 3202}#)) (let ((#{tmp 3213}# ($sc-dispatch #{tmp 3212}# '(_ any any . each-any)))) (if #{tmp 3213}# (@apply (lambda (#{args 3217}# #{e1 3218}# #{e2 3219}#) (call-with-values (lambda () (#{chi-lambda-case 443}# #{e 3202}# #{r 3203}# #{w 3204}# #{s 3205}# #{mod 3206}# #{lambda*-formals 441}# (list (cons #{args 3217}# (cons #{e1 3218}# #{e2 3219}#))))) (lambda (#{meta 3221}# #{lcase 3222}#) (#{build-case-lambda 285}# #{s 3205}# #{meta 3221}# #{lcase 3222}#)))) #{tmp 3213}#) (let ((#{_ 3226}# #{tmp 3212}#)) (syntax-violation 'lambda "bad lambda*" #{e 3202}#))))))) (#{global-extend 335}# 'core 'case-lambda (lambda (#{e 3227}# #{r 3228}# #{w 3229}# #{s 3230}# #{mod 3231}#) (let ((#{tmp 3237}# #{e 3227}#)) (let ((#{tmp 3238}# ($sc-dispatch #{tmp 3237}# '(_ (any any . each-any) . #(each (any any . each-any)))))) (if #{tmp 3238}# (@apply (lambda (#{args 3245}# #{e1 3246}# #{e2 3247}# #{args* 3248}# #{e1* 3249}# #{e2* 3250}#) (call-with-values (lambda () (#{chi-lambda-case 443}# #{e 3227}# #{r 3228}# #{w 3229}# #{s 3230}# #{mod 3231}# #{lambda-formals 437}# (cons (cons #{args 3245}# (cons #{e1 3246}# #{e2 3247}#)) (map (lambda (#{tmp 3254}# #{tmp 3253}# #{tmp 3252}#) (cons #{tmp 3252}# (cons #{tmp 3253}# #{tmp 3254}#))) #{e2* 3250}# #{e1* 3249}# #{args* 3248}#)))) (lambda (#{meta 3256}# #{lcase 3257}#) (#{build-case-lambda 285}# #{s 3230}# #{meta 3256}# #{lcase 3257}#)))) #{tmp 3238}#) (let ((#{_ 3261}# #{tmp 3237}#)) (syntax-violation 'case-lambda "bad case-lambda" #{e 3227}#))))))) (#{global-extend 335}# 'core 'case-lambda* (lambda (#{e 3262}# #{r 3263}# #{w 3264}# #{s 3265}# #{mod 3266}#) (let ((#{tmp 3272}# #{e 3262}#)) (let ((#{tmp 3273}# ($sc-dispatch #{tmp 3272}# '(_ (any any . each-any) . #(each (any any . each-any)))))) (if #{tmp 3273}# (@apply (lambda (#{args 3280}# #{e1 3281}# #{e2 3282}# #{args* 3283}# #{e1* 3284}# #{e2* 3285}#) (call-with-values (lambda () (#{chi-lambda-case 443}# #{e 3262}# #{r 3263}# #{w 3264}# #{s 3265}# #{mod 3266}# #{lambda*-formals 441}# (cons (cons #{args 3280}# (cons #{e1 3281}# #{e2 3282}#)) (map (lambda (#{tmp 3289}# #{tmp 3288}# #{tmp 3287}#) (cons #{tmp 3287}# (cons #{tmp 3288}# #{tmp 3289}#))) #{e2* 3285}# #{e1* 3284}# #{args* 3283}#)))) (lambda (#{meta 3291}# #{lcase 3292}#) (#{build-case-lambda 285}# #{s 3265}# #{meta 3291}# #{lcase 3292}#)))) #{tmp 3273}#) (let ((#{_ 3296}# #{tmp 3272}#)) (syntax-violation 'case-lambda "bad case-lambda*" #{e 3262}#))))))) (#{global-extend 335}# 'core 'let (letrec* ((#{chi-let 3298}# (lambda (#{e 3299}# #{r 3300}# #{w 3301}# #{s 3302}# #{mod 3303}# #{constructor 3304}# #{ids 3305}# #{vals 3306}# #{exps 3307}#) (if (not (#{valid-bound-ids? 399}# #{ids 3305}#)) (syntax-violation 'let "duplicate bound variable" #{e 3299}#) (begin (let ((#{labels 3319}# (#{gen-labels 354}# #{ids 3305}#)) (#{new-vars 3320}# (map #{gen-var 447}# #{ids 3305}#))) (begin (let ((#{nw 3323}# (#{make-binding-wrap 383}# #{ids 3305}# #{labels 3319}# #{w 3301}#)) (#{nr 3324}# (#{extend-var-env 329}# #{labels 3319}# #{new-vars 3320}# #{r 3300}#))) (#{constructor 3304}# #{s 3302}# (map syntax->datum #{ids 3305}#) #{new-vars 3320}# (map (lambda (#{x 3325}#) (#{chi 419}# #{x 3325}# #{r 3300}# #{w 3301}# #{mod 3303}#)) #{vals 3306}#) (#{chi-body 427}# #{exps 3307}# (#{source-wrap 407}# #{e 3299}# #{nw 3323}# #{s 3302}# #{mod 3303}#) #{nr 3324}# #{nw 3323}# #{mod 3303}#)))))))))) (begin (lambda (#{e 3327}# #{r 3328}# #{w 3329}# #{s 3330}# #{mod 3331}#) (let ((#{tmp 3337}# #{e 3327}#)) (let ((#{tmp 3338}# ($sc-dispatch #{tmp 3337}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp 3338}# (@apply (lambda (#{id 3343}# #{val 3344}# #{e1 3345}# #{e2 3346}#) (and-map #{id? 339}# #{id 3343}#)) #{tmp 3338}#) #f) (@apply (lambda (#{id 3352}# #{val 3353}# #{e1 3354}# #{e2 3355}#) (#{chi-let 3298}# #{e 3327}# #{r 3328}# #{w 3329}# #{s 3330}# #{mod 3331}# #{build-let 295}# #{id 3352}# #{val 3353}# (cons #{e1 3354}# #{e2 3355}#))) #{tmp 3338}#) (let ((#{tmp 3359}# ($sc-dispatch #{tmp 3337}# '(_ any #(each (any any)) any . each-any)))) (if (if #{tmp 3359}# (@apply (lambda (#{f 3365}# #{id 3366}# #{val 3367}# #{e1 3368}# #{e2 3369}#) (if (#{id? 339}# #{f 3365}#) (and-map #{id? 339}# #{id 3366}#) #f)) #{tmp 3359}#) #f) (@apply (lambda (#{f 3378}# #{id 3379}# #{val 3380}# #{e1 3381}# #{e2 3382}#) (#{chi-let 3298}# #{e 3327}# #{r 3328}# #{w 3329}# #{s 3330}# #{mod 3331}# #{build-named-let 297}# (cons #{f 3378}# #{id 3379}#) #{val 3380}# (cons #{e1 3381}# #{e2 3382}#))) #{tmp 3359}#) (let ((#{_ 3387}# #{tmp 3337}#)) (syntax-violation 'let "bad let" (#{source-wrap 407}# #{e 3327}# #{w 3329}# #{s 3330}# #{mod 3331}#)))))))))))) (#{global-extend 335}# 'core 'letrec (lambda (#{e 3388}# #{r 3389}# #{w 3390}# #{s 3391}# #{mod 3392}#) (let ((#{tmp 3398}# #{e 3388}#)) (let ((#{tmp 3399}# ($sc-dispatch #{tmp 3398}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp 3399}# (@apply (lambda (#{id 3404}# #{val 3405}# #{e1 3406}# #{e2 3407}#) (and-map #{id? 339}# #{id 3404}#)) #{tmp 3399}#) #f) (@apply (lambda (#{id 3413}# #{val 3414}# #{e1 3415}# #{e2 3416}#) (begin (let ((#{ids 3418}# #{id 3413}#)) (if (not (#{valid-bound-ids? 399}# #{ids 3418}#)) (syntax-violation 'letrec "duplicate bound variable" #{e 3388}#) (begin (let ((#{labels 3422}# (#{gen-labels 354}# #{ids 3418}#)) (#{new-vars 3423}# (map #{gen-var 447}# #{ids 3418}#))) (begin (let ((#{w 3426}# (#{make-binding-wrap 383}# #{ids 3418}# #{labels 3422}# #{w 3390}#)) (#{r 3427}# (#{extend-var-env 329}# #{labels 3422}# #{new-vars 3423}# #{r 3389}#))) (#{build-letrec 299}# #{s 3391}# #f (map syntax->datum #{ids 3418}#) #{new-vars 3423}# (map (lambda (#{x 3428}#) (#{chi 419}# #{x 3428}# #{r 3427}# #{w 3426}# #{mod 3392}#)) #{val 3414}#) (#{chi-body 427}# (cons #{e1 3415}# #{e2 3416}#) (#{source-wrap 407}# #{e 3388}# #{w 3426}# #{s 3391}# #{mod 3392}#) #{r 3427}# #{w 3426}# #{mod 3392}#)))))))))) #{tmp 3399}#) (let ((#{_ 3433}# #{tmp 3398}#)) (syntax-violation 'letrec "bad letrec" (#{source-wrap 407}# #{e 3388}# #{w 3390}# #{s 3391}# #{mod 3392}#)))))))) (#{global-extend 335}# 'core 'letrec* (lambda (#{e 3434}# #{r 3435}# #{w 3436}# #{s 3437}# #{mod 3438}#) (let ((#{tmp 3444}# #{e 3434}#)) (let ((#{tmp 3445}# ($sc-dispatch #{tmp 3444}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp 3445}# (@apply (lambda (#{id 3450}# #{val 3451}# #{e1 3452}# #{e2 3453}#) (and-map #{id? 339}# #{id 3450}#)) #{tmp 3445}#) #f) (@apply (lambda (#{id 3459}# #{val 3460}# #{e1 3461}# #{e2 3462}#) (begin (let ((#{ids 3464}# #{id 3459}#)) (if (not (#{valid-bound-ids? 399}# #{ids 3464}#)) (syntax-violation 'letrec* "duplicate bound variable" #{e 3434}#) (begin (let ((#{labels 3468}# (#{gen-labels 354}# #{ids 3464}#)) (#{new-vars 3469}# (map #{gen-var 447}# #{ids 3464}#))) (begin (let ((#{w 3472}# (#{make-binding-wrap 383}# #{ids 3464}# #{labels 3468}# #{w 3436}#)) (#{r 3473}# (#{extend-var-env 329}# #{labels 3468}# #{new-vars 3469}# #{r 3435}#))) (#{build-letrec 299}# #{s 3437}# #t (map syntax->datum #{ids 3464}#) #{new-vars 3469}# (map (lambda (#{x 3474}#) (#{chi 419}# #{x 3474}# #{r 3473}# #{w 3472}# #{mod 3438}#)) #{val 3460}#) (#{chi-body 427}# (cons #{e1 3461}# #{e2 3462}#) (#{source-wrap 407}# #{e 3434}# #{w 3472}# #{s 3437}# #{mod 3438}#) #{r 3473}# #{w 3472}# #{mod 3438}#)))))))))) #{tmp 3445}#) (let ((#{_ 3479}# #{tmp 3444}#)) (syntax-violation 'letrec* "bad letrec*" (#{source-wrap 407}# #{e 3434}# #{w 3436}# #{s 3437}# #{mod 3438}#)))))))) (#{global-extend 335}# 'core 'set! (lambda (#{e 3480}# #{r 3481}# #{w 3482}# #{s 3483}# #{mod 3484}#) (let ((#{tmp 3490}# #{e 3480}#)) (let ((#{tmp 3491}# ($sc-dispatch #{tmp 3490}# '(_ any any)))) (if (if #{tmp 3491}# (@apply (lambda (#{id 3494}# #{val 3495}#) (#{id? 339}# #{id 3494}#)) #{tmp 3491}#) #f) (@apply (lambda (#{id 3498}# #{val 3499}#) (begin (let ((#{n 3502}# (#{id-var-name 393}# #{id 3498}# #{w 3482}#)) (#{id-mod 3503}# (if (#{syntax-object? 305}# #{id 3498}#) (#{syntax-object-module 311}# #{id 3498}#) #{mod 3484}#))) (begin (let ((#{b 3505}# (#{lookup 333}# #{n 3502}# #{r 3481}# #{id-mod 3503}#))) (begin (let ((#{atom-key 3508}# (car #{b 3505}#))) (if (eqv? #{atom-key 3508}# 'lexical) (#{build-lexical-assignment 273}# #{s 3483}# (syntax->datum #{id 3498}#) (cdr #{b 3505}#) (#{chi 419}# #{val 3499}# #{r 3481}# #{w 3482}# #{mod 3484}#)) (if (eqv? #{atom-key 3508}# 'global) (#{build-global-assignment 279}# #{s 3483}# #{n 3502}# (#{chi 419}# #{val 3499}# #{r 3481}# #{w 3482}# #{mod 3484}#) #{id-mod 3503}#) (if (eqv? #{atom-key 3508}# 'macro) (begin (let ((#{p 3515}# (cdr #{b 3505}#))) (if (procedure-property #{p 3515}# 'variable-transformer) (#{chi 419}# (#{chi-macro 425}# #{p 3515}# #{e 3480}# #{r 3481}# #{w 3482}# #{s 3483}# #f #{mod 3484}#) #{r 3481}# '(()) #{mod 3484}#) (syntax-violation 'set! "not a variable transformer" (#{wrap 405}# #{e 3480}# #{w 3482}# #{mod 3484}#) (#{wrap 405}# #{id 3498}# #{w 3482}# #{id-mod 3503}#))))) (if (eqv? #{atom-key 3508}# 'displaced-lexical) (syntax-violation 'set! "identifier out of context" (#{wrap 405}# #{id 3498}# #{w 3482}# #{mod 3484}#)) (syntax-violation 'set! "bad set!" (#{source-wrap 407}# #{e 3480}# #{w 3482}# #{s 3483}# #{mod 3484}#))))))))))))) #{tmp 3491}#) (let ((#{tmp 3520}# ($sc-dispatch #{tmp 3490}# '(_ (any . each-any) any)))) (if #{tmp 3520}# (@apply (lambda (#{head 3524}# #{tail 3525}# #{val 3526}#) (call-with-values (lambda () (#{syntax-type 417}# #{head 3524}# #{r 3481}# '(()) #f #f #{mod 3484}# #t)) (lambda (#{type 3529}# #{value 3530}# #{ee 3531}# #{ww 3532}# #{ss 3533}# #{modmod 3534}#) (if (eqv? #{type 3529}# 'module-ref) (begin (let ((#{val 3543}# (#{chi 419}# #{val 3526}# #{r 3481}# #{w 3482}# #{mod 3484}#))) (call-with-values (lambda () (#{value 3530}# (cons #{head 3524}# #{tail 3525}#) #{r 3481}# #{w 3482}#)) (lambda (#{e 3545}# #{r 3546}# #{w 3547}# #{s* 3548}# #{mod 3549}#) (let ((#{tmp 3555}# #{e 3545}#)) (let ((#{tmp 3556}# (list #{tmp 3555}#))) (if (if #{tmp 3556}# (@apply (lambda (#{e 3558}#) (#{id? 339}# #{e 3558}#)) #{tmp 3556}#) #f) (@apply (lambda (#{e 3560}#) (#{build-global-assignment 279}# #{s 3483}# (syntax->datum #{e 3560}#) #{val 3543}# #{mod 3549}#)) #{tmp 3556}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 3555}#)))))))) (#{build-application 265}# #{s 3483}# (#{chi 419}# (list '#(syntax-object setter ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type value ee ww ss modmod) #((top) (top) (top) (top) (top) (top)) #("i3535" "i3536" "i3537" "i3538" "i3539" "i3540")) #(ribcage #(head tail val) #((top) (top) (top)) #("i3521" "i3522" "i3523")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) #("i3485" "i3486" "i3487" "i3488" "i3489")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) #{head 3524}#) #{r 3481}# #{w 3482}# #{mod 3484}#) (map (lambda (#{e 3562}#) (#{chi 419}# #{e 3562}# #{r 3481}# #{w 3482}# #{mod 3484}#)) (append #{tail 3525}# (list #{val 3526}#)))))))) #{tmp 3520}#) (let ((#{_ 3566}# #{tmp 3490}#)) (syntax-violation 'set! "bad set!" (#{source-wrap 407}# #{e 3480}# #{w 3482}# #{s 3483}# #{mod 3484}#)))))))))) (#{global-extend 335}# 'module-ref '@ (lambda (#{e 3567}# #{r 3568}# #{w 3569}#) (let ((#{tmp 3573}# #{e 3567}#)) (let ((#{tmp 3574}# ($sc-dispatch #{tmp 3573}# '(_ each-any any)))) (if (if #{tmp 3574}# (@apply (lambda (#{mod 3577}# #{id 3578}#) (if (and-map #{id? 339}# #{mod 3577}#) (#{id? 339}# #{id 3578}#) #f)) #{tmp 3574}#) #f) (@apply (lambda (#{mod 3584}# #{id 3585}#) (values (syntax->datum #{id 3585}#) #{r 3568}# #{w 3569}# #f (syntax->datum (cons '#(syntax-object public ((top) #(ribcage #(mod id) #((top) (top)) #("i3582" "i3583")) #(ribcage () () ()) #(ribcage #(e r w) #((top) (top) (top)) #("i3570" "i3571" "i3572")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) #{mod 3584}#)))) #{tmp 3574}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 3573}#)))))) (#{global-extend 335}# 'module-ref '@@ (lambda (#{e 3587}# #{r 3588}# #{w 3589}#) (letrec* ((#{remodulate 3594}# (lambda (#{x 3595}# #{mod 3596}#) (if (pair? #{x 3595}#) (cons (#{remodulate 3594}# (car #{x 3595}#) #{mod 3596}#) (#{remodulate 3594}# (cdr #{x 3595}#) #{mod 3596}#)) (if (#{syntax-object? 305}# #{x 3595}#) (#{make-syntax-object 303}# (#{remodulate 3594}# (#{syntax-object-expression 307}# #{x 3595}#) #{mod 3596}#) (#{syntax-object-wrap 309}# #{x 3595}#) #{mod 3596}#) (if (vector? #{x 3595}#) (begin (let ((#{n 3607}# (vector-length #{x 3595}#))) (begin (let ((#{v 3609}# (make-vector #{n 3607}#))) (letrec* ((#{loop 3612}# (lambda (#{i 3613}#) (if (= #{i 3613}# #{n 3607}#) (begin (if #f #f) #{v 3609}#) (begin (vector-set! #{v 3609}# #{i 3613}# (#{remodulate 3594}# (vector-ref #{x 3595}# #{i 3613}#) #{mod 3596}#)) (#{loop 3612}# (#{1+}# #{i 3613}#))))))) (begin (#{loop 3612}# 0))))))) #{x 3595}#)))))) (begin (let ((#{tmp 3619}# #{e 3587}#)) (let ((#{tmp 3620}# ($sc-dispatch #{tmp 3619}# '(_ each-any any)))) (if (if #{tmp 3620}# (@apply (lambda (#{mod 3623}# #{exp 3624}#) (and-map #{id? 339}# #{mod 3623}#)) #{tmp 3620}#) #f) (@apply (lambda (#{mod 3628}# #{exp 3629}#) (begin (let ((#{mod 3631}# (syntax->datum (cons '#(syntax-object private ((top) #(ribcage #(mod exp) #((top) (top)) #("i3626" "i3627")) #(ribcage (remodulate) ((top)) ("i3593")) #(ribcage #(e r w) #((top) (top) (top)) #("i3590" "i3591" "i3592")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) #{mod 3628}#)))) (values (#{remodulate 3594}# #{exp 3629}# #{mod 3631}#) #{r 3588}# #{w 3589}# (#{source-annotation 320}# #{exp 3629}#) #{mod 3631}#)))) #{tmp 3620}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 3619}#)))))))) (#{global-extend 335}# 'core 'if (lambda (#{e 3633}# #{r 3634}# #{w 3635}# #{s 3636}# #{mod 3637}#) (let ((#{tmp 3643}# #{e 3633}#)) (let ((#{tmp 3644}# ($sc-dispatch #{tmp 3643}# '(_ any any)))) (if #{tmp 3644}# (@apply (lambda (#{test 3647}# #{then 3648}#) (#{build-conditional 267}# #{s 3636}# (#{chi 419}# #{test 3647}# #{r 3634}# #{w 3635}# #{mod 3637}#) (#{chi 419}# #{then 3648}# #{r 3634}# #{w 3635}# #{mod 3637}#) (#{build-void 263}# #f))) #{tmp 3644}#) (let ((#{tmp 3650}# ($sc-dispatch #{tmp 3643}# '(_ any any any)))) (if #{tmp 3650}# (@apply (lambda (#{test 3654}# #{then 3655}# #{else 3656}#) (#{build-conditional 267}# #{s 3636}# (#{chi 419}# #{test 3654}# #{r 3634}# #{w 3635}# #{mod 3637}#) (#{chi 419}# #{then 3655}# #{r 3634}# #{w 3635}# #{mod 3637}#) (#{chi 419}# #{else 3656}# #{r 3634}# #{w 3635}# #{mod 3637}#))) #{tmp 3650}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 3643}#)))))))) (#{global-extend 335}# 'core 'with-fluids (lambda (#{e 3657}# #{r 3658}# #{w 3659}# #{s 3660}# #{mod 3661}#) (let ((#{tmp 3667}# #{e 3657}#)) (let ((#{tmp 3668}# ($sc-dispatch #{tmp 3667}# '(_ #(each (any any)) any . each-any)))) (if #{tmp 3668}# (@apply (lambda (#{fluid 3673}# #{val 3674}# #{b 3675}# #{b* 3676}#) (#{build-dynlet 269}# #{s 3660}# (map (lambda (#{x 3677}#) (#{chi 419}# #{x 3677}# #{r 3658}# #{w 3659}# #{mod 3661}#)) #{fluid 3673}#) (map (lambda (#{x 3680}#) (#{chi 419}# #{x 3680}# #{r 3658}# #{w 3659}# #{mod 3661}#)) #{val 3674}#) (#{chi-body 427}# (cons #{b 3675}# #{b* 3676}#) (#{source-wrap 407}# #{e 3657}# #{w 3659}# #{s 3660}# #{mod 3661}#) #{r 3658}# #{w 3659}# #{mod 3661}#))) #{tmp 3668}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 3667}#)))))) (#{global-extend 335}# 'begin 'begin '()) (#{global-extend 335}# 'define 'define '()) (#{global-extend 335}# 'define-syntax 'define-syntax '()) (#{global-extend 335}# 'eval-when 'eval-when '()) (#{global-extend 335}# 'core 'syntax-case (letrec* ((#{convert-pattern 3685}# (lambda (#{pattern 3692}# #{keys 3693}#) (letrec* ((#{cvt* 3697}# (lambda (#{p* 3700}# #{n 3701}# #{ids 3702}#) (if (null? #{p* 3700}#) (values '() #{ids 3702}#) (call-with-values (lambda () (#{cvt* 3697}# (cdr #{p* 3700}#) #{n 3701}# #{ids 3702}#)) (lambda (#{y 3706}# #{ids 3707}#) (call-with-values (lambda () (#{cvt 3699}# (car #{p* 3700}#) #{n 3701}# #{ids 3707}#)) (lambda (#{x 3710}# #{ids 3711}#) (values (cons #{x 3710}# #{y 3706}#) #{ids 3711}#)))))))) (#{cvt 3699}# (lambda (#{p 3714}# #{n 3715}# #{ids 3716}#) (if (#{id? 339}# #{p 3714}#) (if (#{bound-id-member? 403}# #{p 3714}# #{keys 3693}#) (values (vector 'free-id #{p 3714}#) #{ids 3716}#) (if (#{free-id=? 395}# #{p 3714}# '#(syntax-object _ ((top) #(ribcage () () ()) #(ribcage #(p n ids) #((top) (top) (top)) #("i3717" "i3718" "i3719")) #(ribcage (cvt cvt*) ((top) (top)) ("i3698" "i3696")) #(ribcage #(pattern keys) #((top) (top)) #("i3694" "i3695")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3690" "i3688" "i3686" "i3684")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) (values '_ #{ids 3716}#) (values 'any (cons (cons #{p 3714}# #{n 3715}#) #{ids 3716}#)))) (let ((#{tmp 3725}# #{p 3714}#)) (let ((#{tmp 3726}# ($sc-dispatch #{tmp 3725}# '(any any)))) (if (if #{tmp 3726}# (@apply (lambda (#{x 3729}# #{dots 3730}#) (#{ellipsis? 435}# #{dots 3730}#)) #{tmp 3726}#) #f) (@apply (lambda (#{x 3733}# #{dots 3734}#) (call-with-values (lambda () (#{cvt 3699}# #{x 3733}# (#{1+}# #{n 3715}#) #{ids 3716}#)) (lambda (#{p 3736}# #{ids 3737}#) (values (if (eq? #{p 3736}# 'any) 'each-any (vector 'each #{p 3736}#)) #{ids 3737}#)))) #{tmp 3726}#) (let ((#{tmp 3740}# ($sc-dispatch #{tmp 3725}# '(any any . each-any)))) (if (if #{tmp 3740}# (@apply (lambda (#{x 3744}# #{dots 3745}# #{ys 3746}#) (#{ellipsis? 435}# #{dots 3745}#)) #{tmp 3740}#) #f) (@apply (lambda (#{x 3750}# #{dots 3751}# #{ys 3752}#) (call-with-values (lambda () (#{cvt* 3697}# #{ys 3752}# #{n 3715}# #{ids 3716}#)) (lambda (#{ys 3754}# #{ids 3755}#) (call-with-values (lambda () (#{cvt 3699}# #{x 3750}# (#{1+}# #{n 3715}#) #{ids 3755}#)) (lambda (#{x 3758}# #{ids 3759}#) (values (vector 'each+ #{x 3758}# (reverse #{ys 3754}#) '()) #{ids 3759}#)))))) #{tmp 3740}#) (let ((#{tmp 3763}# ($sc-dispatch #{tmp 3725}# '(any . any)))) (if #{tmp 3763}# (@apply (lambda (#{x 3766}# #{y 3767}#) (call-with-values (lambda () (#{cvt 3699}# #{y 3767}# #{n 3715}# #{ids 3716}#)) (lambda (#{y 3768}# #{ids 3769}#) (call-with-values (lambda () (#{cvt 3699}# #{x 3766}# #{n 3715}# #{ids 3769}#)) (lambda (#{x 3772}# #{ids 3773}#) (values (cons #{x 3772}# #{y 3768}#) #{ids 3773}#)))))) #{tmp 3763}#) (let ((#{tmp 3776}# ($sc-dispatch #{tmp 3725}# '()))) (if #{tmp 3776}# (@apply (lambda () (values '() #{ids 3716}#)) #{tmp 3776}#) (let ((#{tmp 3777}# ($sc-dispatch #{tmp 3725}# '#(vector each-any)))) (if #{tmp 3777}# (@apply (lambda (#{x 3779}#) (call-with-values (lambda () (#{cvt 3699}# #{x 3779}# #{n 3715}# #{ids 3716}#)) (lambda (#{p 3781}# #{ids 3782}#) (values (vector 'vector #{p 3781}#) #{ids 3782}#)))) #{tmp 3777}#) (let ((#{x 3786}# #{tmp 3725}#)) (values (vector 'atom (#{strip 445}# #{p 3714}# '(()))) #{ids 3716}#))))))))))))))))) (begin (#{cvt 3699}# #{pattern 3692}# 0 '()))))) (#{build-dispatch-call 3687}# (lambda (#{pvars 3788}# #{exp 3789}# #{y 3790}# #{r 3791}# #{mod 3792}#) (begin (map cdr #{pvars 3788}#) (let ((#{ids 3800}# (map car #{pvars 3788}#))) (begin (let ((#{labels 3804}# (#{gen-labels 354}# #{ids 3800}#)) (#{new-vars 3805}# (map #{gen-var 447}# #{ids 3800}#))) (#{build-application 265}# #f (#{build-primref 289}# #f 'apply) (list (#{build-simple-lambda 283}# #f (map syntax->datum #{ids 3800}#) #f #{new-vars 3805}# '() (#{chi 419}# #{exp 3789}# (#{extend-env 327}# #{labels 3804}# (map (lambda (#{var 3809}# #{level 3810}#) (cons 'syntax (cons #{var 3809}# #{level 3810}#))) #{new-vars 3805}# (map cdr #{pvars 3788}#)) #{r 3791}#) (#{make-binding-wrap 383}# #{ids 3800}# #{labels 3804}# '(())) #{mod 3792}#)) #{y 3790}#)))))))) (#{gen-clause 3689}# (lambda (#{x 3816}# #{keys 3817}# #{clauses 3818}# #{r 3819}# #{pat 3820}# #{fender 3821}# #{exp 3822}# #{mod 3823}#) (call-with-values (lambda () (#{convert-pattern 3685}# #{pat 3820}# #{keys 3817}#)) (lambda (#{p 3832}# #{pvars 3833}#) (if (not (#{distinct-bound-ids? 401}# (map car #{pvars 3833}#))) (syntax-violation 'syntax-case "duplicate pattern variable" #{pat 3820}#) (if (not (and-map (lambda (#{x 3840}#) (not (#{ellipsis? 435}# (car #{x 3840}#)))) #{pvars 3833}#)) (syntax-violation 'syntax-case "misplaced ellipsis" #{pat 3820}#) (begin (let ((#{y 3844}# (#{gen-var 447}# 'tmp))) (#{build-application 265}# #f (#{build-simple-lambda 283}# #f (list 'tmp) #f (list #{y 3844}#) '() (begin (let ((#{y 3848}# (#{build-lexical-reference 271}# 'value #f 'tmp #{y 3844}#))) (#{build-conditional 267}# #f (let ((#{tmp 3851}# #{fender 3821}#)) (let ((#{tmp 3852}# ($sc-dispatch #{tmp 3851}# '#(atom #t)))) (if #{tmp 3852}# (@apply (lambda () #{y 3848}#) #{tmp 3852}#) (let ((#{_ 3854}# #{tmp 3851}#)) (#{build-conditional 267}# #f #{y 3848}# (#{build-dispatch-call 3687}# #{pvars 3833}# #{fender 3821}# #{y 3848}# #{r 3819}# #{mod 3823}#) (#{build-data 291}# #f #f)))))) (#{build-dispatch-call 3687}# #{pvars 3833}# #{exp 3822}# #{y 3848}# #{r 3819}# #{mod 3823}#) (#{gen-syntax-case 3691}# #{x 3816}# #{keys 3817}# #{clauses 3818}# #{r 3819}# #{mod 3823}#))))) (list (if (eq? #{p 3832}# 'any) (#{build-application 265}# #f (#{build-primref 289}# #f 'list) (list #{x 3816}#)) (#{build-application 265}# #f (#{build-primref 289}# #f '$sc-dispatch) (list #{x 3816}# (#{build-data 291}# #f #{p 3832}#)))))))))))))) (#{gen-syntax-case 3691}# (lambda (#{x 3862}# #{keys 3863}# #{clauses 3864}# #{r 3865}# #{mod 3866}#) (if (null? #{clauses 3864}#) (#{build-application 265}# #f (#{build-primref 289}# #f 'syntax-violation) (list (#{build-data 291}# #f #f) (#{build-data 291}# #f "source expression failed to match any pattern") #{x 3862}#)) (let ((#{tmp 3876}# (car #{clauses 3864}#))) (let ((#{tmp 3877}# ($sc-dispatch #{tmp 3876}# '(any any)))) (if #{tmp 3877}# (@apply (lambda (#{pat 3880}# #{exp 3881}#) (if (if (#{id? 339}# #{pat 3880}#) (and-map (lambda (#{x 3884}#) (not (#{free-id=? 395}# #{pat 3880}# #{x 3884}#))) (cons '#(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i3878" "i3879")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3867" "i3868" "i3869" "i3870" "i3871")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3690" "i3688" "i3686" "i3684")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) #{keys 3863}#)) #f) (if (#{free-id=? 395}# '#(syntax-object pad ((top) #(ribcage #(pat exp) #((top) (top)) #("i3878" "i3879")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3867" "i3868" "i3869" "i3870" "i3871")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3690" "i3688" "i3686" "i3684")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) '#(syntax-object _ ((top) #(ribcage #(pat exp) #((top) (top)) #("i3878" "i3879")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3867" "i3868" "i3869" "i3870" "i3871")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3690" "i3688" "i3686" "i3684")) #(ribcage (lambda-var-list gen-var strip chi-lambda-case lambda*-formals chi-simple-lambda lambda-formals ellipsis? chi-void eval-local-transformer chi-local-syntax chi-body chi-macro chi-application chi-expr chi syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda-case build-case-lambda build-simple-lambda build-global-definition build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void maybe-name-value! decorate-source get-global-definition-hook put-global-definition-hook gensym-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ set-lambda-meta! lambda-meta lambda? make-dynlet make-letrec make-let make-lambda-case make-lambda make-sequence make-application make-conditional make-toplevel-define make-toplevel-set make-toplevel-ref make-module-set make-module-ref make-lexical-set make-lexical-ref make-primitive-ref make-const make-void) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i422" "i420" "i418" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i398" "i396" "i394" "i392" "i390" "i388" "i386" "i384" "i382" "i380" "i379" "i378" "i376" "i375" "i374" "i373" "i372" "i370" "i368" "i366" "i364" "i362" "i360" "i358" "i356" "i353" "i351" "i350" "i349" "i348" "i347" "i346" "i345" "i344" "i343" "i341" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i325" "i324" "i323" "i322" "i321" "i319" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i298" "i296" "i294" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i253" "i251" "i249" "i248" "i247" "i246" "i245" "i243" "i241" "i239" "i236" "i234" "i232" "i230" "i228" "i226" "i224" "i222" "i220" "i218" "i216" "i214" "i212" "i210" "i208" "i206" "i204" "i202")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) (#{chi 419}# #{exp 3881}# #{r 3865}# '(()) #{mod 3866}#) (begin (let ((#{labels 3889}# (list (#{gen-label 352}#))) (#{var 3890}# (#{gen-var 447}# #{pat 3880}#))) (#{build-application 265}# #f (#{build-simple-lambda 283}# #f (list (syntax->datum #{pat 3880}#)) #f (list #{var 3890}#) '() (#{chi 419}# #{exp 3881}# (#{extend-env 327}# #{labels 3889}# (list (cons 'syntax (cons #{var 3890}# 0))) #{r 3865}#) (#{make-binding-wrap 383}# (list #{pat 3880}#) #{labels 3889}# '(())) #{mod 3866}#)) (list #{x 3862}#))))) (#{gen-clause 3689}# #{x 3862}# #{keys 3863}# (cdr #{clauses 3864}#) #{r 3865}# #{pat 3880}# #t #{exp 3881}# #{mod 3866}#))) #{tmp 3877}#) (let ((#{tmp 3896}# ($sc-dispatch #{tmp 3876}# '(any any any)))) (if #{tmp 3896}# (@apply (lambda (#{pat 3900}# #{fender 3901}# #{exp 3902}#) (#{gen-clause 3689}# #{x 3862}# #{keys 3863}# (cdr #{clauses 3864}#) #{r 3865}# #{pat 3900}# #{fender 3901}# #{exp 3902}# #{mod 3866}#)) #{tmp 3896}#) (let ((#{_ 3904}# #{tmp 3876}#)) (syntax-violation 'syntax-case "invalid clause" (car #{clauses 3864}#)))))))))))) (begin (lambda (#{e 3905}# #{r 3906}# #{w 3907}# #{s 3908}# #{mod 3909}#) (begin (let ((#{e 3916}# (#{source-wrap 407}# #{e 3905}# #{w 3907}# #{s 3908}# #{mod 3909}#))) (let ((#{tmp 3917}# #{e 3916}#)) (let ((#{tmp 3918}# ($sc-dispatch #{tmp 3917}# '(_ any each-any . each-any)))) (if #{tmp 3918}# (@apply (lambda (#{val 3922}# #{key 3923}# #{m 3924}#) (if (and-map (lambda (#{x 3925}#) (if (#{id? 339}# #{x 3925}#) (not (#{ellipsis? 435}# #{x 3925}#)) #f)) #{key 3923}#) (begin (let ((#{x 3931}# (#{gen-var 447}# 'tmp))) (#{build-application 265}# #{s 3908}# (#{build-simple-lambda 283}# #f (list 'tmp) #f (list #{x 3931}#) '() (#{gen-syntax-case 3691}# (#{build-lexical-reference 271}# 'value #f 'tmp #{x 3931}#) #{key 3923}# #{m 3924}# #{r 3906}# #{mod 3909}#)) (list (#{chi 419}# #{val 3922}# #{r 3906}# '(()) #{mod 3909}#))))) (syntax-violation 'syntax-case "invalid literals list" #{e 3916}#))) #{tmp 3918}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 3917}#)))))))))) (set! macroexpand (lambda* (#{x 3937}# #:optional (#{m 3939}# 'e) (#{esew 3941}# '(eval))) (#{chi-top-sequence 411}# (list #{x 3937}#) '() '((top)) #f #{m 3939}# #{esew 3941}# (cons 'hygiene (module-name (current-module)))))) (set! identifier? (lambda (#{x 3945}#) (#{nonsymbol-id? 337}# #{x 3945}#))) (set! datum->syntax (lambda (#{id 3947}# #{datum 3948}#) (#{make-syntax-object 303}# #{datum 3948}# (#{syntax-object-wrap 309}# #{id 3947}#) (#{syntax-object-module 311}# #{id 3947}#)))) (set! syntax->datum (lambda (#{x 3951}#) (#{strip 445}# #{x 3951}# '(())))) (set! syntax-source (lambda (#{x 3954}#) (#{source-annotation 320}# #{x 3954}#))) (set! generate-temporaries (lambda (#{ls 3956}#) (begin (begin (let ((#{x 3960}# #{ls 3956}#)) (if (not (list? #{x 3960}#)) (syntax-violation 'generate-temporaries "invalid argument" #{x 3960}#)))) (begin (let ((#{mod 3962}# (cons 'hygiene (module-name (current-module))))) (map (lambda (#{x 3963}#) (#{wrap 405}# (gensym) '((top)) #{mod 3962}#)) #{ls 3956}#)))))) (set! free-identifier=? (lambda (#{x 3967}# #{y 3968}#) (begin (begin (let ((#{x 3973}# #{x 3967}#)) (if (not (#{nonsymbol-id? 337}# #{x 3973}#)) (syntax-violation 'free-identifier=? "invalid argument" #{x 3973}#)))) (begin (let ((#{x 3976}# #{y 3968}#)) (if (not (#{nonsymbol-id? 337}# #{x 3976}#)) (syntax-violation 'free-identifier=? "invalid argument" #{x 3976}#)))) (#{free-id=? 395}# #{x 3967}# #{y 3968}#)))) (set! bound-identifier=? (lambda (#{x 3977}# #{y 3978}#) (begin (begin (let ((#{x 3983}# #{x 3977}#)) (if (not (#{nonsymbol-id? 337}# #{x 3983}#)) (syntax-violation 'bound-identifier=? "invalid argument" #{x 3983}#)))) (begin (let ((#{x 3986}# #{y 3978}#)) (if (not (#{nonsymbol-id? 337}# #{x 3986}#)) (syntax-violation 'bound-identifier=? "invalid argument" #{x 3986}#)))) (#{bound-id=? 397}# #{x 3977}# #{y 3978}#)))) (set! syntax-violation (lambda* (#{who 3987}# #{message 3988}# #{form 3989}# #:optional (#{subform 3993}# #f)) (begin (begin (let ((#{x 3997}# #{who 3987}#)) (if (not (let ((#{x 3998}# #{x 3997}#)) (begin (let ((#{t 4002}# (not #{x 3998}#))) (if #{t 4002}# #{t 4002}# (begin (let ((#{t 4005}# (string? #{x 3998}#))) (if #{t 4005}# #{t 4005}# (symbol? #{x 3998}#))))))))) (syntax-violation 'syntax-violation "invalid argument" #{x 3997}#)))) (begin (let ((#{x 4009}# #{message 3988}#)) (if (not (string? #{x 4009}#)) (syntax-violation 'syntax-violation "invalid argument" #{x 4009}#)))) (throw 'syntax-error #{who 3987}# #{message 3988}# (#{source-annotation 320}# (begin (let ((#{t 4012}# #{form 3989}#)) (if #{t 4012}# #{t 4012}# #{subform 3993}#)))) (#{strip 445}# #{form 3989}# '(())) (if #{subform 3993}# (#{strip 445}# #{subform 3993}# '(())) #f))))) (letrec* ((#{match-each 4019}# (lambda (#{e 4032}# #{p 4033}# #{w 4034}# #{mod 4035}#) (if (pair? #{e 4032}#) (begin (let ((#{first 4043}# (#{match 4031}# (car #{e 4032}#) #{p 4033}# #{w 4034}# '() #{mod 4035}#))) (if #{first 4043}# (begin (let ((#{rest 4047}# (#{match-each 4019}# (cdr #{e 4032}#) #{p 4033}# #{w 4034}# #{mod 4035}#))) (if #{rest 4047}# (cons #{first 4043}# #{rest 4047}#) #f))) #f))) (if (null? #{e 4032}#) '() (if (#{syntax-object? 305}# #{e 4032}#) (#{match-each 4019}# (#{syntax-object-expression 307}# #{e 4032}#) #{p 4033}# (#{join-wraps 387}# #{w 4034}# (#{syntax-object-wrap 309}# #{e 4032}#)) (#{syntax-object-module 311}# #{e 4032}#)) #f))))) (#{match-each+ 4021}# (lambda (#{e 4055}# #{x-pat 4056}# #{y-pat 4057}# #{z-pat 4058}# #{w 4059}# #{r 4060}# #{mod 4061}#) (letrec* ((#{f 4072}# (lambda (#{e 4073}# #{w 4074}#) (if (pair? #{e 4073}#) (call-with-values (lambda () (#{f 4072}# (cdr #{e 4073}#) #{w 4074}#)) (lambda (#{xr* 4077}# #{y-pat 4078}# #{r 4079}#) (if #{r 4079}# (if (null? #{y-pat 4078}#) (begin (let ((#{xr 4084}# (#{match 4031}# (car #{e 4073}#) #{x-pat 4056}# #{w 4074}# '() #{mod 4061}#))) (if #{xr 4084}# (values (cons #{xr 4084}# #{xr* 4077}#) #{y-pat 4078}# #{r 4079}#) (values #f #f #f)))) (values '() (cdr #{y-pat 4078}#) (#{match 4031}# (car #{e 4073}#) (car #{y-pat 4078}#) #{w 4074}# #{r 4079}# #{mod 4061}#))) (values #f #f #f)))) (if (#{syntax-object? 305}# #{e 4073}#) (#{f 4072}# (#{syntax-object-expression 307}# #{e 4073}#) (#{join-wraps 387}# #{w 4074}# #{e 4073}#)) (values '() #{y-pat 4057}# (#{match 4031}# #{e 4073}# #{z-pat 4058}# #{w 4074}# #{r 4060}# #{mod 4061}#))))))) (begin (#{f 4072}# #{e 4055}# #{w 4059}#))))) (#{match-each-any 4023}# (lambda (#{e 4088}# #{w 4089}# #{mod 4090}#) (if (pair? #{e 4088}#) (begin (let ((#{l 4097}# (#{match-each-any 4023}# (cdr #{e 4088}#) #{w 4089}# #{mod 4090}#))) (if #{l 4097}# (cons (#{wrap 405}# (car #{e 4088}#) #{w 4089}# #{mod 4090}#) #{l 4097}#) #f))) (if (null? #{e 4088}#) '() (if (#{syntax-object? 305}# #{e 4088}#) (#{match-each-any 4023}# (#{syntax-object-expression 307}# #{e 4088}#) (#{join-wraps 387}# #{w 4089}# (#{syntax-object-wrap 309}# #{e 4088}#)) #{mod 4090}#) #f))))) (#{match-empty 4025}# (lambda (#{p 4105}# #{r 4106}#) (if (null? #{p 4105}#) #{r 4106}# (if (eq? #{p 4105}# '_) #{r 4106}# (if (eq? #{p 4105}# 'any) (cons '() #{r 4106}#) (if (pair? #{p 4105}#) (#{match-empty 4025}# (car #{p 4105}#) (#{match-empty 4025}# (cdr #{p 4105}#) #{r 4106}#)) (if (eq? #{p 4105}# 'each-any) (cons '() #{r 4106}#) (begin (let ((#{atom-key 4122}# (vector-ref #{p 4105}# 0))) (if (eqv? #{atom-key 4122}# 'each) (#{match-empty 4025}# (vector-ref #{p 4105}# 1) #{r 4106}#) (if (eqv? #{atom-key 4122}# 'each+) (#{match-empty 4025}# (vector-ref #{p 4105}# 1) (#{match-empty 4025}# (reverse (vector-ref #{p 4105}# 2)) (#{match-empty 4025}# (vector-ref #{p 4105}# 3) #{r 4106}#))) (if (if (eqv? #{atom-key 4122}# 'free-id) #t (eqv? #{atom-key 4122}# 'atom)) #{r 4106}# (if (eqv? #{atom-key 4122}# 'vector) (#{match-empty 4025}# (vector-ref #{p 4105}# 1) #{r 4106}#)))))))))))))) (#{combine 4027}# (lambda (#{r* 4127}# #{r 4128}#) (if (null? (car #{r* 4127}#)) #{r 4128}# (cons (map car #{r* 4127}#) (#{combine 4027}# (map cdr #{r* 4127}#) #{r 4128}#))))) (#{match* 4029}# (lambda (#{e 4131}# #{p 4132}# #{w 4133}# #{r 4134}# #{mod 4135}#) (if (null? #{p 4132}#) (if (null? #{e 4131}#) #{r 4134}# #f) (if (pair? #{p 4132}#) (if (pair? #{e 4131}#) (#{match 4031}# (car #{e 4131}#) (car #{p 4132}#) #{w 4133}# (#{match 4031}# (cdr #{e 4131}#) (cdr #{p 4132}#) #{w 4133}# #{r 4134}# #{mod 4135}#) #{mod 4135}#) #f) (if (eq? #{p 4132}# 'each-any) (begin (let ((#{l 4152}# (#{match-each-any 4023}# #{e 4131}# #{w 4133}# #{mod 4135}#))) (if #{l 4152}# (cons #{l 4152}# #{r 4134}#) #f))) (begin (let ((#{atom-key 4158}# (vector-ref #{p 4132}# 0))) (if (eqv? #{atom-key 4158}# 'each) (if (null? #{e 4131}#) (#{match-empty 4025}# (vector-ref #{p 4132}# 1) #{r 4134}#) (begin (let ((#{l 4161}# (#{match-each 4019}# #{e 4131}# (vector-ref #{p 4132}# 1) #{w 4133}# #{mod 4135}#))) (if #{l 4161}# (letrec* ((#{collect 4166}# (lambda (#{l 4167}#) (if (null? (car #{l 4167}#)) #{r 4134}# (cons (map car #{l 4167}#) (#{collect 4166}# (map cdr #{l 4167}#))))))) (begin (#{collect 4166}# #{l 4161}#))) #f)))) (if (eqv? #{atom-key 4158}# 'each+) (call-with-values (lambda () (#{match-each+ 4021}# #{e 4131}# (vector-ref #{p 4132}# 1) (vector-ref #{p 4132}# 2) (vector-ref #{p 4132}# 3) #{w 4133}# #{r 4134}# #{mod 4135}#)) (lambda (#{xr* 4169}# #{y-pat 4170}# #{r 4171}#) (if #{r 4171}# (if (null? #{y-pat 4170}#) (if (null? #{xr* 4169}#) (#{match-empty 4025}# (vector-ref #{p 4132}# 1) #{r 4171}#) (#{combine 4027}# #{xr* 4169}# #{r 4171}#)) #f) #f))) (if (eqv? #{atom-key 4158}# 'free-id) (if (#{id? 339}# #{e 4131}#) (if (#{free-id=? 395}# (#{wrap 405}# #{e 4131}# #{w 4133}# #{mod 4135}#) (vector-ref #{p 4132}# 1)) #{r 4134}# #f) #f) (if (eqv? #{atom-key 4158}# 'atom) (if (equal? (vector-ref #{p 4132}# 1) (#{strip 445}# #{e 4131}# #{w 4133}#)) #{r 4134}# #f) (if (eqv? #{atom-key 4158}# 'vector) (if (vector? #{e 4131}#) (#{match 4031}# (vector->list #{e 4131}#) (vector-ref #{p 4132}# 1) #{w 4133}# #{r 4134}# #{mod 4135}#) #f))))))))))))) (#{match 4031}# (lambda (#{e 4188}# #{p 4189}# #{w 4190}# #{r 4191}# #{mod 4192}#) (if (not #{r 4191}#) #f (if (eq? #{p 4189}# '_) #{r 4191}# (if (eq? #{p 4189}# 'any) (cons (#{wrap 405}# #{e 4188}# #{w 4190}# #{mod 4192}#) #{r 4191}#) (if (#{syntax-object? 305}# #{e 4188}#) (#{match* 4029}# (#{syntax-object-expression 307}# #{e 4188}#) #{p 4189}# (#{join-wraps 387}# #{w 4190}# (#{syntax-object-wrap 309}# #{e 4188}#)) #{r 4191}# (#{syntax-object-module 311}# #{e 4188}#)) (#{match* 4029}# #{e 4188}# #{p 4189}# #{w 4190}# #{r 4191}# #{mod 4192}#)))))))) (begin (set! $sc-dispatch (lambda (#{e 4207}# #{p 4208}#) (if (eq? #{p 4208}# 'any) (list #{e 4207}#) (if (eq? #{p 4208}# '_) '() (if (#{syntax-object? 305}# #{e 4207}#) (#{match* 4029}# (#{syntax-object-expression 307}# #{e 4207}#) #{p 4208}# (#{syntax-object-wrap 309}# #{e 4207}#) '() (#{syntax-object-module 311}# #{e 4207}#)) (#{match* 4029}# #{e 4207}# #{p 4208}# '(()) '() #f))))))))))) (define with-syntax (make-syntax-transformer 'with-syntax 'macro (lambda (#{x 4219}#) (let ((#{tmp 4221}# #{x 4219}#)) (let ((#{tmp 4222}# ($sc-dispatch #{tmp 4221}# '(_ () any . each-any)))) (if #{tmp 4222}# (@apply (lambda (#{e1 4225}# #{e2 4226}#) (cons '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4223" "i4224")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4220"))) (hygiene guile)) (cons '() (cons #{e1 4225}# #{e2 4226}#)))) #{tmp 4222}#) (let ((#{tmp 4228}# ($sc-dispatch #{tmp 4221}# '(_ ((any any)) any . each-any)))) (if #{tmp 4228}# (@apply (lambda (#{out 4233}# #{in 4234}# #{e1 4235}# #{e2 4236}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4229" "i4230" "i4231" "i4232")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4220"))) (hygiene guile)) #{in 4234}# '() (list #{out 4233}# (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4229" "i4230" "i4231" "i4232")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4220"))) (hygiene guile)) (cons '() (cons #{e1 4235}# #{e2 4236}#)))))) #{tmp 4228}#) (let ((#{tmp 4238}# ($sc-dispatch #{tmp 4221}# '(_ #(each (any any)) any . each-any)))) (if #{tmp 4238}# (@apply (lambda (#{out 4243}# #{in 4244}# #{e1 4245}# #{e2 4246}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4239" "i4240" "i4241" "i4242")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4220"))) (hygiene guile)) (cons '#(syntax-object list ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4239" "i4240" "i4241" "i4242")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4220"))) (hygiene guile)) #{in 4244}#) '() (list #{out 4243}# (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4239" "i4240" "i4241" "i4242")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4220"))) (hygiene guile)) (cons '() (cons #{e1 4245}# #{e2 4246}#)))))) #{tmp 4238}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4221}#))))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro (lambda (#{x 4250}#) (let ((#{tmp 4252}# #{x 4250}#)) (let ((#{tmp 4253}# ($sc-dispatch #{tmp 4252}# '(_ each-any . #(each ((any . any) any)))))) (if #{tmp 4253}# (@apply (lambda (#{k 4258}# #{keyword 4259}# #{pattern 4260}# #{template 4261}#) (list '#(syntax-object lambda ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile))) (vector '(#(syntax-object macro-type ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) . #(syntax-object syntax-rules ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile))) (cons '#(syntax-object patterns ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) #{pattern 4260}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) (cons '#(syntax-object x ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) (cons #{k 4258}# (map (lambda (#{tmp 4265}# #{tmp 4264}#) (list (cons '#(syntax-object dummy ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) #{tmp 4264}#) (list '#(syntax-object syntax ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) #{tmp 4265}#))) #{template 4261}# #{pattern 4260}#)))))) #{tmp 4253}#) (let ((#{tmp 4266}# ($sc-dispatch #{tmp 4252}# '(_ each-any any . #(each ((any . any) any)))))) (if (if #{tmp 4266}# (@apply (lambda (#{k 4272}# #{docstring 4273}# #{keyword 4274}# #{pattern 4275}# #{template 4276}#) (string? (syntax->datum #{docstring 4273}#))) #{tmp 4266}#) #f) (@apply (lambda (#{k 4282}# #{docstring 4283}# #{keyword 4284}# #{pattern 4285}# #{template 4286}#) (list '#(syntax-object lambda ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile))) #{docstring 4283}# (vector '(#(syntax-object macro-type ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) . #(syntax-object syntax-rules ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile))) (cons '#(syntax-object patterns ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) #{pattern 4285}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) (cons '#(syntax-object x ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) (cons #{k 4282}# (map (lambda (#{tmp 4290}# #{tmp 4289}#) (list (cons '#(syntax-object dummy ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) #{tmp 4289}#) (list '#(syntax-object syntax ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4277" "i4278" "i4279" "i4280" "i4281")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4251"))) (hygiene guile)) #{tmp 4290}#))) #{template 4286}# #{pattern 4285}#)))))) #{tmp 4266}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4252}#))))))))) (define let* (make-syntax-transformer 'let* 'macro (lambda (#{x 4291}#) (let ((#{tmp 4293}# #{x 4291}#)) (let ((#{tmp 4294}# ($sc-dispatch #{tmp 4293}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp 4294}# (@apply (lambda (#{let* 4300}# #{x 4301}# #{v 4302}# #{e1 4303}# #{e2 4304}#) (and-map identifier? #{x 4301}#)) #{tmp 4294}#) #f) (@apply (lambda (#{let* 4311}# #{x 4312}# #{v 4313}# #{e1 4314}# #{e2 4315}#) (letrec* ((#{f 4318}# (lambda (#{bindings 4319}#) (if (null? #{bindings 4319}#) (cons '#(syntax-object let ((top) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) #("i4316" "i4317")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) #("i4306" "i4307" "i4308" "i4309" "i4310")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4292"))) (hygiene guile)) (cons '() (cons #{e1 4314}# #{e2 4315}#))) (let ((#{tmp 4324}# (list (#{f 4318}# (cdr #{bindings 4319}#)) (car #{bindings 4319}#)))) (let ((#{tmp 4325}# ($sc-dispatch #{tmp 4324}# '(any any)))) (if #{tmp 4325}# (@apply (lambda (#{body 4328}# #{binding 4329}#) (list '#(syntax-object let ((top) #(ribcage () () ()) #(ribcage #(body binding) #((top) (top)) #("i4326" "i4327")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) #("i4316" "i4317")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) #("i4306" "i4307" "i4308" "i4309" "i4310")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4292"))) (hygiene guile)) (list #{binding 4329}#) #{body 4328}#)) #{tmp 4325}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4324}#)))))))) (begin (#{f 4318}# (map list #{x 4312}# #{v 4313}#))))) #{tmp 4294}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4293}#))))))) (define do (make-syntax-transformer 'do 'macro (lambda (#{orig-x 4330}#) (let ((#{tmp 4332}# #{orig-x 4330}#)) (let ((#{tmp 4333}# ($sc-dispatch #{tmp 4332}# '(_ #(each (any any . any)) (any . each-any) . each-any)))) (if #{tmp 4333}# (@apply (lambda (#{var 4340}# #{init 4341}# #{step 4342}# #{e0 4343}# #{e1 4344}# #{c 4345}#) (let ((#{tmp 4347}# (map (lambda (#{v 4368}# #{s 4369}#) (let ((#{tmp 4372}# #{s 4369}#)) (let ((#{tmp 4373}# ($sc-dispatch #{tmp 4372}# '()))) (if #{tmp 4373}# (@apply (lambda () #{v 4368}#) #{tmp 4373}#) (let ((#{tmp 4374}# ($sc-dispatch #{tmp 4372}# '(any)))) (if #{tmp 4374}# (@apply (lambda (#{e 4376}#) #{e 4376}#) #{tmp 4374}#) (let ((#{_ 4378}# #{tmp 4372}#)) (syntax-violation 'do "bad step expression" #{orig-x 4330}# #{s 4369}#)))))))) #{var 4340}# #{step 4342}#))) (let ((#{tmp 4348}# ($sc-dispatch #{tmp 4347}# 'each-any))) (if #{tmp 4348}# (@apply (lambda (#{step 4350}#) (let ((#{tmp 4351}# #{e1 4344}#)) (let ((#{tmp 4352}# ($sc-dispatch #{tmp 4351}# '()))) (if #{tmp 4352}# (@apply (lambda () (list '#(syntax-object let ((top) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) '#(syntax-object doloop ((top) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) (map list #{var 4340}# #{init 4341}#) (list '#(syntax-object if ((top) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) (list '#(syntax-object not ((top) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) #{e0 4343}#) (cons '#(syntax-object begin ((top) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) (append #{c 4345}# (list (cons '#(syntax-object doloop ((top) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) #{step 4350}#))))))) #{tmp 4352}#) (let ((#{tmp 4357}# ($sc-dispatch #{tmp 4351}# '(any . each-any)))) (if #{tmp 4357}# (@apply (lambda (#{e1 4360}# #{e2 4361}#) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4358" "i4359")) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) '#(syntax-object doloop ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4358" "i4359")) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) (map list #{var 4340}# #{init 4341}#) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4358" "i4359")) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) #{e0 4343}# (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4358" "i4359")) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) (cons #{e1 4360}# #{e2 4361}#)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4358" "i4359")) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) (append #{c 4345}# (list (cons '#(syntax-object doloop ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4358" "i4359")) #(ribcage () () ()) #(ribcage #(step) #((top)) #("i4349")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4334" "i4335" "i4336" "i4337" "i4338" "i4339")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4331"))) (hygiene guile)) #{step 4350}#))))))) #{tmp 4357}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4351}#))))))) #{tmp 4348}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4347}#))))) #{tmp 4333}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4332}#))))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* ((#{quasi 4382}# (lambda (#{p 4395}# #{lev 4396}#) (let ((#{tmp 4399}# #{p 4395}#)) (let ((#{tmp 4400}# ($sc-dispatch #{tmp 4399}# '(#(free-id #(syntax-object unquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) any)))) (if #{tmp 4400}# (@apply (lambda (#{p 4402}#) (if (= #{lev 4396}# 0) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) #("i4401")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{p 4402}#) (#{quasicons 4386}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4401")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i4401")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) (#{quasi 4382}# (list #{p 4402}#) (#{1-}# #{lev 4396}#))))) #{tmp 4400}#) (let ((#{tmp 4403}# ($sc-dispatch #{tmp 4399}# '(#(free-id #(syntax-object quasiquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) any)))) (if #{tmp 4403}# (@apply (lambda (#{p 4405}#) (#{quasicons 4386}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4404")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #(syntax-object quasiquote ((top) #(ribcage #(p) #((top)) #("i4404")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) (#{quasi 4382}# (list #{p 4405}#) (#{1+}# #{lev 4396}#)))) #{tmp 4403}#) (let ((#{tmp 4406}# ($sc-dispatch #{tmp 4399}# '(any . any)))) (if #{tmp 4406}# (@apply (lambda (#{p 4409}# #{q 4410}#) (let ((#{tmp 4411}# #{p 4409}#)) (let ((#{tmp 4412}# ($sc-dispatch #{tmp 4411}# '(#(free-id #(syntax-object unquote ((top) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) . each-any)))) (if #{tmp 4412}# (@apply (lambda (#{p 4414}#) (if (= #{lev 4396}# 0) (#{quasilist* 4390}# (map (lambda (#{tmp 4415}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) #("i4413")) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{tmp 4415}#)) #{p 4414}#) (#{quasi 4382}# #{q 4410}# #{lev 4396}#)) (#{quasicons 4386}# (#{quasicons 4386}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4413")) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i4413")) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) (#{quasi 4382}# #{p 4414}# (#{1-}# #{lev 4396}#))) (#{quasi 4382}# #{q 4410}# #{lev 4396}#)))) #{tmp 4412}#) (let ((#{tmp 4417}# ($sc-dispatch #{tmp 4411}# '(#(free-id #(syntax-object unquote-splicing ((top) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) . each-any)))) (if #{tmp 4417}# (@apply (lambda (#{p 4419}#) (if (= #{lev 4396}# 0) (#{quasiappend 4388}# (map (lambda (#{tmp 4420}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) #("i4418")) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{tmp 4420}#)) #{p 4419}#) (#{quasi 4382}# #{q 4410}# #{lev 4396}#)) (#{quasicons 4386}# (#{quasicons 4386}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4418")) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #(syntax-object unquote-splicing ((top) #(ribcage #(p) #((top)) #("i4418")) #(ribcage #(p q) #((top) (top)) #("i4407" "i4408")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) (#{quasi 4382}# #{p 4419}# (#{1-}# #{lev 4396}#))) (#{quasi 4382}# #{q 4410}# #{lev 4396}#)))) #{tmp 4417}#) (let ((#{_ 4423}# #{tmp 4411}#)) (#{quasicons 4386}# (#{quasi 4382}# #{p 4409}# #{lev 4396}#) (#{quasi 4382}# #{q 4410}# #{lev 4396}#))))))))) #{tmp 4406}#) (let ((#{tmp 4424}# ($sc-dispatch #{tmp 4399}# '#(vector each-any)))) (if #{tmp 4424}# (@apply (lambda (#{x 4426}#) (#{quasivector 4392}# (#{vquasi 4384}# #{x 4426}# #{lev 4396}#))) #{tmp 4424}#) (let ((#{p 4429}# #{tmp 4399}#)) (list '#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4428")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4397" "i4398")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{p 4429}#))))))))))))) (#{vquasi 4384}# (lambda (#{p 4430}# #{lev 4431}#) (let ((#{tmp 4434}# #{p 4430}#)) (let ((#{tmp 4435}# ($sc-dispatch #{tmp 4434}# '(any . any)))) (if #{tmp 4435}# (@apply (lambda (#{p 4438}# #{q 4439}#) (let ((#{tmp 4440}# #{p 4438}#)) (let ((#{tmp 4441}# ($sc-dispatch #{tmp 4440}# '(#(free-id #(syntax-object unquote ((top) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) . each-any)))) (if #{tmp 4441}# (@apply (lambda (#{p 4443}#) (if (= #{lev 4431}# 0) (#{quasilist* 4390}# (map (lambda (#{tmp 4444}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) #("i4442")) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{tmp 4444}#)) #{p 4443}#) (#{vquasi 4384}# #{q 4439}# #{lev 4431}#)) (#{quasicons 4386}# (#{quasicons 4386}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4442")) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i4442")) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) (#{quasi 4382}# #{p 4443}# (#{1-}# #{lev 4431}#))) (#{vquasi 4384}# #{q 4439}# #{lev 4431}#)))) #{tmp 4441}#) (let ((#{tmp 4446}# ($sc-dispatch #{tmp 4440}# '(#(free-id #(syntax-object unquote-splicing ((top) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) . each-any)))) (if #{tmp 4446}# (@apply (lambda (#{p 4448}#) (if (= #{lev 4431}# 0) (#{quasiappend 4388}# (map (lambda (#{tmp 4449}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) #("i4447")) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{tmp 4449}#)) #{p 4448}#) (#{vquasi 4384}# #{q 4439}# #{lev 4431}#)) (#{quasicons 4386}# (#{quasicons 4386}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) #("i4447")) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #(syntax-object unquote-splicing ((top) #(ribcage #(p) #((top)) #("i4447")) #(ribcage #(p q) #((top) (top)) #("i4436" "i4437")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile))) (#{quasi 4382}# #{p 4448}# (#{1-}# #{lev 4431}#))) (#{vquasi 4384}# #{q 4439}# #{lev 4431}#)))) #{tmp 4446}#) (let ((#{_ 4452}# #{tmp 4440}#)) (#{quasicons 4386}# (#{quasi 4382}# #{p 4438}# #{lev 4431}#) (#{vquasi 4384}# #{q 4439}# #{lev 4431}#))))))))) #{tmp 4435}#) (let ((#{tmp 4453}# ($sc-dispatch #{tmp 4434}# '()))) (if #{tmp 4453}# (@apply (lambda () '(#(syntax-object "quote" ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4432" "i4433")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) ())) #{tmp 4453}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4434}#)))))))) (#{quasicons 4386}# (lambda (#{x 4454}# #{y 4455}#) (let ((#{tmp 4459}# (list #{x 4454}# #{y 4455}#))) (let ((#{tmp 4460}# ($sc-dispatch #{tmp 4459}# '(any any)))) (if #{tmp 4460}# (@apply (lambda (#{x 4463}# #{y 4464}#) (let ((#{tmp 4465}# #{y 4464}#)) (let ((#{tmp 4466}# ($sc-dispatch #{tmp 4465}# '(#(atom "quote") any)))) (if #{tmp 4466}# (@apply (lambda (#{dy 4468}#) (let ((#{tmp 4469}# #{x 4463}#)) (let ((#{tmp 4470}# ($sc-dispatch #{tmp 4469}# '(#(atom "quote") any)))) (if #{tmp 4470}# (@apply (lambda (#{dx 4472}#) (list '#(syntax-object "quote" ((top) #(ribcage #(dx) #((top)) #("i4471")) #(ribcage #(dy) #((top)) #("i4467")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4461" "i4462")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4456" "i4457")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) (cons #{dx 4472}# #{dy 4468}#))) #{tmp 4470}#) (let ((#{_ 4474}# #{tmp 4469}#)) (if (null? #{dy 4468}#) (list '#(syntax-object "list" ((top) #(ribcage #(_) #((top)) #("i4473")) #(ribcage #(dy) #((top)) #("i4467")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4461" "i4462")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4456" "i4457")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{x 4463}#) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) #("i4473")) #(ribcage #(dy) #((top)) #("i4467")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4461" "i4462")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4456" "i4457")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{x 4463}# #{y 4464}#))))))) #{tmp 4466}#) (let ((#{tmp 4475}# ($sc-dispatch #{tmp 4465}# '(#(atom "list") . any)))) (if #{tmp 4475}# (@apply (lambda (#{stuff 4477}#) (cons '#(syntax-object "list" ((top) #(ribcage #(stuff) #((top)) #("i4476")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4461" "i4462")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4456" "i4457")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) (cons #{x 4463}# #{stuff 4477}#))) #{tmp 4475}#) (let ((#{tmp 4478}# ($sc-dispatch #{tmp 4465}# '(#(atom "list*") . any)))) (if #{tmp 4478}# (@apply (lambda (#{stuff 4480}#) (cons '#(syntax-object "list*" ((top) #(ribcage #(stuff) #((top)) #("i4479")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4461" "i4462")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4456" "i4457")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) (cons #{x 4463}# #{stuff 4480}#))) #{tmp 4478}#) (let ((#{_ 4482}# #{tmp 4465}#)) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) #("i4481")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4461" "i4462")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4456" "i4457")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{x 4463}# #{y 4464}#)))))))))) #{tmp 4460}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4459}#)))))) (#{quasiappend 4388}# (lambda (#{x 4483}# #{y 4484}#) (let ((#{tmp 4487}# #{y 4484}#)) (let ((#{tmp 4488}# ($sc-dispatch #{tmp 4487}# '(#(atom "quote") ())))) (if #{tmp 4488}# (@apply (lambda () (if (null? #{x 4483}#) '(#(syntax-object "quote" ((top) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4485" "i4486")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) ()) (if (null? (cdr #{x 4483}#)) (car #{x 4483}#) (let ((#{tmp 4495}# #{x 4483}#)) (let ((#{tmp 4496}# ($sc-dispatch #{tmp 4495}# 'each-any))) (if #{tmp 4496}# (@apply (lambda (#{p 4498}#) (cons '#(syntax-object "append" ((top) #(ribcage () () ()) #(ribcage #(p) #((top)) #("i4497")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4485" "i4486")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{p 4498}#)) #{tmp 4496}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4495}#))))))) #{tmp 4488}#) (let ((#{_ 4501}# #{tmp 4487}#)) (if (null? #{x 4483}#) #{y 4484}# (let ((#{tmp 4506}# (list #{x 4483}# #{y 4484}#))) (let ((#{tmp 4507}# ($sc-dispatch #{tmp 4506}# '(each-any any)))) (if #{tmp 4507}# (@apply (lambda (#{p 4510}# #{y 4511}#) (cons '#(syntax-object "append" ((top) #(ribcage () () ()) #(ribcage #(p y) #((top) (top)) #("i4508" "i4509")) #(ribcage #(_) #((top)) #("i4500")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4485" "i4486")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) (append #{p 4510}# (list #{y 4511}#)))) #{tmp 4507}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4506}#))))))))))) (#{quasilist* 4390}# (lambda (#{x 4513}# #{y 4514}#) (letrec* ((#{f 4519}# (lambda (#{x 4520}#) (if (null? #{x 4520}#) #{y 4514}# (#{quasicons 4386}# (car #{x 4520}#) (#{f 4519}# (cdr #{x 4520}#))))))) (begin (#{f 4519}# #{x 4513}#))))) (#{quasivector 4392}# (lambda (#{x 4521}#) (let ((#{tmp 4523}# #{x 4521}#)) (let ((#{tmp 4524}# ($sc-dispatch #{tmp 4523}# '(#(atom "quote") each-any)))) (if #{tmp 4524}# (@apply (lambda (#{x 4526}#) (list '#(syntax-object "quote" ((top) #(ribcage #(x) #((top)) #("i4525")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) (list->vector #{x 4526}#))) #{tmp 4524}#) (let ((#{_ 4529}# #{tmp 4523}#)) (letrec* ((#{f 4533}# (lambda (#{y 4534}# #{k 4535}#) (let ((#{tmp 4546}# #{y 4534}#)) (let ((#{tmp 4547}# ($sc-dispatch #{tmp 4546}# '(#(atom "quote") each-any)))) (if #{tmp 4547}# (@apply (lambda (#{y 4549}#) (#{k 4535}# (map (lambda (#{tmp 4550}#) (list '#(syntax-object "quote" ((top) #(ribcage #(y) #((top)) #("i4548")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) #("i4530" "i4531" "i4532")) #(ribcage #(_) #((top)) #("i4528")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{tmp 4550}#)) #{y 4549}#))) #{tmp 4547}#) (let ((#{tmp 4551}# ($sc-dispatch #{tmp 4546}# '(#(atom "list") . each-any)))) (if #{tmp 4551}# (@apply (lambda (#{y 4553}#) (#{k 4535}# #{y 4553}#)) #{tmp 4551}#) (let ((#{tmp 4555}# ($sc-dispatch #{tmp 4546}# '(#(atom "list*") . #(each+ any (any) ()))))) (if #{tmp 4555}# (@apply (lambda (#{y 4558}# #{z 4559}#) (#{f 4533}# #{z 4559}# (lambda (#{ls 4560}#) (#{k 4535}# (append #{y 4558}# #{ls 4560}#))))) #{tmp 4555}#) (let ((#{else 4564}# #{tmp 4546}#)) (let ((#{tmp 4568}# #{x 4521}#)) (let ((#{ g4565 4570}# #{tmp 4568}#)) (list '#(syntax-object "list->vector" ((top) #(ribcage () () ()) #(ribcage #(#{ g4565}#) #((m4566 top)) #("i4569")) #(ribcage #(else) #((top)) #("i4563")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) #("i4530" "i4531" "i4532")) #(ribcage #(_) #((top)) #("i4528")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4565 4570}#)))))))))))))) (begin (#{f 4533}# #{x 4521}# (lambda (#{ls 4536}#) (let ((#{tmp 4541}# #{ls 4536}#)) (let ((#{tmp 4542}# ($sc-dispatch #{tmp 4541}# 'each-any))) (if #{tmp 4542}# (@apply (lambda (#{ g4538 4544}#) (cons '#(syntax-object "vector" ((top) #(ribcage () () ()) #(ribcage #(#{ g4538}#) #((m4539 top)) #("i4543")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ls) #((top)) #("i4537")) #(ribcage #(_) #((top)) #("i4528")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4538 4544}#)) #{tmp 4542}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4541}#)))))))))))))) (#{emit 4394}# (lambda (#{x 4571}#) (let ((#{tmp 4573}# #{x 4571}#)) (let ((#{tmp 4574}# ($sc-dispatch #{tmp 4573}# '(#(atom "quote") any)))) (if #{tmp 4574}# (@apply (lambda (#{x 4576}#) (list '#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i4575")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4572")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{x 4576}#)) #{tmp 4574}#) (let ((#{tmp 4577}# ($sc-dispatch #{tmp 4573}# '(#(atom "list") . each-any)))) (if #{tmp 4577}# (@apply (lambda (#{x 4579}#) (let ((#{tmp 4583}# (map #{emit 4394}# #{x 4579}#))) (let ((#{tmp 4584}# ($sc-dispatch #{tmp 4583}# 'each-any))) (if #{tmp 4584}# (@apply (lambda (#{ g4580 4586}#) (cons '#(syntax-object list ((top) #(ribcage () () ()) #(ribcage #(#{ g4580}#) #((m4581 top)) #("i4585")) #(ribcage #(x) #((top)) #("i4578")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4572")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4580 4586}#)) #{tmp 4584}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4583}#))))) #{tmp 4577}#) (let ((#{tmp 4589}# ($sc-dispatch #{tmp 4573}# '(#(atom "list*") . #(each+ any (any) ()))))) (if #{tmp 4589}# (@apply (lambda (#{x 4592}# #{y 4593}#) (letrec* ((#{f 4596}# (lambda (#{x* 4597}#) (if (null? #{x* 4597}#) (#{emit 4394}# #{y 4593}#) (let ((#{tmp 4603}# (list (#{emit 4394}# (car #{x* 4597}#)) (#{f 4596}# (cdr #{x* 4597}#))))) (let ((#{tmp 4604}# ($sc-dispatch #{tmp 4603}# '(any any)))) (if #{tmp 4604}# (@apply (lambda (#{ g4600 4607}# #{ g4599 4608}#) (list '#(syntax-object cons ((top) #(ribcage () () ()) #(ribcage #(#{ g4600}# #{ g4599}#) #((m4601 top) (m4601 top)) #("i4605" "i4606")) #(ribcage () () ()) #(ribcage #(f x*) #((top) (top)) #("i4594" "i4595")) #(ribcage #(x y) #((top) (top)) #("i4590" "i4591")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4572")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4600 4607}# #{ g4599 4608}#)) #{tmp 4604}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4603}#)))))))) (begin (#{f 4596}# #{x 4592}#)))) #{tmp 4589}#) (let ((#{tmp 4609}# ($sc-dispatch #{tmp 4573}# '(#(atom "append") . each-any)))) (if #{tmp 4609}# (@apply (lambda (#{x 4611}#) (let ((#{tmp 4615}# (map #{emit 4394}# #{x 4611}#))) (let ((#{tmp 4616}# ($sc-dispatch #{tmp 4615}# 'each-any))) (if #{tmp 4616}# (@apply (lambda (#{ g4612 4618}#) (cons '#(syntax-object append ((top) #(ribcage () () ()) #(ribcage #(#{ g4612}#) #((m4613 top)) #("i4617")) #(ribcage #(x) #((top)) #("i4610")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4572")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4612 4618}#)) #{tmp 4616}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4615}#))))) #{tmp 4609}#) (let ((#{tmp 4621}# ($sc-dispatch #{tmp 4573}# '(#(atom "vector") . each-any)))) (if #{tmp 4621}# (@apply (lambda (#{x 4623}#) (let ((#{tmp 4627}# (map #{emit 4394}# #{x 4623}#))) (let ((#{tmp 4628}# ($sc-dispatch #{tmp 4627}# 'each-any))) (if #{tmp 4628}# (@apply (lambda (#{ g4624 4630}#) (cons '#(syntax-object vector ((top) #(ribcage () () ()) #(ribcage #(#{ g4624}#) #((m4625 top)) #("i4629")) #(ribcage #(x) #((top)) #("i4622")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4572")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4624 4630}#)) #{tmp 4628}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4627}#))))) #{tmp 4621}#) (let ((#{tmp 4633}# ($sc-dispatch #{tmp 4573}# '(#(atom "list->vector") any)))) (if #{tmp 4633}# (@apply (lambda (#{x 4635}#) (let ((#{tmp 4639}# (#{emit 4394}# #{x 4635}#))) (let ((#{ g4636 4641}# #{tmp 4639}#)) (list '#(syntax-object list->vector ((top) #(ribcage () () ()) #(ribcage #(#{ g4636}#) #((m4637 top)) #("i4640")) #(ribcage #(x) #((top)) #("i4634")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4572")) #(ribcage (emit quasivector quasilist* quasiappend quasicons vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) ("i4393" "i4391" "i4389" "i4387" "i4385" "i4383" "i4381"))) (hygiene guile)) #{ g4636 4641}#)))) #{tmp 4633}#) (let ((#{tmp 4642}# ($sc-dispatch #{tmp 4573}# '(#(atom "value") any)))) (if #{tmp 4642}# (@apply (lambda (#{x 4644}#) #{x 4644}#) #{tmp 4642}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4573}#))))))))))))))))))) (begin (lambda (#{x 4645}#) (let ((#{tmp 4647}# #{x 4645}#)) (let ((#{tmp 4648}# ($sc-dispatch #{tmp 4647}# '(_ any)))) (if #{tmp 4648}# (@apply (lambda (#{e 4650}#) (#{emit 4394}# (#{quasi 4382}# #{e 4650}# 0))) #{tmp 4648}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4647}#))))))))) (define include (make-syntax-transformer 'include 'macro (lambda (#{x 4651}#) (letrec* ((#{read-file 4654}# (lambda (#{fn 4655}# #{k 4656}#) (begin (let ((#{p 4660}# (open-input-file #{fn 4655}#))) (letrec* ((#{f 4664}# (lambda (#{x 4665}# #{result 4666}#) (if (eof-object? #{x 4665}#) (begin (close-input-port #{p 4660}#) (reverse #{result 4666}#)) (#{f 4664}# (read #{p 4660}#) (cons (datum->syntax #{k 4656}# #{x 4665}#) #{result 4666}#)))))) (begin (#{f 4664}# (read #{p 4660}#) '())))))))) (begin (let ((#{tmp 4667}# #{x 4651}#)) (let ((#{tmp 4668}# ($sc-dispatch #{tmp 4667}# '(any any)))) (if #{tmp 4668}# (@apply (lambda (#{k 4671}# #{filename 4672}#) (begin (let ((#{fn 4674}# (syntax->datum #{filename 4672}#))) (let ((#{tmp 4676}# (#{read-file 4654}# #{fn 4674}# #{filename 4672}#))) (let ((#{tmp 4677}# ($sc-dispatch #{tmp 4676}# 'each-any))) (if #{tmp 4677}# (@apply (lambda (#{exp 4679}#) (cons '#(syntax-object begin ((top) #(ribcage () () ()) #(ribcage #(exp) #((top)) #("i4678")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4673")) #(ribcage #(k filename) #((top) (top)) #("i4669" "i4670")) #(ribcage (read-file) ((top)) ("i4653")) #(ribcage #(x) #((top)) #("i4652"))) (hygiene guile)) #{exp 4679}#)) #{tmp 4677}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4676}#))))))) #{tmp 4668}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4667}#))))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro (lambda (#{x 4681}#) (let ((#{tmp 4683}# #{x 4681}#)) (let ((#{tmp 4684}# ($sc-dispatch #{tmp 4683}# '(any any)))) (if #{tmp 4684}# (@apply (lambda (#{k 4687}# #{filename 4688}#) (begin (let ((#{fn 4690}# (syntax->datum #{filename 4688}#))) (let ((#{tmp 4692}# (datum->syntax #{filename 4688}# (begin (let ((#{t 4697}# (%search-load-path #{fn 4690}#))) (if #{t 4697}# #{t 4697}# (syntax-violation 'include-from-path "file not found in path" #{x 4681}# #{filename 4688}#))))))) (let ((#{fn 4694}# #{tmp 4692}#)) (list '#(syntax-object include ((top) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4693")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4689")) #(ribcage #(k filename) #((top) (top)) #("i4685" "i4686")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4682"))) (hygiene guile)) #{fn 4694}#)))))) #{tmp 4684}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4683}#))))))) (define unquote (make-syntax-transformer 'unquote 'macro (lambda (#{x 4699}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" #{x 4699}#)))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro (lambda (#{x 4701}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" #{x 4701}#)))) (define case (make-syntax-transformer 'case 'macro (lambda (#{x 4703}#) (let ((#{tmp 4705}# #{x 4703}#)) (let ((#{tmp 4706}# ($sc-dispatch #{tmp 4705}# '(_ any any . each-any)))) (if #{tmp 4706}# (@apply (lambda (#{e 4710}# #{m1 4711}# #{m2 4712}#) (let ((#{tmp 4714}# (letrec* ((#{f 4720}# (lambda (#{clause 4721}# #{clauses 4722}#) (if (null? #{clauses 4722}#) (let ((#{tmp 4724}# #{clause 4721}#)) (let ((#{tmp 4725}# ($sc-dispatch #{tmp 4724}# '(#(free-id #(syntax-object else ((top) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile))) any . each-any)))) (if #{tmp 4725}# (@apply (lambda (#{e1 4728}# #{e2 4729}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4726" "i4727")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (cons #{e1 4728}# #{e2 4729}#))) #{tmp 4725}#) (let ((#{tmp 4731}# ($sc-dispatch #{tmp 4724}# '(each-any any . each-any)))) (if #{tmp 4731}# (@apply (lambda (#{k 4735}# #{e1 4736}# #{e2 4737}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4732" "i4733" "i4734")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (list '#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4732" "i4733" "i4734")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) '#(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4732" "i4733" "i4734")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (list '#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4732" "i4733" "i4734")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) #{k 4735}#)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4732" "i4733" "i4734")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (cons #{e1 4736}# #{e2 4737}#)))) #{tmp 4731}#) (let ((#{_ 4741}# #{tmp 4724}#)) (syntax-violation 'case "bad clause" #{x 4703}# #{clause 4721}#))))))) (let ((#{tmp 4743}# (#{f 4720}# (car #{clauses 4722}#) (cdr #{clauses 4722}#)))) (let ((#{rest 4745}# #{tmp 4743}#)) (let ((#{tmp 4746}# #{clause 4721}#)) (let ((#{tmp 4747}# ($sc-dispatch #{tmp 4746}# '(each-any any . each-any)))) (if #{tmp 4747}# (@apply (lambda (#{k 4751}# #{e1 4752}# #{e2 4753}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4748" "i4749" "i4750")) #(ribcage () () ()) #(ribcage #(rest) #((top)) #("i4744")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (list '#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4748" "i4749" "i4750")) #(ribcage () () ()) #(ribcage #(rest) #((top)) #("i4744")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) '#(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4748" "i4749" "i4750")) #(ribcage () () ()) #(ribcage #(rest) #((top)) #("i4744")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (list '#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4748" "i4749" "i4750")) #(ribcage () () ()) #(ribcage #(rest) #((top)) #("i4744")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) #{k 4751}#)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4748" "i4749" "i4750")) #(ribcage () () ()) #(ribcage #(rest) #((top)) #("i4744")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4717" "i4718" "i4719")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (cons #{e1 4752}# #{e2 4753}#)) #{rest 4745}#)) #{tmp 4747}#) (let ((#{_ 4757}# #{tmp 4746}#)) (syntax-violation 'case "bad clause" #{x 4703}# #{clause 4721}#))))))))))) (begin (#{f 4720}# #{m1 4711}# #{m2 4712}#))))) (let ((#{body 4716}# #{tmp 4714}#)) (list '#(syntax-object let ((top) #(ribcage () () ()) #(ribcage #(body) #((top)) #("i4715")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) (list (list '#(syntax-object t ((top) #(ribcage () () ()) #(ribcage #(body) #((top)) #("i4715")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4707" "i4708" "i4709")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4704"))) (hygiene guile)) #{e 4710}#)) #{body 4716}#)))) #{tmp 4706}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4705}#))))))) (define make-variable-transformer (lambda (#{proc 4758}#) (if (procedure? #{proc 4758}#) (begin (letrec* ((#{trans 4761}# (lambda (#{x 4762}#) (#{proc 4758}# #{x 4762}#)))) (begin (set-procedure-property! #{trans 4761}# 'variable-transformer #t) #{trans 4761}#))) (error "variable transformer not a procedure" #{proc 4758}#)))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro (lambda (#{x 4764}#) (let ((#{tmp 4766}# #{x 4764}#)) (let ((#{tmp 4767}# ($sc-dispatch #{tmp 4766}# '(_ any)))) (if #{tmp 4767}# (@apply (lambda (#{e 4769}#) (list '#(syntax-object lambda ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) . #(syntax-object identifier-syntax ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '#(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '() (list '#(syntax-object id ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '(#(syntax-object identifier? ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) (#(syntax-object syntax ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #(syntax-object id ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #{e 4769}#)) (list '(#(syntax-object _ ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile))) (list '#(syntax-object syntax ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) (cons #{e 4769}# '(#(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(e) #((top)) #("i4768")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile))))))))) #{tmp 4767}#) (let ((#{tmp 4770}# ($sc-dispatch #{tmp 4766}# '(_ (any any) ((#(free-id #(syntax-object set! ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile))) any any) any))))) (if (if #{tmp 4770}# (@apply (lambda (#{id 4776}# #{exp1 4777}# #{var 4778}# #{val 4779}# #{exp2 4780}#) (if (identifier? #{id 4776}#) (identifier? #{var 4778}#) #f)) #{tmp 4770}#) #f) (@apply (lambda (#{id 4788}# #{exp1 4789}# #{var 4790}# #{val 4791}# #{exp2 4792}#) (list '#(syntax-object make-variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) (list '#(syntax-object lambda ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) . #(syntax-object variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) '(#(syntax-object set! ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile))) (list (list '#(syntax-object set! ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #{var 4790}# #{val 4791}#) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #{exp2 4792}#)) (list (cons #{id 4788}# '(#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) (cons #{exp1 4789}# '(#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)))))) (list #{id 4788}# (list '#(syntax-object identifier? ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #{id 4788}#)) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4783" "i4784" "i4785" "i4786" "i4787")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4765"))) (hygiene guile)) #{exp1 4789}#)))))) #{tmp 4770}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4766}#))))))))) (define define* (make-syntax-transformer 'define* 'macro (lambda (#{x 4793}#) (let ((#{tmp 4795}# #{x 4793}#)) (let ((#{tmp 4796}# ($sc-dispatch #{tmp 4795}# '(_ (any . any) any . each-any)))) (if #{tmp 4796}# (@apply (lambda (#{id 4801}# #{args 4802}# #{b0 4803}# #{b1 4804}#) (list '#(syntax-object define ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) #("i4797" "i4798" "i4799" "i4800")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4794"))) (hygiene guile)) #{id 4801}# (cons '#(syntax-object lambda* ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) #("i4797" "i4798" "i4799" "i4800")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4794"))) (hygiene guile)) (cons #{args 4802}# (cons #{b0 4803}# #{b1 4804}#))))) #{tmp 4796}#) (let ((#{tmp 4806}# ($sc-dispatch #{tmp 4795}# '(_ any any)))) (if (if #{tmp 4806}# (@apply (lambda (#{id 4809}# #{val 4810}#) (identifier? '#(syntax-object x ((top) #(ribcage #(id val) #((top) (top)) #("i4807" "i4808")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4794"))) (hygiene guile)))) #{tmp 4806}#) #f) (@apply (lambda (#{id 4813}# #{val 4814}#) (list '#(syntax-object define ((top) #(ribcage #(id val) #((top) (top)) #("i4811" "i4812")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4794"))) (hygiene guile)) #{id 4813}# #{val 4814}#)) #{tmp 4806}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp 4795}#)))))))))