;;; psyntax.pp ;;; automatically generated from psyntax.ss ;;; Thu Feb 14 19:36:03 EST 2002 ;;; see copyright notice in psyntax.ss ((lambda () (letrec ((lambda-var-list484 (lambda (vars1900) ((letrec ((lvl1901 (lambda (vars1904 ls1902 w1903) (if (pair? vars1904) (lvl1901 (cdr vars1904) (cons (wrap422 (car vars1904) w1903) ls1902) w1903) (if (id?293 vars1904) (cons (wrap422 vars1904 w1903) ls1902) (if (null? vars1904) ls1902 (if (syntax-object?241 vars1904) (lvl1901 (syntax-object-expression242 vars1904) ls1902 (join-wraps408 w1903 (syntax-object-wrap243 vars1904))) (if (annotation?117 vars1904) (lvl1901 (annotation-expression vars1904) ls1902 w1903) (cons vars1904 ls1902))))))))) lvl1901) vars1900 '() '(())))) (gen-var483 (lambda (id877) ((lambda (id878) (if (annotation?117 id878) (gensym) (gensym))) (if (syntax-object?241 id877) (syntax-object-expression242 id877) id877)))) (strip482 (lambda (x1897 w1896) (strip*481 x1897 w1896 (lambda (x1898) (if ((lambda (t1899) (if t1899 t1899 (if (pair? x1898) (annotation?117 (car x1898)) '#f))) (annotation?117 x1898)) (strip-annotation480 x1898 '#f) x1898))))) (strip*481 (lambda (x881 w879 fn880) (if (memq 'top (wrap-marks301 w879)) (fn880 x881) ((letrec ((f882 (lambda (x883) (if (syntax-object?241 x883) (strip*481 (syntax-object-expression242 x883) (syntax-object-wrap243 x883) fn880) (if (pair? x883) ((lambda (a885 d884) (if (if (eq? a885 (car x883)) (eq? d884 (cdr x883)) '#f) x883 (cons a885 d884))) (f882 (car x883)) (f882 (cdr x883))) (if (vector? x883) ((lambda (old886) ((lambda (new887) (if (andmap eq? old886 new887) x883 (list->vector new887))) (map f882 old886))) (vector->list x883)) x883)))))) f882) x881)))) (strip-annotation480 (lambda (x1890 parent1889) (if (pair? x1890) ((lambda (new1891) (begin (if parent1889 (set-annotation-stripped! parent1889 new1891) (void)) (set-car! new1891 (strip-annotation480 (car x1890) '#f)) (set-cdr! new1891 (strip-annotation480 (cdr x1890) '#f)) new1891)) (cons '#f '#f)) (if (annotation?117 x1890) ((lambda (t1892) (if t1892 t1892 (strip-annotation480 (annotation-expression x1890) x1890))) (annotation-stripped x1890)) (if (vector? x1890) ((lambda (new1893) (begin (if parent1889 (set-annotation-stripped! parent1889 new1893) (void)) ((letrec ((loop1894 (lambda (i1895) (if (not (< i1895 '0)) (begin (vector-set! new1893 i1895 (strip-annotation480 (vector-ref x1890 i1895) '#f)) (loop1894 (- i1895 '1))) (void))))) loop1894) (- (vector-length x1890) '1)) new1893)) (make-vector (vector-length x1890))) x1890))))) (ellipsis?479 (lambda (x888) (if (nonsymbol-id?292 x888) (literal-id=?416 x888 '#(syntax-object ... ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ())))) '#f))) (chi-void478 (lambda () (list 'void))) (chi-local-syntax477 (lambda (rec?894 e889 r893 w890 s892 k891) ((lambda (tmp895) ((lambda (tmp896) (if tmp896 (apply (lambda (_901 id897 val900 e1898 e2899) ((lambda (ids902) (if (not (valid-bound-ids?418 ids902)) (invalid-ids-error420 (map (lambda (x903) (wrap422 x903 w890)) ids902) (source-wrap423 e889 w890 s892) '"keyword") ((lambda (labels904) ((lambda (new-w905) (k891 (cons e1898 e2899) (extend-env*284 labels904 ((lambda (w907 trans-r906) (map (lambda (x909) (make-binding268 'deferred (chi464 x909 trans-r906 w907))) val900)) (if rec?894 new-w905 w890) (transformer-env286 r893)) r893) new-w905 s892)) (make-binding-wrap405 ids902 labels904 w890))) (gen-labels336 ids902)))) id897)) tmp896) ((lambda (_912) (syntax-error (source-wrap423 e889 w890 s892))) tmp895))) ($syntax-dispatch tmp895 '(any #(each (any any)) any . each-any)))) e889))) (chi-lambda-clause476 (lambda (e1866 c1862 r1865 w1863 k1864) ((lambda (tmp1867) ((lambda (tmp1868) (if tmp1868 (apply (lambda (id1871 e11869 e21870) ((lambda (ids1872) (if (not (valid-bound-ids?418 ids1872)) (syntax-error e1866 '"invalid parameter list in") ((lambda (labels1874 new-vars1873) (k1864 new-vars1873 (chi-body469 (cons e11869 e21870) e1866 (extend-var-env*285 labels1874 new-vars1873 r1865) (make-binding-wrap405 ids1872 labels1874 w1863)))) (gen-labels336 ids1872) (map gen-var483 ids1872)))) id1871)) tmp1868) ((lambda (tmp1877) (if tmp1877 (apply (lambda (ids1880 e11878 e21879) ((lambda (old-ids1881) (if (not (valid-bound-ids?418 old-ids1881)) (syntax-error e1866 '"invalid parameter list in") ((lambda (labels1883 new-vars1882) (k1864 ((letrec ((f1885 (lambda (ls11887 ls21886) (if (null? ls11887) ls21886 (f1885 (cdr ls11887) (cons (car ls11887) ls21886)))))) f1885) (cdr new-vars1882) (car new-vars1882)) (chi-body469 (cons e11878 e21879) e1866 (extend-var-env*285 labels1883 new-vars1882 r1865) (make-binding-wrap405 old-ids1881 labels1883 w1863)))) (gen-labels336 old-ids1881) (map gen-var483 old-ids1881)))) (lambda-var-list484 ids1880))) tmp1877) ((lambda (_1888) (syntax-error e1866)) tmp1867))) ($syntax-dispatch tmp1867 '(any any . each-any))))) ($syntax-dispatch tmp1867 '(each-any any . each-any)))) c1862))) (parse-define-syntax475 (lambda (e916 w913 s915 k914) ((lambda (tmp917) ((lambda (tmp918) (if (if tmp918 (apply (lambda (_921 name919 val920) (id?293 name919)) tmp918) '#f) (apply (lambda (_924 name922 val923) (k914 name922 val923 w913)) tmp918) ((lambda (_925) (syntax-error (source-wrap423 e916 w913 s915))) tmp917))) ($syntax-dispatch tmp917 '(any any any)))) e916))) (parse-define474 (lambda (e1835 w1832 s1834 k1833) ((lambda (tmp1836) ((lambda (tmp1837) (if (if tmp1837 (apply (lambda (_1840 name1838 val1839) (id?293 name1838)) tmp1837) '#f) (apply (lambda (_1843 name1841 val1842) (k1833 name1841 val1842 w1832)) tmp1837) ((lambda (tmp1844) (if (if tmp1844 (apply (lambda (_1849 name1845 args1848 e11846 e21847) (if (id?293 name1845) (valid-bound-ids?418 (lambda-var-list484 args1848)) '#f)) tmp1844) '#f) (apply (lambda (_1854 name1850 args1853 e11851 e21852) (k1833 (wrap422 name1850 w1832) (cons '#(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(e w s k) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ()))) (wrap422 (cons args1853 (cons e11851 e21852)) w1832)) '(()))) tmp1844) ((lambda (tmp1856) (if (if tmp1856 (apply (lambda (_1858 name1857) (id?293 name1857)) tmp1856) '#f) (apply (lambda (_1860 name1859) (k1833 (wrap422 name1859 w1832) '#(syntax-object (void) ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(e w s k) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ()))) '(()))) tmp1856) ((lambda (_1861) (syntax-error (source-wrap423 e1835 w1832 s1834))) tmp1836))) ($syntax-dispatch tmp1836 '(any any))))) ($syntax-dispatch tmp1836 '(any (any . any) any . each-any))))) ($syntax-dispatch tmp1836 '(any any any)))) e1835))) (parse-import473 (lambda (e929 w926 s928 k927) ((lambda (tmp930) ((lambda (tmp931) (if (if tmp931 (apply (lambda (_933 mid932) (id?293 mid932)) tmp931) '#f) (apply (lambda (_935 mid934) (k927 (wrap422 mid934 w926))) tmp931) ((lambda (_936) (syntax-error (source-wrap423 e929 w926 s928))) tmp930))) ($syntax-dispatch tmp930 '(any any)))) e929))) (parse-module472 (lambda (e1800 w1796 s1799 *w1797 k1798) (letrec ((return1802 (lambda (id1830 exports1828 forms1829) (k1798 id1830 (listify1801 exports1828) (map (lambda (x1831) (wrap422 x1831 *w1797)) forms1829)))) (listify1801 (lambda (exports1822) (if (null? exports1822) '() (cons ((lambda (tmp1823) ((lambda (tmp1824) (if tmp1824 (apply (lambda (ex1825) (listify1801 ex1825)) tmp1824) ((lambda (x1827) (if (id?293 x1827) (wrap422 x1827 *w1797) (syntax-error (source-wrap423 e1800 w1796 s1799) '"invalid exports list in"))) tmp1823))) ($syntax-dispatch tmp1823 'each-any))) (car exports1822)) (listify1801 (cdr exports1822))))))) ((lambda (tmp1803) ((lambda (tmp1804) (if tmp1804 (apply (lambda (_1807 ex1805 form1806) (return1802 '#f ex1805 form1806)) tmp1804) ((lambda (tmp1810) (if (if tmp1810 (apply (lambda (_1814 mid1811 ex1813 form1812) (id?293 mid1811)) tmp1810) '#f) (apply (lambda (_1818 mid1815 ex1817 form1816) (return1802 (wrap422 mid1815 w1796) ex1817 form1816)) tmp1810) ((lambda (_1821) (syntax-error (source-wrap423 e1800 w1796 s1799))) tmp1803))) ($syntax-dispatch tmp1803 '(any any each-any . each-any))))) ($syntax-dispatch tmp1803 '(any each-any . each-any)))) e1800)))) (do-import!471 (lambda (interface938 ribcage937) ((lambda (token939) (if token939 (extend-ribcage-subst!403 ribcage937 token939) (vfor-each458 (lambda (id940) ((lambda (label1941) (begin (if (not label1941) (syntax-error id940 '"exported identifier not visible") (void)) (extend-ribcage!400 ribcage937 id940 label1941))) (id-var-name-loc413 id940 '(())))) (interface-exports433 interface938)))) (interface-token434 interface938)))) (chi-internal470 (lambda (ribcage1720 source-exp1716 body1719 r1717 k1718) (letrec ((return1721 (lambda (exprs1795 ids1791 vars1794 vals1792 inits1793) (begin (check-defined-ids455 source-exp1716 ids1791) (k1718 exprs1795 ids1791 vars1794 vals1792 inits1793))))) ((letrec ((parse1722 (lambda (body1727 ids1723 vars1726 vals1724 inits1725) (if (null? body1727) (return1721 body1727 ids1723 vars1726 vals1724 inits1725) ((lambda (e1729 er1728) (call-with-values (lambda () (syntax-type427 e1729 er1728 '(()) '#f ribcage1720)) (lambda (type1734 value1730 e1733 w1731 s1732) ((lambda (t1735) (if (memv t1735 '(define-form)) (parse-define474 e1733 w1731 s1732 (lambda (id1738 rhs1736 w1737) ((lambda (id1740 label1739) ((lambda (var1741) (begin (extend-ribcage!400 ribcage1720 id1740 label1739) (extend-store!453 r1717 label1739 (make-binding268 'lexical var1741)) (parse1722 (cdr body1727) (cons id1740 ids1723) (cons var1741 vars1726) (cons (cons er1728 (wrap422 rhs1736 w1737)) vals1724) inits1725))) (gen-var483 id1740))) (wrap422 id1738 w1737) (gen-label334)))) (if (memv t1735 '(define-syntax-form)) (parse-define-syntax475 e1733 w1731 s1732 (lambda (id1744 rhs1742 w1743) ((lambda (id1747 label1745 exp1746) (begin (extend-ribcage!400 ribcage1720 id1747 label1745) (extend-store!453 r1717 label1745 (make-binding268 'deferred exp1746)) (parse1722 (cdr body1727) (cons id1747 ids1723) vars1726 vals1724 inits1725))) (wrap422 id1744 w1743) (gen-label334) (chi464 rhs1742 (transformer-env286 er1728) w1743)))) (if (memv t1735 '(module-form)) ((lambda (*ribcage1748) ((lambda (*w1749) ((lambda () (parse-module472 e1733 w1731 s1732 *w1749 (lambda (id1752 exports1750 forms1751) (chi-internal470 *ribcage1748 (source-wrap423 e1733 w1731 s1732) (map (lambda (d1763) (cons er1728 d1763)) forms1751) r1717 (lambda (*body1757 *ids1753 *vars1756 *vals1754 *inits1755) (begin (check-module-exports454 source-exp1716 (flatten-exports430 exports1750) *ids1753) ((lambda (iface1761 vars1758 vals1760 inits1759) (if id1752 ((lambda (label1762) (begin (extend-ribcage!400 ribcage1720 id1752 label1762) (extend-store!453 r1717 label1762 (make-binding268 'module iface1761)) (parse1722 (cdr body1727) (cons id1752 ids1723) vars1758 vals1760 inits1759))) (gen-label334)) ((lambda () (begin (do-import!471 iface1761 ribcage1720) (parse1722 (cdr body1727) (cons iface1761 ids1723) vars1758 vals1760 inits1759)))))) (make-trimmed-interface437 exports1750) (append *vars1756 vars1726) (append *vals1754 vals1724) (append inits1725 *inits1755 *body1757)))))))))) (make-wrap300 (wrap-marks301 w1731) (cons *ribcage1748 (wrap-subst302 w1731))))) (make-ribcage341 '() '() '())) (if (memv t1735 '(import-form)) (parse-import473 e1733 w1731 s1732 (lambda (mid1764) ((lambda (mlabel1765) ((lambda (binding1766) ((lambda (t1767) (if (memv t1767 '(module)) ((lambda (iface1768) (begin (if value1730 (extend-ribcage-barrier!401 ribcage1720 value1730) (void)) (do-import!471 iface1768 ribcage1720) (parse1722 (cdr body1727) (cons iface1768 ids1723) vars1726 vals1724 inits1725))) (cdr binding1766)) (if (memv t1767 '(displaced-lexical)) (displaced-lexical-error287 mid1764) (syntax-error mid1764 '"import from unknown module")))) (car binding1766))) (lookup290 mlabel1765 r1717))) (id-var-name414 mid1764 '(()))))) (if (memv t1735 '(begin-form)) ((lambda (tmp1769) ((lambda (tmp1770) (if tmp1770 (apply (lambda (_1772 e11771) (parse1722 ((letrec ((f1773 (lambda (forms1774) (if (null? forms1774) (cdr body1727) (cons (cons er1728 (wrap422 (car forms1774) w1731)) (f1773 (cdr forms1774))))))) f1773) e11771) ids1723 vars1726 vals1724 inits1725)) tmp1770) (syntax-error tmp1769))) ($syntax-dispatch tmp1769 '(any . each-any)))) e1733) (if (memv t1735 '(eval-when-form)) ((lambda (tmp1776) ((lambda (tmp1777) (if tmp1777 (apply (lambda (_1780 x1778 e11779) (parse1722 (if (memq 'eval (chi-when-list426 x1778 w1731)) ((letrec ((f1782 (lambda (forms1783) (if (null? forms1783) (cdr body1727) (cons (cons er1728 (wrap422 (car forms1783) w1731)) (f1782 (cdr forms1783))))))) f1782) e11779) (cdr body1727)) ids1723 vars1726 vals1724 inits1725)) tmp1777) (syntax-error tmp1776))) ($syntax-dispatch tmp1776 '(any each-any . each-any)))) e1733) (if (memv t1735 '(local-syntax-form)) (chi-local-syntax477 value1730 e1733 er1728 w1731 s1732 (lambda (forms1788 er1785 w1787 s1786) (parse1722 ((letrec ((f1789 (lambda (forms1790) (if (null? forms1790) (cdr body1727) (cons (cons er1785 (wrap422 (car forms1790) w1787)) (f1789 (cdr forms1790))))))) f1789) forms1788) ids1723 vars1726 vals1724 inits1725))) (return1721 (cons (cons er1728 (source-wrap423 e1733 w1731 s1732)) (cdr body1727)) ids1723 vars1726 vals1724 inits1725))))))))) type1734)))) (cdar body1727) (caar body1727)))))) parse1722) body1719 '() '() '() '())))) (chi-body469 (lambda (body945 outer-form942 r944 w943) ((lambda (r946) ((lambda (ribcage947) ((lambda (w948) ((lambda (body949) ((lambda () (chi-internal470 ribcage947 outer-form942 body949 r946 (lambda (exprs954 ids950 vars953 vals951 inits952) (begin (if (null? exprs954) (syntax-error outer-form942 '"no expressions in body") (void)) (build-letrec228 '#f vars953 (map (lambda (x956) (chi464 (cdr x956) (car x956) '(()))) vals951) (build-sequence227 '#f (map (lambda (x955) (chi464 (cdr x955) (car x955) '(()))) (append inits952 exprs954)))))))))) (map (lambda (x957) (cons r946 (wrap422 x957 w948))) body945))) (make-wrap300 (wrap-marks301 w943) (cons ribcage947 (wrap-subst302 w943))))) (make-ribcage341 '() '() '()))) (cons '("placeholder" placeholder) r944)))) (chi-macro468 (lambda (p1703 e1698 r1702 w1699 s1701 rib1700) (letrec ((rebuild-macro-output1704 (lambda (x1708 m1707) (if (pair? x1708) (cons (rebuild-macro-output1704 (car x1708) m1707) (rebuild-macro-output1704 (cdr x1708) m1707)) (if (syntax-object?241 x1708) ((lambda (w1709) ((lambda (ms1711 s1710) (make-syntax-object240 (syntax-object-expression242 x1708) (if (if (pair? ms1711) (eq? (car ms1711) '#f) '#f) (make-wrap300 (cdr ms1711) (if rib1700 (cons rib1700 (cdr s1710)) (cdr s1710))) (make-wrap300 (cons m1707 ms1711) (if rib1700 (cons rib1700 (cons 'shift s1710)) (cons 'shift s1710)))))) (wrap-marks301 w1709) (wrap-subst302 w1709))) (syntax-object-wrap243 x1708)) (if (vector? x1708) ((lambda (n1712) ((lambda (v1713) ((lambda () ((letrec ((doloop1714 (lambda (i1715) (if (= i1715 n1712) v1713 (begin (vector-set! v1713 i1715 (rebuild-macro-output1704 (vector-ref x1708 i1715) m1707)) (doloop1714 (+ i1715 '1))))))) doloop1714) '0)))) (make-vector n1712))) (vector-length x1708)) (if (symbol? x1708) (syntax-error (source-wrap423 e1698 w1699 s1701) '"encountered raw symbol " (format '"~s" x1708) '" in output of macro") x1708))))))) (rebuild-macro-output1704 ((lambda (out1705) (if (procedure? out1705) (out1705 (lambda (id1706) (begin (if (not (identifier? id1706)) (syntax-error id1706 '"environment argument is not an identifier") (void)) (lookup290 (id-var-name414 id1706 '(())) r1702)))) out1705)) (p1703 (source-wrap423 e1698 (anti-mark386 w1699) s1701))) (string '#\m))))) (chi-set!467 (lambda (e962 r958 w961 s959 rib960) ((lambda (tmp963) ((lambda (tmp964) (if (if tmp964 (apply (lambda (_967 id965 val966) (id?293 id965)) tmp964) '#f) (apply (lambda (_970 id968 val969) ((lambda (n971) ((lambda (b972) ((lambda (t973) (if (memv t973 '(macro!)) ((lambda (id975 val974) (syntax-type427 (chi-macro468 (binding-value270 b972) (list '#(syntax-object set! ((top) #(ribcage () () ()) #(ribcage #(id val) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage #(_ id val) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s rib) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ()))) id975 val974) r958 '(()) s959 rib960) r958 '(()) s959 rib960)) (wrap422 id968 w961) (wrap422 val969 w961)) (values 'core (lambda (e979 r976 w978 s977) ((lambda (val981 n980) ((lambda (b982) ((lambda (t983) (if (memv t983 '(lexical)) (list 'set! (binding-value270 b982) val981) (if (memv t983 '(global)) (list 'set! (binding-value270 b982) val981) (if (memv t983 '(displaced-lexical)) (syntax-error (wrap422 id968 w978) '"identifier out of context") (syntax-error (source-wrap423 e979 w978 s977)))))) (binding-type269 b982))) (lookup290 n980 r976))) (chi464 val969 r976 w978) (id-var-name414 id968 w978))) e962 w961 s959))) (binding-type269 b972))) (lookup290 n971 r958))) (id-var-name414 id968 w961))) tmp964) ((lambda (_984) (syntax-error (source-wrap423 e962 w961 s959))) tmp963))) ($syntax-dispatch tmp963 '(any any any)))) e962))) (chi-application466 (lambda (x1690 e1686 r1689 w1687 s1688) ((lambda (tmp1691) ((lambda (tmp1692) (if tmp1692 (apply (lambda (e01694 e11693) (cons x1690 (map (lambda (e1696) (chi464 e1696 r1689 w1687)) e11693))) tmp1692) ((lambda (_1697) (syntax-error (source-wrap423 e1686 w1687 s1688))) tmp1691))) ($syntax-dispatch tmp1691 '(any . each-any)))) e1686))) (chi-expr465 (lambda (type990 value985 e989 r986 w988 s987) ((lambda (t991) (if (memv t991 '(lexical)) value985 (if (memv t991 '(core)) (value985 e989 r986 w988 s987) (if (memv t991 '(lexical-call)) (chi-application466 value985 e989 r986 w988 s987) (if (memv t991 '(constant)) (list 'quote (strip482 (source-wrap423 e989 w988 s987) '(()))) (if (memv t991 '(global)) value985 (if (memv t991 '(call)) (chi-application466 (chi464 (car e989) r986 w988) e989 r986 w988 s987) (if (memv t991 '(begin-form)) ((lambda (tmp992) ((lambda (tmp993) (if tmp993 (apply (lambda (_996 e1994 e2995) (chi-sequence424 (cons e1994 e2995) r986 w988 s987)) tmp993) (syntax-error tmp992))) ($syntax-dispatch tmp992 '(any any . each-any)))) e989) (if (memv t991 '(local-syntax-form)) (chi-local-syntax477 value985 e989 r986 w988 s987 chi-sequence424) (if (memv t991 '(eval-when-form)) ((lambda (tmp998) ((lambda (tmp999) (if tmp999 (apply (lambda (_1003 x1000 e11002 e21001) (if (memq 'eval (chi-when-list426 x1000 w988)) (chi-sequence424 (cons e11002 e21001) r986 w988 s987) (chi-void478))) tmp999) (syntax-error tmp998))) ($syntax-dispatch tmp998 '(any each-any any . each-any)))) e989) (if (memv t991 '(define-form define-syntax-form module-form import-form)) (syntax-error (source-wrap423 e989 w988 s987) '"invalid context for definition") (if (memv t991 '(syntax)) (syntax-error (source-wrap423 e989 w988 s987) '"reference to pattern variable outside syntax form") (if (memv t991 '(displaced-lexical)) (displaced-lexical-error287 (source-wrap423 e989 w988 s987)) (syntax-error (source-wrap423 e989 w988 s987))))))))))))))) type990))) (chi464 (lambda (e1680 r1678 w1679) (call-with-values (lambda () (syntax-type427 e1680 r1678 w1679 '#f '#f)) (lambda (type1685 value1681 e1684 w1682 s1683) (chi-expr465 type1685 value1681 e1684 r1678 w1682 s1683))))) (ct-eval/residualize463 (lambda (ctem1007 thunk1006) (if (memq 'e ctem1007) (begin (top-level-eval-hook118 (thunk1006)) (chi-void478)) ((lambda (thunk1008) (if (memq 'r ctem1007) (if ((lambda (t1009) (if t1009 t1009 (memq 'v ctem1007))) (memq 'l ctem1007)) (thunk1008) (thunk1008)) (if ((lambda (t1010) (if t1010 t1010 (memq 'v ctem1007))) (memq 'l ctem1007)) (thunk1008) (chi-void478)))) (if (memq 'c ctem1007) ((lambda (x1011) (begin (top-level-eval-hook118 x1011) (lambda () x1011))) (thunk1006)) thunk1006))))) (rt-eval/residualize462 (lambda (rtem1673 thunk1672) (if (memq 'e rtem1673) (thunk1672) ((lambda (thunk1674) (if (memq 'v rtem1673) (if ((lambda (t1675) (if t1675 t1675 (memq 'r rtem1673))) (memq 'l rtem1673)) (thunk1674) (thunk1674)) (if ((lambda (t1676) (if t1676 t1676 (memq 'r rtem1673))) (memq 'l rtem1673)) (thunk1674) (chi-void478)))) (if (memq 'c rtem1673) ((lambda (x1677) (begin (top-level-eval-hook118 x1677) (lambda () x1677))) (thunk1672)) thunk1672))))) (initial-mode-set461 (lambda (when-list1013 compiling-a-file1012) (apply append (map (lambda (s1014) (if compiling-a-file1012 ((lambda (t1015) (if (memv t1015 '(compile)) '(c) (if (memv t1015 '(load)) '(l) (if (memv t1015 '(visit)) '(v) (if (memv t1015 '(revisit)) '(r) '()))))) s1014) ((lambda (t1016) (if (memv t1016 '(eval)) '(e) '())) s1014))) when-list1013)))) (update-mode-set460 ((lambda (table1666) (lambda (when-list1668 mode-set1667) (remq '- (apply append (map (lambda (m1669) ((lambda (row1670) (map (lambda (s1671) (cdr (assq s1671 row1670))) when-list1668)) (cdr (assq m1669 table1666)))) mode-set1667))))) '((l (load . l) (compile . c) (visit . v) (revisit . r) (eval . -)) (c (load . -) (compile . -) (visit . -) (revisit . -) (eval . c)) (v (load . v) (compile . c) (visit . v) (revisit . -) (eval . -)) (r (load . r) (compile . c) (visit . -) (revisit . r) (eval . -)) (e (load . -) (compile . -) (visit . -) (revisit . -) (eval . e))))) (do-top-import459 (lambda (mid1018 token1017) (list '$sc-put-cte (list 'quote mid1018) (list 'quote (make-binding268 'do-import token1017))))) (vfor-each458 (lambda (fn1662 v1661) ((lambda (len1663) ((letrec ((doloop1664 (lambda (i1665) (if (not (= i1665 len1663)) (begin (fn1662 (vector-ref v1661 i1665)) (doloop1664 (+ i1665 '1))) (void))))) doloop1664) '0)) (vector-length v1661)))) (vmap457 (lambda (fn1020 v1019) ((letrec ((doloop1021 (lambda (i1023 ls1022) (if (< i1023 '0) ls1022 (doloop1021 (- i1023 '1) (cons (fn1020 (vector-ref v1019 i1023)) ls1022)))))) doloop1021) (- (vector-length v1019) '1) '()))) (chi-external456 (lambda (ribcage1579 source-exp1571 body1578 r1572 exports1577 fexports1573 ctem1576 rtem1574 k1575) (letrec ((update-imp-exports1582 (lambda (bindings1656 exports1655) ((lambda (exports1657) (map (lambda (b1658) ((lambda (id1659) (if (not (bound-id-member?421 id1659 exports1657)) b1658 (make-module-binding439 (module-binding-type441 b1658) id1659 (module-binding-label443 b1658) (append (get-implicit-exports1581 id1659) (module-binding-imps444 b1658)) (module-binding-val445 b1658)))) (module-binding-id442 b1658))) bindings1656)) (map (lambda (x1660) (if (pair? x1660) (car x1660) x1660)) exports1655)))) (get-implicit-exports1581 (lambda (id1649) ((letrec ((f1650 (lambda (exports1651) (if (null? exports1651) '() (if (if (pair? (car exports1651)) (bound-id=?417 id1649 (caar exports1651)) '#f) (flatten-exports430 (cdar exports1651)) (f1650 (cdr exports1651))))))) f1650) exports1577))) (return1580 (lambda (bindings1654 ids1652 inits1653) (begin (check-defined-ids455 source-exp1571 ids1652) (check-module-exports454 source-exp1571 fexports1573 ids1652) (k1575 bindings1654 inits1653))))) ((letrec ((parse1583 (lambda (body1587 ids1584 bindings1586 inits1585) (if (null? body1587) (return1580 bindings1586 ids1584 inits1585) ((lambda (e1589 er1588) (call-with-values (lambda () (syntax-type427 e1589 er1588 '(()) '#f ribcage1579)) (lambda (type1594 value1590 e1593 w1591 s1592) ((lambda (t1595) (if (memv t1595 '(define-form)) (parse-define474 e1593 w1591 s1592 (lambda (id1598 rhs1596 w1597) ((lambda (id1599) ((lambda (label1600) ((lambda (imps1601) ((lambda () (begin (extend-ribcage!400 ribcage1579 id1599 label1600) (parse1583 (cdr body1587) (cons id1599 ids1584) (cons (make-module-binding439 type1594 id1599 label1600 imps1601 (cons er1588 (wrap422 rhs1596 w1597))) bindings1586) inits1585))))) (get-implicit-exports1581 id1599))) (gen-indirect-label337))) (wrap422 id1598 w1597)))) (if (memv t1595 '(define-syntax-form)) (parse-define-syntax475 e1593 w1591 s1592 (lambda (id1604 rhs1602 w1603) ((lambda (id1605) ((lambda (label1606) ((lambda (imps1607) ((lambda (exp1608) ((lambda () (begin (extend-store!453 r1572 (get-indirect-label339 label1606) (cons 'deferred exp1608)) (extend-ribcage!400 ribcage1579 id1605 label1606) (parse1583 (cdr body1587) (cons id1605 ids1584) (cons (make-module-binding439 type1594 id1605 label1606 imps1607 exp1608) bindings1586) inits1585))))) (chi464 rhs1602 (transformer-env286 er1588) w1603))) (get-implicit-exports1581 id1605))) (gen-indirect-label337))) (wrap422 id1604 w1603)))) (if (memv t1595 '(module-form)) ((lambda (*ribcage1609) ((lambda (*w1610) ((lambda () (parse-module472 e1593 w1591 s1592 *w1610 (lambda (id1613 *exports1611 forms1612) (chi-external456 *ribcage1609 (source-wrap423 e1593 w1591 s1592) (map (lambda (d1621) (cons er1588 d1621)) forms1612) r1572 *exports1611 (flatten-exports430 *exports1611) ctem1576 rtem1574 (lambda (*bindings1615 *inits1614) ((lambda (iface1616) ((lambda (bindings1617) ((lambda (inits1618) ((lambda () (if id1613 ((lambda (label1620 imps1619) (begin (extend-store!453 r1572 (get-indirect-label339 label1620) (make-binding268 'module iface1616)) (extend-ribcage!400 ribcage1579 id1613 label1620) (parse1583 (cdr body1587) (cons id1613 ids1584) (cons (make-module-binding439 type1594 id1613 label1620 imps1619 *exports1611) bindings1617) inits1618))) (gen-indirect-label337) (get-implicit-exports1581 id1613)) ((lambda () (begin (do-import!471 iface1616 ribcage1579) (parse1583 (cdr body1587) (cons iface1616 ids1584) bindings1617 inits1618)))))))) (append inits1585 *inits1614))) (append (if id1613 *bindings1615 (update-imp-exports1582 *bindings1615 *exports1611)) bindings1586))) (make-trimmed-interface437 *exports1611))))))))) (make-wrap300 (wrap-marks301 w1591) (cons *ribcage1609 (wrap-subst302 w1591))))) (make-ribcage341 '() '() '())) (if (memv t1595 '(import-form)) (parse-import473 e1593 w1591 s1592 (lambda (mid1622) ((lambda (mlabel1623) ((lambda (binding1624) ((lambda (t1625) (if (memv t1625 '(module)) ((lambda (iface1626) (begin (if value1590 (extend-ribcage-barrier!401 ribcage1579 value1590) (void)) (do-import!471 iface1626 ribcage1579) (parse1583 (cdr body1587) (cons iface1626 ids1584) (update-imp-exports1582 bindings1586 (vector->list (interface-exports433 iface1626))) inits1585))) (binding-value270 binding1624)) (if (memv t1625 '(displaced-lexical)) (displaced-lexical-error287 mid1622) (syntax-error mid1622 '"import from unknown module")))) (binding-type269 binding1624))) (lookup290 mlabel1623 r1572))) (id-var-name414 mid1622 '(()))))) (if (memv t1595 '(begin-form)) ((lambda (tmp1627) ((lambda (tmp1628) (if tmp1628 (apply (lambda (_1630 e11629) (parse1583 ((letrec ((f1631 (lambda (forms1632) (if (null? forms1632) (cdr body1587) (cons (cons er1588 (wrap422 (car forms1632) w1591)) (f1631 (cdr forms1632))))))) f1631) e11629) ids1584 bindings1586 inits1585)) tmp1628) (syntax-error tmp1627))) ($syntax-dispatch tmp1627 '(any . each-any)))) e1593) (if (memv t1595 '(eval-when-form)) ((lambda (tmp1634) ((lambda (tmp1635) (if tmp1635 (apply (lambda (_1638 x1636 e11637) (parse1583 (if (memq 'eval (chi-when-list426 x1636 w1591)) ((letrec ((f1640 (lambda (forms1641) (if (null? forms1641) (cdr body1587) (cons (cons er1588 (wrap422 (car forms1641) w1591)) (f1640 (cdr forms1641))))))) f1640) e11637) (cdr body1587)) ids1584 bindings1586 inits1585)) tmp1635) (syntax-error tmp1634))) ($syntax-dispatch tmp1634 '(any each-any . each-any)))) e1593) (if (memv t1595 '(local-syntax-form)) (chi-local-syntax477 value1590 e1593 er1588 w1591 s1592 (lambda (forms1646 er1643 w1645 s1644) (parse1583 ((letrec ((f1647 (lambda (forms1648) (if (null? forms1648) (cdr body1587) (cons (cons er1643 (wrap422 (car forms1648) w1645)) (f1647 (cdr forms1648))))))) f1647) forms1646) ids1584 bindings1586 inits1585))) (return1580 bindings1586 ids1584 (append inits1585 (cons (cons er1588 (source-wrap423 e1593 w1591 s1592)) (cdr body1587)))))))))))) type1594)))) (cdar body1587) (caar body1587)))))) parse1583) body1578 '() '() '())))) (check-defined-ids455 (lambda (source-exp1025 ls1024) (letrec ((id-iface-conflicts1029 (lambda (id1062 iface1060 cls1061) ((lambda (token1063) (if token1063 (if (lookup-import-binding-name404 ((lambda (x1064) ((lambda (e1065) (if (annotation?117 e1065) (annotation-expression e1065) e1065)) (if (syntax-object?241 x1064) (syntax-object-expression242 x1064) x1064))) id1062) token1063 (if (symbol? id1062) (wrap-marks301 '((top))) (wrap-marks301 (syntax-object-wrap243 id1062)))) (cons id1062 cls1061) cls1061) (vfold1027 (interface-exports433 iface1060) (lambda (*id1067 cls1066) (if (b-i=?1026 *id1067 id1062) (cons *id1067 cls1066) cls1066)) cls1061))) (interface-token434 iface1060)))) (conflicts1028 (lambda (x1040 y1038 cls1039) (if (interface?432 x1040) (if (interface?432 y1038) (call-with-values (lambda () ((lambda (xe1046 ye1045) (if (> (vector-length xe1046) (vector-length ye1045)) (values x1040 ye1045) (values y1038 xe1046))) (interface-exports433 x1040) (interface-exports433 y1038))) (lambda (iface1042 exports1041) (vfold1027 exports1041 (lambda (id1044 cls1043) (id-iface-conflicts1029 id1044 iface1042 cls1043)) cls1039))) (id-iface-conflicts1029 y1038 x1040 cls1039)) (if (interface?432 y1038) (id-iface-conflicts1029 x1040 y1038 cls1039) (if (b-i=?1026 x1040 y1038) (cons x1040 cls1039) cls1039))))) (vfold1027 (lambda (v1055 p1053 cls1054) ((lambda (len1056) ((letrec ((lp1057 (lambda (i1059 cls1058) (if (= i1059 len1056) cls1058 (lp1057 (+ i1059 '1) (p1053 (vector-ref v1055 i1059) cls1058)))))) lp1057) '0 cls1054)) (vector-length v1055)))) (b-i=?1026 (lambda (x1048 y1047) (if (symbol? x1048) (if (symbol? y1047) (eq? x1048 y1047) (if (eq? x1048 ((lambda (x1049) ((lambda (e1050) (if (annotation?117 e1050) (annotation-expression e1050) e1050)) (if (syntax-object?241 x1049) (syntax-object-expression242 x1049) x1049))) y1047)) (same-marks?410 (wrap-marks301 (syntax-object-wrap243 y1047)) (wrap-marks301 '((top)))) '#f)) (if (symbol? y1047) (if (eq? y1047 ((lambda (x1051) ((lambda (e1052) (if (annotation?117 e1052) (annotation-expression e1052) e1052)) (if (syntax-object?241 x1051) (syntax-object-expression242 x1051) x1051))) x1048)) (same-marks?410 (wrap-marks301 (syntax-object-wrap243 x1048)) (wrap-marks301 '((top)))) '#f) (bound-id=?417 x1048 y1047)))))) (if (not (null? ls1024)) ((letrec ((lp1030 (lambda (x1033 ls1031 cls1032) (if (null? ls1031) (if (not (null? cls1032)) ((lambda (cls1034) (syntax-error source-exp1025 '"duplicate definition for " (symbol->string (car cls1034)) '" in")) (syntax-object->datum cls1032)) (void)) ((letrec ((lp21035 (lambda (ls21037 cls1036) (if (null? ls21037) (lp1030 (car ls1031) (cdr ls1031) cls1036) (lp21035 (cdr ls21037) (conflicts1028 x1033 (car ls21037) cls1036)))))) lp21035) ls1031 cls1032))))) lp1030) (car ls1024) (cdr ls1024) '()) (void))))) (check-module-exports454 (lambda (source-exp1554 fexports1552 ids1553) (letrec ((defined?1555 (lambda (e1562 ids1561) (ormap (lambda (x1563) (if (interface?432 x1563) ((lambda (token1564) (if token1564 (lookup-import-binding-name404 ((lambda (x1565) ((lambda (e1566) (if (annotation?117 e1566) (annotation-expression e1566) e1566)) (if (syntax-object?241 x1565) (syntax-object-expression242 x1565) x1565))) e1562) token1564 (wrap-marks301 (syntax-object-wrap243 e1562))) ((lambda (v1567) ((letrec ((lp1568 (lambda (i1569) (if (>= i1569 '0) ((lambda (t1570) (if t1570 t1570 (lp1568 (- i1569 '1)))) (bound-id=?417 e1562 (vector-ref v1567 i1569))) '#f)))) lp1568) (- (vector-length v1567) '1))) (interface-exports433 x1563)))) (interface-token434 x1563)) (bound-id=?417 e1562 x1563))) ids1561)))) ((letrec ((loop1556 (lambda (fexports1558 missing1557) (if (null? fexports1558) (if (not (null? missing1557)) (syntax-error missing1557 '"missing definition for export(s)") (void)) ((lambda (e1560 fexports1559) (if (defined?1555 e1560 ids1553) (loop1556 fexports1559 missing1557) (loop1556 fexports1559 (cons e1560 missing1557)))) (car fexports1558) (cdr fexports1558)))))) loop1556) fexports1552 '())))) (extend-store!453 (lambda (r1070 label1068 binding1069) (set-cdr! r1070 (extend-env283 label1068 binding1069 (cdr r1070))))) (id-set-diff452 (lambda (exports1551 defs1550) (if (null? exports1551) '() (if (bound-id-member?421 (car exports1551) defs1550) (id-set-diff452 (cdr exports1551) defs1550) (cons (car exports1551) (id-set-diff452 (cdr exports1551) defs1550)))))) (chi-top-module451 (lambda (e1080 r1071 ribcage1079 w1072 s1078 ctem1073 rtem1077 id1074 exports1076 forms1075) ((lambda (fexports1081) (chi-external456 ribcage1079 (source-wrap423 e1080 w1072 s1078) (map (lambda (d1144) (cons r1071 d1144)) forms1075) r1071 exports1076 fexports1081 ctem1073 rtem1077 (lambda (bindings1083 inits1082) ((letrec ((partition1084 (lambda (fexports1089 bs1085 svs1088 ses1086 ctdefs1087) (if (null? fexports1089) ((letrec ((partition1090 (lambda (bs1093 dvs1091 des1092) (if (null? bs1093) ((lambda (ses1096 des1094 inits1095) (begin (for-each (lambda (x1112) (apply (lambda (t1116 label1113 sym1115 val1114) (if label1113 (set-indirect-label!340 label1113 sym1115) (void))) x1112)) ctdefs1087) (build-sequence227 '#f (list (ct-eval/residualize463 ctem1073 (lambda () (if (null? ctdefs1087) (chi-void478) (build-sequence227 '#f (map (lambda (x1107) (apply (lambda (t1111 label1108 sym1110 val1109) (list '$sc-put-cte (list 'quote sym1110) (if (eq? t1111 'define-syntax-form) val1109 (list 'quote (make-binding268 'module (make-resolved-interface438 val1109 sym1110)))))) x1107)) ctdefs1087))))) (ct-eval/residualize463 ctem1073 (lambda () ((lambda (n1097) ((lambda (token1098) ((lambda (b1099) ((lambda () (if n1097 (list '$sc-put-cte (list 'quote (if (same-marks?410 (wrap-marks301 (syntax-object-wrap243 id1074)) (wrap-marks301 '((top)))) n1097 ((lambda (marks1100) (make-syntax-object240 n1097 (make-wrap300 marks1100 (list (make-ribcage341 (vector n1097) (vector marks1100) (vector (generate-id128 n1097))))))) (wrap-marks301 (syntax-object-wrap243 id1074))))) b1099) ((lambda (n1101) (build-sequence227 '#f (list (list '$sc-put-cte (list 'quote n1101) b1099) (do-top-import459 n1101 token1098)))) (generate-id128 'tmp)))))) (list 'quote (make-binding268 'module (make-resolved-interface438 exports1076 token1098))))) (generate-id128 n1097))) (if id1074 ((lambda (x1102) ((lambda (e1103) (if (annotation?117 e1103) (annotation-expression e1103) e1103)) (if (syntax-object?241 x1102) (syntax-object-expression242 x1102) x1102))) id1074) '#f)))) (if (null? svs1088) (chi-void478) (build-sequence227 '#f (map (lambda (v1106) (list 'define v1106 (chi-void478))) svs1088))) (build-letrec228 '#f dvs1091 des1094 (build-sequence227 '#f (list (if (null? svs1088) (chi-void478) (build-sequence227 '#f (map (lambda (v1105 e1104) (list 'set! v1105 e1104)) svs1088 ses1096))) (if (null? inits1095) (chi-void478) (build-sequence227 '#f inits1095))))) (chi-void478))))) (map (lambda (x1119) (chi464 (cdr x1119) (car x1119) '(()))) ses1086) (map (lambda (x1117) (chi464 (cdr x1117) (car x1117) '(()))) des1092) (map (lambda (x1118) (chi464 (cdr x1118) (car x1118) '(()))) inits1082)) ((lambda (b1120) ((lambda (t1121) (if (memv t1121 '(define-form)) ((lambda (var1122) (begin (extend-store!453 r1071 (get-indirect-label339 (module-binding-label443 b1120)) (make-binding268 'lexical var1122)) (partition1090 (cdr bs1093) (cons var1122 dvs1091) (cons (module-binding-val445 b1120) des1092)))) (gen-var483 (module-binding-id442 b1120))) (if (memv t1121 '(define-syntax-form module-form)) (partition1090 (cdr bs1093) dvs1091 des1092) (error 'sc-expand-internal '"unexpected module binding type")))) (module-binding-type441 b1120))) (car bs1093)))))) partition1090) bs1085 '() '()) ((lambda (id1124 fexports1123) (letrec ((pluck-binding1125 (lambda (id1140 bs1137 succ1139 fail1138) ((letrec ((loop1141 (lambda (bs1143 new-bs1142) (if (null? bs1143) (fail1138) (if (bound-id=?417 (module-binding-id442 (car bs1143)) id1140) (succ1139 (car bs1143) (smart-append407 (reverse new-bs1142) (cdr bs1143))) (loop1141 (cdr bs1143) (cons (car bs1143) new-bs1142))))))) loop1141) bs1137 '())))) (pluck-binding1125 id1124 bs1085 (lambda (b1127 bs1126) ((lambda (t1130 label1128 imps1129) ((lambda (fexports1132 sym1131) ((lambda (t1133) (if (memv t1133 '(define-form)) (begin (set-indirect-label!340 label1128 sym1131) (partition1084 fexports1132 bs1126 (cons sym1131 svs1088) (cons (module-binding-val445 b1127) ses1086) ctdefs1087)) (if (memv t1133 '(define-syntax-form)) (partition1084 fexports1132 bs1126 svs1088 ses1086 (cons (list t1130 label1128 sym1131 (module-binding-val445 b1127)) ctdefs1087)) (if (memv t1133 '(module-form)) ((lambda (exports1134) (partition1084 (append (flatten-exports430 exports1134) fexports1132) bs1126 svs1088 ses1086 (cons (list t1130 label1128 sym1131 exports1134) ctdefs1087))) (module-binding-val445 b1127)) (error 'sc-expand-internal '"unexpected module binding type"))))) t1130)) (append imps1129 fexports1123) (generate-id128 ((lambda (x1135) ((lambda (e1136) (if (annotation?117 e1136) (annotation-expression e1136) e1136)) (if (syntax-object?241 x1135) (syntax-object-expression242 x1135) x1135))) id1124)))) (module-binding-type441 b1127) (module-binding-label443 b1127) (module-binding-imps444 b1127))) (lambda () (partition1084 fexports1123 bs1085 svs1088 ses1086 ctdefs1087))))) (car fexports1089) (cdr fexports1089)))))) partition1084) fexports1081 bindings1083 '() '() '())))) (flatten-exports430 exports1076)))) (set-module-binding-val!450 (lambda (x1549 update1548) (vector-set! x1549 '5 update1548))) (set-module-binding-imps!449 (lambda (x1146 update1145) (vector-set! x1146 '4 update1145))) (set-module-binding-label!448 (lambda (x1547 update1546) (vector-set! x1547 '3 update1546))) (set-module-binding-id!447 (lambda (x1148 update1147) (vector-set! x1148 '2 update1147))) (set-module-binding-type!446 (lambda (x1545 update1544) (vector-set! x1545 '1 update1544))) (module-binding-val445 (lambda (x1149) (vector-ref x1149 '5))) (module-binding-imps444 (lambda (x1543) (vector-ref x1543 '4))) (module-binding-label443 (lambda (x1150) (vector-ref x1150 '3))) (module-binding-id442 (lambda (x1542) (vector-ref x1542 '2))) (module-binding-type441 (lambda (x1151) (vector-ref x1151 '1))) (module-binding?440 (lambda (x1541) (if (vector? x1541) (if (= (vector-length x1541) '6) (eq? (vector-ref x1541 '0) 'module-binding) '#f) '#f))) (make-module-binding439 (lambda (type1156 id1152 label1155 imps1153 val1154) (vector 'module-binding type1156 id1152 label1155 imps1153 val1154))) (make-resolved-interface438 (lambda (exports1539 import-token1538) (make-interface431 (list->vector (map (lambda (x1540) (make-trimmed-syntax-object406 (if (pair? x1540) (car x1540) x1540))) exports1539)) import-token1538))) (make-trimmed-interface437 (lambda (exports1157) (make-interface431 (list->vector (map (lambda (x1158) (if (pair? x1158) (car x1158) x1158)) exports1157)) '#f))) (set-interface-token!436 (lambda (x1537 update1536) (vector-set! x1537 '2 update1536))) (set-interface-exports!435 (lambda (x1160 update1159) (vector-set! x1160 '1 update1159))) (interface-token434 (lambda (x1535) (vector-ref x1535 '2))) (interface-exports433 (lambda (x1161) (vector-ref x1161 '1))) (interface?432 (lambda (x1534) (if (vector? x1534) (if (= (vector-length x1534) '3) (eq? (vector-ref x1534 '0) 'interface) '#f) '#f))) (make-interface431 (lambda (exports1163 token1162) (vector 'interface exports1163 token1162))) (flatten-exports430 (lambda (exports1530) ((letrec ((loop1531 (lambda (exports1533 ls1532) (if (null? exports1533) ls1532 (loop1531 (cdr exports1533) (if (pair? (car exports1533)) (loop1531 (car exports1533) ls1532) (cons (car exports1533) ls1532))))))) loop1531) exports1530 '()))) (chi-top429 (lambda (e1169 r1164 w1168 ctem1165 rtem1167 top-ribcage1166) (call-with-values (lambda () (syntax-type427 e1169 r1164 w1168 '#f top-ribcage1166)) (lambda (type1174 value1170 e1173 w1171 s1172) ((lambda (t1175) (if (memv t1175 '(begin-form)) ((lambda (tmp1176) ((lambda (tmp1177) (if tmp1177 (apply (lambda (_1178) (chi-void478)) tmp1177) ((lambda (tmp1179) (if tmp1179 (apply (lambda (_1182 e11180 e21181) (chi-top-sequence425 (cons e11180 e21181) r1164 w1171 s1172 ctem1165 rtem1167 top-ribcage1166)) tmp1179) (syntax-error tmp1176))) ($syntax-dispatch tmp1176 '(any any . each-any))))) ($syntax-dispatch tmp1176 '(any)))) e1173) (if (memv t1175 '(local-syntax-form)) (chi-local-syntax477 value1170 e1173 r1164 w1171 s1172 (lambda (body1187 r1184 w1186 s1185) (chi-top-sequence425 body1187 r1184 w1186 s1185 ctem1165 rtem1167 top-ribcage1166))) (if (memv t1175 '(eval-when-form)) ((lambda (tmp1188) ((lambda (tmp1189) (if tmp1189 (apply (lambda (_1193 x1190 e11192 e21191) ((lambda (when-list1195 body1194) ((lambda (ctem1197 rtem1196) (if (if (null? ctem1197) (null? rtem1196) '#f) (chi-void478) (chi-top-sequence425 body1194 r1164 w1171 s1172 ctem1197 rtem1196 top-ribcage1166))) (update-mode-set460 when-list1195 ctem1165) (update-mode-set460 when-list1195 rtem1167))) (chi-when-list426 x1190 w1171) (cons e11192 e21191))) tmp1189) (syntax-error tmp1188))) ($syntax-dispatch tmp1188 '(any each-any any . each-any)))) e1173) (if (memv t1175 '(define-syntax-form)) (parse-define-syntax475 e1173 w1171 s1172 (lambda (id1202 rhs1200 w1201) ((lambda (id1203) (begin ((lambda (n1208) ((lambda (b1209) ((lambda (t1210) (if (memv t1210 '(displaced-lexical)) (displaced-lexical-error287 id1203) (void))) (binding-type269 b1209))) (lookup290 n1208 r1164))) (id-var-name414 id1203 '(()))) (ct-eval/residualize463 ctem1165 (lambda () (list '$sc-put-cte (list 'quote ((lambda (sym1204) (if (same-marks?410 (wrap-marks301 (syntax-object-wrap243 id1203)) (wrap-marks301 '((top)))) sym1204 ((lambda (marks1205) (make-syntax-object240 sym1204 (make-wrap300 marks1205 (list (make-ribcage341 (vector sym1204) (vector marks1205) (vector (generate-id128 sym1204))))))) (wrap-marks301 (syntax-object-wrap243 id1203))))) ((lambda (x1206) ((lambda (e1207) (if (annotation?117 e1207) (annotation-expression e1207) e1207)) (if (syntax-object?241 x1206) (syntax-object-expression242 x1206) x1206))) id1203))) (chi464 rhs1200 (transformer-env286 r1164) w1201)))))) (wrap422 id1202 w1201)))) (if (memv t1175 '(define-form)) (parse-define474 e1173 w1171 s1172 (lambda (id1213 rhs1211 w1212) ((lambda (id1214) (begin ((lambda (n1220) ((lambda (b1221) ((lambda (t1222) (if (memv t1222 '(displaced-lexical)) (displaced-lexical-error287 id1214) (void))) (binding-type269 b1221))) (lookup290 n1220 r1164))) (id-var-name414 id1214 '(()))) ((lambda (sym1215) ((lambda (valsym1216) (build-sequence227 '#f (list (ct-eval/residualize463 ctem1165 (lambda () (list '$sc-put-cte (list 'quote (if (eq? sym1215 valsym1216) sym1215 ((lambda (marks1217) (make-syntax-object240 sym1215 (make-wrap300 marks1217 (list (make-ribcage341 (vector sym1215) (vector marks1217) (vector valsym1216)))))) (wrap-marks301 (syntax-object-wrap243 id1214))))) (list 'quote (make-binding268 'global valsym1216))))) (rt-eval/residualize462 rtem1167 (lambda () (list 'define valsym1216 (chi464 rhs1211 r1164 w1212))))))) (if (same-marks?410 (wrap-marks301 (syntax-object-wrap243 id1214)) (wrap-marks301 '((top)))) sym1215 (generate-id128 sym1215)))) ((lambda (x1218) ((lambda (e1219) (if (annotation?117 e1219) (annotation-expression e1219) e1219)) (if (syntax-object?241 x1218) (syntax-object-expression242 x1218) x1218))) id1214)))) (wrap422 id1213 w1212)))) (if (memv t1175 '(module-form)) ((lambda (r1224 ribcage1223) (parse-module472 e1173 w1171 s1172 (make-wrap300 (wrap-marks301 w1171) (cons ribcage1223 (wrap-subst302 w1171))) (lambda (id1227 exports1225 forms1226) (if id1227 (begin ((lambda (n1228) ((lambda (b1229) ((lambda (t1230) (if (memv t1230 '(displaced-lexical)) (displaced-lexical-error287 (wrap422 id1227 w1171)) (void))) (binding-type269 b1229))) (lookup290 n1228 r1224))) (id-var-name414 id1227 '(()))) (chi-top-module451 e1173 r1224 ribcage1223 w1171 s1172 ctem1165 rtem1167 id1227 exports1225 forms1226)) (chi-top-module451 e1173 r1224 ribcage1223 w1171 s1172 ctem1165 rtem1167 '#f exports1225 forms1226))))) (cons '("top-level module placeholder" placeholder) r1164) (make-ribcage341 '() '() '())) (if (memv t1175 '(import-form)) (parse-import473 e1173 w1171 s1172 (lambda (mid1231) (ct-eval/residualize463 ctem1165 (lambda () (begin (if value1170 (syntax-error (source-wrap423 e1173 w1171 s1172) '"not valid at top-level") (void)) ((lambda (binding1232) ((lambda (t1233) (if (memv t1233 '(module)) (do-top-import459 mid1231 (interface-token434 (binding-value270 binding1232))) (if (memv t1233 '(displaced-lexical)) (displaced-lexical-error287 mid1231) (syntax-error mid1231 '"import from unknown module")))) (binding-type269 binding1232))) (lookup290 (id-var-name414 mid1231 '(())) '()))))))) (rt-eval/residualize462 rtem1167 (lambda () (chi-expr465 type1174 value1170 e1173 r1164 w1171 s1172))))))))))) type1174))))) (chi-top-expr428 (lambda (e1524 r1521 w1523 top-ribcage1522) (call-with-values (lambda () (syntax-type427 e1524 r1521 w1523 '#f top-ribcage1522)) (lambda (type1529 value1525 e1528 w1526 s1527) (chi-expr465 type1529 value1525 e1528 r1521 w1526 s1527))))) (syntax-type427 (lambda (e1238 r1234 w1237 s1235 rib1236) (if (symbol? e1238) ((lambda (n1239) ((lambda (b1240) ((lambda (type1241) ((lambda () ((lambda (t1242) (if (memv t1242 '(lexical)) (values type1241 (binding-value270 b1240) e1238 w1237 s1235) (if (memv t1242 '(global)) (values type1241 (binding-value270 b1240) e1238 w1237 s1235) (if (memv t1242 '(macro macro!)) (syntax-type427 (chi-macro468 (binding-value270 b1240) e1238 r1234 w1237 s1235 rib1236) r1234 '(()) '#f rib1236) (values type1241 (binding-value270 b1240) e1238 w1237 s1235))))) type1241)))) (binding-type269 b1240))) (lookup290 n1239 r1234))) (id-var-name414 e1238 w1237)) (if (pair? e1238) ((lambda (first1243) (if (id?293 first1243) ((lambda (n1244) ((lambda (b1245) ((lambda (type1246) ((lambda () ((lambda (t1247) (if (memv t1247 '(lexical)) (values 'lexical-call (binding-value270 b1245) e1238 w1237 s1235) (if (memv t1247 '(macro macro!)) (syntax-type427 (chi-macro468 (binding-value270 b1245) e1238 r1234 w1237 s1235 rib1236) r1234 '(()) '#f rib1236) (if (memv t1247 '(core)) (values type1246 (binding-value270 b1245) e1238 w1237 s1235) (if (memv t1247 '(local-syntax)) (values 'local-syntax-form (binding-value270 b1245) e1238 w1237 s1235) (if (memv t1247 '(begin)) (values 'begin-form '#f e1238 w1237 s1235) (if (memv t1247 '(eval-when)) (values 'eval-when-form '#f e1238 w1237 s1235) (if (memv t1247 '(define)) (values 'define-form '#f e1238 w1237 s1235) (if (memv t1247 '(define-syntax)) (values 'define-syntax-form '#f e1238 w1237 s1235) (if (memv t1247 '(module-key)) (values 'module-form '#f e1238 w1237 s1235) (if (memv t1247 '(import)) (values 'import-form (if (binding-value270 b1245) (wrap422 first1243 w1237) '#f) e1238 w1237 s1235) (if (memv t1247 '(set!)) (chi-set!467 e1238 r1234 w1237 s1235 rib1236) (values 'call '#f e1238 w1237 s1235))))))))))))) type1246)))) (binding-type269 b1245))) (lookup290 n1244 r1234))) (id-var-name414 first1243 w1237)) (values 'call '#f e1238 w1237 s1235))) (car e1238)) (if (syntax-object?241 e1238) (syntax-type427 (syntax-object-expression242 e1238) r1234 (join-wraps408 w1237 (syntax-object-wrap243 e1238)) '#f rib1236) (if (annotation?117 e1238) (syntax-type427 (annotation-expression e1238) r1234 w1237 (annotation-source e1238) rib1236) (if ((lambda (x1248) ((lambda (t1249) (if t1249 t1249 ((lambda (t1250) (if t1250 t1250 ((lambda (t1251) (if t1251 t1251 ((lambda (t1252) (if t1252 t1252 (null? x1248))) (char? x1248)))) (string? x1248)))) (number? x1248)))) (boolean? x1248))) e1238) (values 'constant '#f e1238 w1237 s1235) (values 'other '#f e1238 w1237 s1235)))))))) (chi-when-list426 (lambda (when-list1519 w1518) (map (lambda (x1520) (if (literal-id=?416 x1520 '#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ())))) 'compile (if (literal-id=?416 x1520 '#(syntax-object load ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ())))) 'load (if (literal-id=?416 x1520 '#(syntax-object visit ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ())))) 'visit (if (literal-id=?416 x1520 '#(syntax-object revisit ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ())))) 'revisit (if (literal-id=?416 x1520 '#(syntax-object eval ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-define-syntax parse-define parse-import parse-module do-import! chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi ct-eval/residualize rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports extend-store! id-set-diff chi-top-module set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-trimmed-interface set-interface-token! set-interface-exports! interface-token interface-exports interface? make-interface flatten-exports chi-top chi-top-expr syntax-type chi-when-list chi-top-sequence chi-sequence source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks same-marks? join-marks join-wraps smart-append make-trimmed-syntax-object make-binding-wrap lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! extend-ribcage! make-empty-ribcage import-token-key import-token? make-import-token barrier-marker new-mark anti-mark the-anti-mark only-top-marked? top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage set-indirect-label! get-indirect-label indirect-label? gen-indirect-label gen-labels label? 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 sanitize-binding lookup* displaced-lexical-error transformer-env extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? build-lexical-var build-letrec build-sequence build-data build-primref build-lambda build-revisit-only build-visit-only build-cte-install build-module-definition build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id get-import-binding get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ noexpand define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage ((import-token . *top*)) () ()) #(ribcage ((import-token . *top*)) () ())))) 'eval (syntax-error (wrap422 x1520 w1518) '"invalid eval-when situation"))))))) when-list1519))) (chi-top-sequence425 (lambda (body1259 r1253 w1258 s1254 ctem1257 rtem1255 ribcage1256) (build-sequence227 s1254 ((letrec ((dobody1260 (lambda (body1265 r1261 w1264 ctem1262 rtem1263) (if (null? body1265) '() ((lambda (first1266) (cons first1266 (dobody1260 (cdr body1265) r1261 w1264 ctem1262 rtem1263))) (chi-top429 (car body1265) r1261 w1264 ctem1262 rtem1263 ribcage1256)))))) dobody1260) body1259 r1253 w1258 ctem1257 rtem1255)))) (chi-sequence424 (lambda (body1512 r1509 w1511 s1510) (build-sequence227 s1510 ((letrec ((dobody1513 (lambda (body1516 r1514 w1515) (if (null? body1516) '() ((lambda (first1517) (cons first1517 (dobody1513 (cdr body1516) r1514 w1515))) (chi464 (car body1516) r1514 w1515)))))) dobody1513) body1512 r1509 w1511)))) (source-wrap423 (lambda (x1269 w1267 s1268) (wrap422 (if s1268 (make-annotation x1269 s1268 '#f) x1269) w1267))) (wrap422 (lambda (x1508 w1507) (if (if (null? (wrap-marks301 w1507)) (null? (wrap-subst302 w1507)) '#f) x1508 (if (syntax-object?241 x1508) (make-syntax-object240 (syntax-object-expression242 x1508) (join-wraps408 w1507 (syntax-object-wrap243 x1508))) (if (null? x1508) x1508 (make-syntax-object240 x1508 w1507)))))) (bound-id-member?421 (lambda (x1271 list1270) (if (not (null? list1270)) ((lambda (t1272) (if t1272 t1272 (bound-id-member?421 x1271 (cdr list1270)))) (bound-id=?417 x1271 (car list1270))) '#f))) (invalid-ids-error420 (lambda (ids1503 exp1501 class1502) ((letrec ((find1504 (lambda (ids1506 gooduns1505) (if (null? ids1506) (syntax-error exp1501) (if (id?293 (car ids1506)) (if (bound-id-member?421 (car ids1506) gooduns1505) (syntax-error (car ids1506) '"duplicate " class1502) (find1504 (cdr ids1506) (cons (car ids1506) gooduns1505))) (syntax-error (car ids1506) '"invalid " class1502)))))) find1504) ids1503 '()))) (distinct-bound-ids?419 (lambda (ids1273) ((letrec ((distinct?1274 (lambda (ids1275) ((lambda (t1276) (if t1276 t1276 (if (not (bound-id-member?421 (car ids1275) (cdr ids1275))) (distinct?1274 (cdr ids1275)) '#f))) (null? ids1275))))) distinct?1274) ids1273))) (valid-bound-ids?418 (lambda (ids1497) (if ((letrec ((all-ids?1498 (lambda (ids1499) ((lambda (t1500) (if t1500 t1500 (if (id?293 (car ids1499)) (all-ids?1498 (cdr ids1499)) '#f))) (null? ids1499))))) all-ids?1498) ids1497) (distinct-bound-ids?419 ids1497) '#f))) (bound-id=?417 (lambda (i1278 j1277) (if (if (syntax-object?241 i1278) (syntax-object?241 j1277) '#f) (if (eq? ((lambda (e1280) (if (annotation?117 e1280) (annotation-expression e1280) e1280)) (syntax-object-expression242 i1278)) ((lambda (e1279) (if (annotation?117 e1279) (annotation-expression e1279) e1279)) (syntax-object-expression242 j1277))) (same-marks?410 (wrap-marks301 (syntax-object-wrap243 i1278)) (wrap-marks301 (syntax-object-wrap243 j1277))) '#f) (eq? ((lambda (e1282) (if (annotation?117 e1282) (annotation-expression e1282) e1282)) i1278) ((lambda (e1281) (if (annotation?117 e1281) (annotation-expression e1281) e1281)) j1277))))) (literal-id=?416 (lambda (id1487 literal1486) (if (eq? ((lambda (x1490) ((lambda (e1491) (if (annotation?117 e1491) (annotation-expression e1491) e1491)) (if (syntax-object?241 x1490) (syntax-object-expression242 x1490) x1490))) id1487) ((lambda (x1488) ((lambda (e1489) (if (annotation?117 e1489) (annotation-expression e1489) e1489)) (if (syntax-object?241 x1488) (syntax-object-expression242 x1488) x1488))) literal1486)) ((lambda (n-id1493 n-literal1492) ((lambda (t1494) (if t1494 t1494 (if ((lambda (t1495) (if t1495 t1495 (symbol? n-id1493))) (not n-id1493)) ((lambda (t1496) (if t1496 t1496 (symbol? n-literal1492))) (not n-literal1492)) '#f))) (eq? n-id1493 n-literal1492))) (id-var-name414 id1487 '(())) (id-var-name414 literal1486 '(()))) '#f))) (free-id=?415 (lambda (i1284 j1283) (if (eq? ((lambda (x1287) ((lambda (e1288) (if (annotation?117 e1288) (annotation-expression e1288) e1288)) (if (syntax-object?241 x1287) (syntax-object-expression242 x1287) x1287))) i1284) ((lambda (x1285) ((lambda (e1286) (if (annotation?117 e1286) (annotation-expression e1286) e1286)) (if (syntax-object?241 x1285) (syntax-object-expression242 x1285) x1285))) j1283)) (eq? (id-var-name414 i1284 '(())) (id-var-name414 j1283 '(()))) '#f))) (id-var-name414 (lambda (id1483 w1482) (call-with-values (lambda () (id-var-name-loc&marks411 id1483 w1482)) (lambda (label1485 marks1484) (if (indirect-label?338 label1485) (get-indirect-label339 label1485) label1485))))) (id-var-name-loc413 (lambda (id1290 w1289) (call-with-values (lambda () (id-var-name-loc&marks411 id1290 w1289)) (lambda (label1292 marks1291) label1292)))) (id-var-name&marks412 (lambda (id1479 w1478) (call-with-values (lambda () (id-var-name-loc&marks411 id1479 w1478)) (lambda (label1481 marks1480) (values (if (indirect-label?338 label1481) (get-indirect-label339 label1481) label1481) marks1480))))) (id-var-name-loc&marks411 (lambda (id1294 w1293) (letrec ((search-vector-rib1297 (lambda (sym1324 subst1320 marks1323 symnames1321 ribcage1322) ((lambda (n1325) ((letrec ((f1326 (lambda (i1327) (if (= i1327 n1325) (search1295 sym1324 (cdr subst1320) marks1323) (if (if (eq? (vector-ref symnames1321 i1327) sym1324) (same-marks?410 marks1323 (vector-ref (ribcage-marks344 ribcage1322) i1327)) '#f)