From 608fb8063a2779097fcfb6dde4b43ce2daf2db08 Mon Sep 17 00:00:00 2001 From: ESL Date: Sun, 30 Jun 2024 14:37:22 -0400 Subject: [PATCH] compiler fixes around 'once' glider runs when used inside (body)! --- src/t.scm | 31 +++-- t.c | 342 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 200 insertions(+), 173 deletions(-) diff --git a/src/t.scm b/src/t.scm index 707a61e..23a4efb 100644 --- a/src/t.scm +++ b/src/t.scm @@ -748,8 +748,8 @@ (if (null? files) (cons begin-id (apply append (reverse! exp-lists))) (let* ([filepath (file-resolve-relative-to-current (car files))] - [sexps (read-file-sexps filepath ci?)] - [wrapped-sexps `((,push-cf-id ,filepath) ,@sexps (,pop-cf-id))]) + [sexps (read-file-sexps filepath ci?)] + [wrapped-sexps `((,push-cf-id ,filepath) ,@sexps (,pop-cf-id))]) (loop (cdr files) (cons wrapped-sexps exp-lists))))))) @@ -870,6 +870,10 @@ (record-case x [quote (obj) '()] + [gref (gid) + '()] + [gset! (gid exp) + (find-free exp b)] [(ref const) (id) (if (set-member? id b) '() (list id))] [set! (id exp) @@ -916,12 +920,16 @@ (record-case x [quote (obj) '()] + [gref (gid) + '()] + [gset! (gid exp) + (find-sets exp v)] [(ref const) (id) '()] - [set! (id x) + [set! (id exp) (set-union (if (set-member? id v) (list id) '()) - (find-sets x v))] + (find-sets exp v))] [set& (id) (if (set-member? id v) (list id) '())] [lambda (idsi exp) @@ -945,7 +953,7 @@ [asm (cstr) '()] [once (gid exp) - (find-sets exp)] + (find-sets exp v)] [(define define-syntax) tail (c-error "misplaced definition form" x)]))) @@ -966,6 +974,15 @@ [(()) (write-char #\n port)] [else (write-char #\' port) (write-serialized-arg obj port)]) (when k (write-char #\] port) (write-serialized-arg k port))] + [gref (gid) + (write-char #\@ port) + (write-serialized-arg gid port) + (when k (write-char #\] port) (write-serialized-arg k port))] + [gset! (gid x) + (codegen x l f s g #f port) + (write-char #\@ port) (write-char #\! port) + (write-serialized-arg gid port) + (when k (write-char #\] port) (write-serialized-arg k port))] [(ref const) (id) (cond [(posq id l) => ; local (lambda (n) @@ -1231,9 +1248,9 @@ (write-string cstr port) (when k (write-char #\] port) (write-serialized-arg k port))] [once (gid exp) - (codegen `(if (integrable ,(lookup-integrable 'eq?) (ref ,gid) (quote #t)) + (codegen `(if (integrable ,(lookup-integrable 'eq?) (gref ,gid) (quote #t)) (begin) - (begin (set! ,gid (quote #t)) ,exp)) + (begin (gset! ,gid (quote #t)) ,exp)) l f s g k port)] [(define define-syntax) tail (c-error "misplaced definition form" x)]))) diff --git a/t.c b/t.c index 2051264..742214f 100644 --- a/t.c +++ b/t.c @@ -465,183 +465,193 @@ char *t_code[] = { ",@(y9:set-union)[22", "P", "find-free", - "%2'(y5:quote),.1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(l2:y3:ref;" - "y5:const;),.1aA0?{.0d,.2,&1{%1${:0,.3,@(y11:set-member?)[02}?{n]1}.0,l" - "1]1},@(y13:apply-to-list)[22}'(y4:set!),.1aq?{.0d,.2,&1{%2${:0,.4,@(y9" - ":find-free)[02},${:0,.4,@(y11:set-member?)[02}?{n}{.1,l1},@(y9:set-uni" - "on)[22},@(y13:apply-to-list)[22}'(y4:set&),.1aq?{.0d,.2,&1{%1${:0,.3,@" - "(y11:set-member?)[02}?{n]1}.0,l1]1},@(y13:apply-to-list)[22}'(y6:lambd" - "a),.1aq?{.0d,.2,&1{%2${:0,${.5,@(y15:flatten-idslist)[01},@(y9:set-uni" - "on)[02},.2,@(y9:find-free)[22},@(y13:apply-to-list)[22}'(y7:lambda*),." - "1aq?{.0d,.2,&1{%!0:0,${.3,@(y4:cadr),@(y5:%25map1)[02},@(y10:find-free" - "*)[12},@(y13:apply-to-list)[22}'(y5:letcc),.1aq?{.0d,.2,&1{%2${:0,.3,l" - "1,@(y9:set-union)[02},.2,@(y9:find-free)[22},@(y13:apply-to-list)[22}'" - "(y6:withcc),.1aq?{.0d,.2,&1{%2${:0,.4,@(y9:find-free)[02},${:0,.4,@(y9" - ":find-free)[02},@(y9:set-union)[22},@(y13:apply-to-list)[22}'(y2:if),." - "1aq?{.0d,.2,&1{%3${${:0,.7,@(y9:find-free)[02},${:0,.7,@(y9:find-free)" - "[02},@(y9:set-union)[02},${:0,.4,@(y9:find-free)[02},@(y9:set-union)[3" - "2},@(y13:apply-to-list)[22}'(y5:begin),.1aq?{.0d,.2,&1{%!0:0,.1,@(y10:" - "find-free*)[12},@(y13:apply-to-list)[22}'(y10:integrable),.1aq?{.0d,.2" - ",&1{%!1:0,.1,@(y10:find-free*)[22},@(y13:apply-to-list)[22}'(y4:call)," - ".1aq?{.0d,.2,&1{%!1${:0,.3,@(y10:find-free*)[02},${:0,.5,@(y9:find-fre" - "e)[02},@(y9:set-union)[22},@(y13:apply-to-list)[22}'(y3:asm),.1aq?{.0d" - ",&0{%1n]1},@(y13:apply-to-list)[22}'(y4:once),.1aq?{.0d,.2,&1{%2:0,.2," - "@(y9:find-free)[22},@(y13:apply-to-list)[22}'(l2:y6:define;y13:define-" - "syntax;),.1aA0?{.0d,.1,&1{%!0:0,'(s25:misplaced definition form),@(y7:" - "c-error)[12},@(y13:apply-to-list)[22}'(y16:record-case-miss)]2", + "%2'(y5:quote),.1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y4:gref),." + "1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y5:gset!),.1aq?{.0d,.2,&1" + "{%2:0,.2,@(y9:find-free)[22},@(y13:apply-to-list)[22}'(l2:y3:ref;y5:co" + "nst;),.1aA0?{.0d,.2,&1{%1${:0,.3,@(y11:set-member?)[02}?{n]1}.0,l1]1}," + "@(y13:apply-to-list)[22}'(y4:set!),.1aq?{.0d,.2,&1{%2${:0,.4,@(y9:find" + "-free)[02},${:0,.4,@(y11:set-member?)[02}?{n}{.1,l1},@(y9:set-union)[2" + "2},@(y13:apply-to-list)[22}'(y4:set&),.1aq?{.0d,.2,&1{%1${:0,.3,@(y11:" + "set-member?)[02}?{n]1}.0,l1]1},@(y13:apply-to-list)[22}'(y6:lambda),.1" + "aq?{.0d,.2,&1{%2${:0,${.5,@(y15:flatten-idslist)[01},@(y9:set-union)[0" + "2},.2,@(y9:find-free)[22},@(y13:apply-to-list)[22}'(y7:lambda*),.1aq?{" + ".0d,.2,&1{%!0:0,${.3,@(y4:cadr),@(y5:%25map1)[02},@(y10:find-free*)[12" + "},@(y13:apply-to-list)[22}'(y5:letcc),.1aq?{.0d,.2,&1{%2${:0,.3,l1,@(y" + "9:set-union)[02},.2,@(y9:find-free)[22},@(y13:apply-to-list)[22}'(y6:w" + "ithcc),.1aq?{.0d,.2,&1{%2${:0,.4,@(y9:find-free)[02},${:0,.4,@(y9:find" + "-free)[02},@(y9:set-union)[22},@(y13:apply-to-list)[22}'(y2:if),.1aq?{" + ".0d,.2,&1{%3${${:0,.7,@(y9:find-free)[02},${:0,.7,@(y9:find-free)[02}," + "@(y9:set-union)[02},${:0,.4,@(y9:find-free)[02},@(y9:set-union)[32},@(" + "y13:apply-to-list)[22}'(y5:begin),.1aq?{.0d,.2,&1{%!0:0,.1,@(y10:find-" + "free*)[12},@(y13:apply-to-list)[22}'(y10:integrable),.1aq?{.0d,.2,&1{%" + "!1:0,.1,@(y10:find-free*)[22},@(y13:apply-to-list)[22}'(y4:call),.1aq?" + "{.0d,.2,&1{%!1${:0,.3,@(y10:find-free*)[02},${:0,.5,@(y9:find-free)[02" + "},@(y9:set-union)[22},@(y13:apply-to-list)[22}'(y3:asm),.1aq?{.0d,&0{%" + "1n]1},@(y13:apply-to-list)[22}'(y4:once),.1aq?{.0d,.2,&1{%2:0,.2,@(y9:" + "find-free)[22},@(y13:apply-to-list)[22}'(l2:y6:define;y13:define-synta" + "x;),.1aA0?{.0d,.1,&1{%!0:0,'(s25:misplaced definition form),@(y7:c-err" + "or)[12},@(y13:apply-to-list)[22}'(y16:record-case-miss)]2", "P", "find-sets*", "%2.0u?{n]2}${.3,.3d,@(y10:find-sets*)[02},${.4,.4a,@(y9:find-sets)[02}" ",@(y9:set-union)[22", "P", "find-sets", - "%2'(y5:quote),.1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(l2:y3:ref;" - "y5:const;),.1aA0?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y4:set!),.1a" - "q?{.0d,.2,&1{%2${:0,.4,@(y9:find-sets)[02},${:0,.4,@(y11:set-member?)[" - "02}?{.1,l1}{n},@(y9:set-union)[22},@(y13:apply-to-list)[22}'(y4:set&)," - ".1aq?{.0d,.2,&1{%1${:0,.3,@(y11:set-member?)[02}?{.0,l1]1}n]1},@(y13:a" - "pply-to-list)[22}'(y6:lambda),.1aq?{.0d,.2,&1{%2${${.4,@(y15:flatten-i" - "dslist)[01},:0,@(y9:set-minus)[02},.2,@(y9:find-sets)[22},@(y13:apply-" - "to-list)[22}'(y7:lambda*),.1aq?{.0d,.2,&1{%!0:0,${.3,@(y4:cadr),@(y5:%" - "25map1)[02},@(y10:find-sets*)[12},@(y13:apply-to-list)[22}'(y5:letcc)," - ".1aq?{.0d,.2,&1{%2${.2,l1,:0,@(y9:set-minus)[02},.2,@(y9:find-sets)[22" - "},@(y13:apply-to-list)[22}'(y6:withcc),.1aq?{.0d,.2,&1{%2${:0,.4,@(y9:" - "find-sets)[02},${:0,.4,@(y9:find-sets)[02},@(y9:set-union)[22},@(y13:a" - "pply-to-list)[22}'(y5:begin),.1aq?{.0d,.2,&1{%!0:0,.1,@(y10:find-sets*" - ")[12},@(y13:apply-to-list)[22}'(y2:if),.1aq?{.0d,.2,&1{%3${${:0,.7,@(y" - "9:find-sets)[02},${:0,.7,@(y9:find-sets)[02},@(y9:set-union)[02},${:0," - ".4,@(y9:find-sets)[02},@(y9:set-union)[32},@(y13:apply-to-list)[22}'(y" - "10:integrable),.1aq?{.0d,.2,&1{%!1:0,.1,@(y10:find-sets*)[22},@(y13:ap" - "ply-to-list)[22}'(y4:call),.1aq?{.0d,.2,&1{%!1${:0,.3,@(y10:find-sets*" - ")[02},${:0,.5,@(y9:find-sets)[02},@(y9:set-union)[22},@(y13:apply-to-l" - "ist)[22}'(y3:asm),.1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y4:onc" - "e),.1aq?{.0d,&0{%2.1,@(y9:find-sets)[21},@(y13:apply-to-list)[22}'(l2:" - "y6:define;y13:define-syntax;),.1aA0?{.0d,.1,&1{%!0:0,'(s25:misplaced d" - "efinition form),@(y7:c-error)[12},@(y13:apply-to-list)[22}'(y16:record" - "-case-miss)]2", + "%2'(y5:quote),.1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y4:gref),." + "1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y5:gset!),.1aq?{.0d,.2,&1" + "{%2:0,.2,@(y9:find-sets)[22},@(y13:apply-to-list)[22}'(l2:y3:ref;y5:co" + "nst;),.1aA0?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y4:set!),.1aq?{.0" + "d,.2,&1{%2${:0,.4,@(y9:find-sets)[02},${:0,.4,@(y11:set-member?)[02}?{" + ".1,l1}{n},@(y9:set-union)[22},@(y13:apply-to-list)[22}'(y4:set&),.1aq?" + "{.0d,.2,&1{%1${:0,.3,@(y11:set-member?)[02}?{.0,l1]1}n]1},@(y13:apply-" + "to-list)[22}'(y6:lambda),.1aq?{.0d,.2,&1{%2${${.4,@(y15:flatten-idslis" + "t)[01},:0,@(y9:set-minus)[02},.2,@(y9:find-sets)[22},@(y13:apply-to-li" + "st)[22}'(y7:lambda*),.1aq?{.0d,.2,&1{%!0:0,${.3,@(y4:cadr),@(y5:%25map" + "1)[02},@(y10:find-sets*)[12},@(y13:apply-to-list)[22}'(y5:letcc),.1aq?" + "{.0d,.2,&1{%2${.2,l1,:0,@(y9:set-minus)[02},.2,@(y9:find-sets)[22},@(y" + "13:apply-to-list)[22}'(y6:withcc),.1aq?{.0d,.2,&1{%2${:0,.4,@(y9:find-" + "sets)[02},${:0,.4,@(y9:find-sets)[02},@(y9:set-union)[22},@(y13:apply-" + "to-list)[22}'(y5:begin),.1aq?{.0d,.2,&1{%!0:0,.1,@(y10:find-sets*)[12}" + ",@(y13:apply-to-list)[22}'(y2:if),.1aq?{.0d,.2,&1{%3${${:0,.7,@(y9:fin" + "d-sets)[02},${:0,.7,@(y9:find-sets)[02},@(y9:set-union)[02},${:0,.4,@(" + "y9:find-sets)[02},@(y9:set-union)[32},@(y13:apply-to-list)[22}'(y10:in" + "tegrable),.1aq?{.0d,.2,&1{%!1:0,.1,@(y10:find-sets*)[22},@(y13:apply-t" + "o-list)[22}'(y4:call),.1aq?{.0d,.2,&1{%!1${:0,.3,@(y10:find-sets*)[02}" + ",${:0,.5,@(y9:find-sets)[02},@(y9:set-union)[22},@(y13:apply-to-list)[" + "22}'(y3:asm),.1aq?{.0d,&0{%1n]1},@(y13:apply-to-list)[22}'(y4:once),.1" + "aq?{.0d,.2,&1{%2:0,.2,@(y9:find-sets)[22},@(y13:apply-to-list)[22}'(l2" + ":y6:define;y13:define-syntax;),.1aA0?{.0d,.1,&1{%!0:0,'(s25:misplaced " + "definition form),@(y7:c-error)[12},@(y13:apply-to-list)[22}'(y16:recor" + "d-case-miss)]2", "P", "codegen", "%7'(y5:quote),.1aq?{.0d,.6,.8,&2{%1.0,t,.1v?{:0,'(ct)W0}{f,.1v?{:0,'(c" "f)W0}{n,.1v?{:0,'(cn)W0}{:0,'(c')W0${:0,.4,@(y20:write-serialized-arg)" "[02}}}}_1:1?{:0,'(c])W0:0,:1,@(y20:write-serialized-arg)[12}]1},@(y13:" - "apply-to-list)[72}'(l2:y3:ref;y5:const;),.1aA0?{.0d,.6,.8,.5,.7,.6,&5{" - "%1${:0,.3,@(y4:posq)[02},.0?{.0,:3,'(c.)W0${:3,.3,@(y20:write-serializ" - "ed-arg)[02}${:1,.5,@(y11:set-member?)[02}?{:3,'(c^)W0}_1}{${:2,.4,@(y4" - ":posq)[02},.0?{.0,:3,'(c:)W0${:3,.3,@(y20:write-serialized-arg)[02}${:" - "1,.6,@(y11:set-member?)[02}?{:3,'(c^)W0}_1}{:3,'(c@)W0${:3,.5,@(y20:wr" - "ite-serialized-arg)[02}}_1}_1:4?{:3,'(c])W0:3,:4,@(y20:write-serialize" - "d-arg)[12}]1},@(y13:apply-to-list)[72}'(y4:set!),.1aq?{.0d,.6,.8,.5,.5" - ",.8,.(i10),&6{%2${:4,f,:0,:1,:3,:2,.9,@(y7:codegen)[07}${:2,.3,@(y4:po" - "sq)[02},.0?{.0,:4,'(c.)W0:4,'(c!)W0${:4,.3,@(y20:write-serialized-arg)" - "[02}_1}{${:3,.4,@(y4:posq)[02},.0?{.0,:4,'(c:)W0:4,'(c!)W0${:4,.3,@(y2" - "0:write-serialized-arg)[02}_1}{:4,'(c@)W0:4,'(c!)W0${:4,.5,@(y20:write" - "-serialized-arg)[02}}_1}_1:5?{:4,'(c])W0:4,:5,@(y20:write-serialized-a" - "rg)[22}]2},@(y13:apply-to-list)[72}'(y4:set&),.1aq?{.0d,.6,.8,.5,.5,&4" - "{%1${:0,.3,@(y4:posq)[02},.0?{.0,:2,'(c.)W0${:2,.3,@(y20:write-seriali" - "zed-arg)[02}_1}{${:1,.4,@(y4:posq)[02},.0?{.0,:2,'(c:)W0${:2,.3,@(y20:" - "write-serialized-arg)[02}_1}{:2,'(c`)W0${:2,.5,@(y20:write-serialized-" - "arg)[02}}_1}_1:3?{:2,'(c])W0:2,:3,@(y20:write-serialized-arg)[12}]1},@" - "(y13:apply-to-list)[72}'(y5:begin),.1aq?{.0d,.6,.8,.4,.6,.8,.(i10),&6{" - "%!0${.2,,#0.0,:3,:2,:1,:0,:4,:5,&7{%1.0p?{.0dp?{f}{:0},${:1,.3,:2,:3,:" - "4,:5,.9a,@(y7:codegen)[07}.1d,:6^[21}]1}.!0.0^_1[01}:5?{.0u}{f}?{:4,'(" - "c])W0:4,:5,@(y20:write-serialized-arg)[12}]1},@(y13:apply-to-list)[72}" - "'(y2:if),.1aq?{.0d,.6,.6,.6,.6,.6,.(i12),&6{%3${:0,f,:4,:3,:2,:1,.8,@(" - "y7:codegen)[07}:0,'(c?)W0:0,'(c{)W0${:0,:5,:4,:3,:2,:1,.9,@(y7:codegen" - ")[07}:0,'(c})W0:5?{:0,:5,:4,:3,:2,:1,.8,@(y7:codegen)[37}'(l1:y5:begin" - ";),.3e,.0?{.0]4}.3?{:0,'(c{)W0${:0,:5,:4,:3,:2,:1,.(i11),@(y7:codegen)" - "[07}:0,'(c})W0]4}f]4},@(y13:apply-to-list)[72}'(y6:lambda),.1aq?{.0d,." - "6,.8,.7,.7,.7,.7,&6{%2${.2,@(y15:flatten-idslist)[01},${:3,${.5,.8,@(y" - "9:find-free)[02},@(y9:set-minus)[02},${.3,.6,@(y9:find-sets)[02},${:0," - ".4A8,,#0.0,:4,:1,:3,&4{%2.0u?{]2}${:2,f,:0,n,:1,.8,.8a,'(y3:ref),l2,@(" - "y7:codegen)[07}:2,'(c,)W0.1,fc,.1d,:3^[22}.!0.0^_1[02}:4,'(c&)W0${:4,." - "4g,@(y20:write-serialized-arg)[02}:4,'(c{)W0.3L0?{:4,'(c%25)W0${:4,.6g" - ",@(y20:write-serialized-arg)[02}}{:4,'(c%25)W0:4,'(c!)W0${:4,${.8,@(y1" - "7:idslist-req-count)[01},@(y20:write-serialized-arg)[02}}${'0,.5,,#0.0" - ",.6,:4,&3{%2.0u?{]2}${:1,.3a,@(y11:set-member?)[02}?{:0,'(c#)W0${:0,.4" - ",@(y20:write-serialized-arg)[02}}'1,.2I+,.1d,:2^[22}.!0.0^_1[02}${:4,." - "5g,:3,${${.(i10),:2,@(y13:set-intersect)[02},.8,@(y9:set-union)[02},.7" - ",.9,.(i12),@(y7:codegen)[07}:4,'(c})W0_1_1_1:5?{:4,'(c])W0:4,:5,@(y20:" - "write-serialized-arg)[22}]2},@(y13:apply-to-list)[72}'(y7:lambda*),.1a" - "q?{.0d,.6,.8,.5,.7,.9,.7,&6{%!0${:0,.3A8,,#0.0,:4,:3,:2,:1,&5{%2.0u?{]" - "2}${:3,f,:0,:1,:2,.8,.8ada,@(y7:codegen)[07}:3,'(c%25)W0:3,'(cx)W0:3,'" - "(c,)W0.1,fc,.1d,:4^[22}.!0.0^_1[02}:4,'(c&)W0${:4,.3g,@(y20:write-seri" - "alized-arg)[02}:4,'(c{)W0${'0,.3,,#0.0,:4,&2{%2.0u?{]2}.0aa,.0a,.1da,:" - "0,'(c|)W0.0?{:0,'(c!)W0}${:0,.4,@(y20:write-serialized-arg)[02}${:0,.7" - ",@(y20:write-serialized-arg)[02}_1_1_1'1,.2I+,.1d,:1^[22}.!0.0^_1[02}:" - "4,'(c%25)W0:4,'(c%25)W0:4,'(c})W0:5?{:4,'(c])W0:4,:5,@(y20:write-seria" - "lized-arg)[12}]1},@(y13:apply-to-list)[72}'(y5:letcc),.1aq?{.0d,.4,.7," - ".7,.6,.6,.(i12),&6{%2.0,l1,${.2,.5,@(y9:find-sets)[02},${.2,${.6,:5,@(" - "y9:set-minus)[02},@(y9:set-union)[02},:4?{:0,'(ck)W0${:0,:4,@(y20:writ" - "e-serialized-arg)[02}:0,'(c,)W0${.3,.6,@(y11:set-member?)[02}?{:0,'(c#" - ")W0:0,'(c0)W0}:0,'1,:4I+,:3,.3,:2,:1,.9c,.(i10),@(y7:codegen)[57}:0,'(" - "c$)W0:0,'(c{)W0:0,'(ck)W0:0,'(c0)W0:0,'(c,)W0${.3,.6,@(y11:set-member?" - ")[02}?{:0,'(c#)W0:0,'(c0)W0}${:0,f,:3,.5,:2,:1,fc,fc,.(i11)c,.(i12),@(" - "y7:codegen)[07}:0,'(c_)W0${:0,'3,@(y20:write-serialized-arg)[02}:0,'(c" - "})W0]5},@(y13:apply-to-list)[72}'(y6:withcc),.1aq?{.0d,.7,.3,.5,.7,.9," - "&5{%2'(l3:y5:quote;y3:ref;y6:lambda;),.2aA0?{${:4,f,:0,:1,:2,:3,.9,@(y" - "7:codegen)[07}:4,'(c,)W0${:4,f,:0,:1,:2,:3,fc,.8,@(y7:codegen)[07}:4,'" - "(cw)W0:4,'(c!)W0]2}${:4,f,:0,:1,:2,:3,.9,n,'(y6:lambda),l3,@(y7:codege" - "n)[07}:4,'(c,)W0${:4,f,:0,:1,:2,:3,fc,.8,@(y7:codegen)[07}:4,'(cw)W0]2" - "},@(y13:apply-to-list)[72}'(y10:integrable),.1aq?{.0d,.6,.8,.5,.7,.9,." - "7,&6{%!1'0,.2U8,.2U6,.0,'(l4:c0;c1;c2;c3;),.1A1?{${:0,.6A8,,#0.0,:4,:3" - ",:2,:1,&5{%2.0u?{]2}${:3,f,:0,:1,:2,.8,.8a,@(y7:codegen)[07}.0du~?{:3," - "'(c,)W0}.1,fc,.1d,:4^[22}.!0.0^_1[02}${:4,.5,@(y12:write-string)[02}}{" - "'(cp),.1v?{.3u?{'1,.5U8,${:4,.3,@(y12:write-string)[02}_1}{'1,.4gI-,${" - ":0,.7A8,,#0.0,:4,:3,:2,:1,&5{%2.0u?{]2}${:3,f,:0,:1,:2,.8,.8a,@(y7:cod" - "egen)[07}.0du~?{:3,'(c,)W0}.1,fc,.1d,:4^[22}.!0.0^_1[02}${'0,,#0.0,.8," - ":4,.7,&4{%1:0,.1I