GOOF----LE-8-2.0]w4hS] gguile  gdefine-module*   gice-9 gfutures  gfilenameS fice-9/futures.scm gimportsS gsrfi gsrfi-1     gsrfi-9    ggnu    gsrfi-11    gq   gmatch   gcontrol  !  "! #gexportsS $gfuture %g make-future &gfuture? 'gtouch ($%&' )gset-current-module *) +) ,g -g%%make-future-procedure .gmake-syntax-transformer /. 0. 1g %make-future 2gmacro 3g $sc-dispatch 43 53 6g_ 7gany 867777 9g syntax-object :glambda ;gm-3eebb96279-7 gribcage ?gt-3eebb96279-3 @gt-3eebb96279-4 Agt-3eebb96279-5 Bgt-3eebb96279-6 C?@AB D==== Efl-3eebb96279-c Ffl-3eebb96279-d Gfl-3eebb96279-e Hfl-3eebb96279-f IEFGH J>CDI K> Lgx ML N= Ofl-3eebb96279-9 PO Q>MNP Rgshift Sg proc-name Tgargs UST V< WVV Xfl-1e8ba8b5a-60 Yfl-1e8ba8b5a-61 ZXY [>UWZ \gkey ]gvalue ^gname _gformals `gbody a\]^_` bVVVVV cfl-1e8ba8b5a-53 dfl-1e8ba8b5a-54 efl-1e8ba8b5a-55 ffl-1e8ba8b5a-56 gfl-1e8ba8b5a-57 hcdefg i>abh jgmake-procedure-name kj lV mfl-1e8ba8b5a-43 nm o>kln pV qfl-1e8ba8b5a-42 rq s>Mpr t=JKQRKKKK[ios  ughygiene vu  w9:tv xgthunk yVJKQ zu {9xyz |gstate }9|yz ~gmutex 9~yz g completion 9yz {} g make-struct gm-3eebb96279-1 < gt-1e8ba8b5a-133 gt-1e8ba8b5a-132 gt-1e8ba8b5a-131  gm-1e8ba8b5a-134 <  fl-1e8ba8b5a-138 fl-1e8ba8b5a-139 fl-1e8ba8b5a-13a  > g ctor-args  fl-1e8ba8b5a-120  >p gctor gfield  fl-1e8ba8b5a-11c fl-1e8ba8b5a-11d  >W gform g type-name gconstructor-spec g field-names  VVVV fl-1e8ba8b5a-111 fl-1e8ba8b5a-112 fl-1e8ba8b5a-113 fl-1e8ba8b5a-114  > g record-layout gfunctional-setters gsetters gcopier ggetters g constructor ggetter-identifiers gfield-identifiers  VVVVVVVV fl-1e8ba8b5a-e9 fl-1e8ba8b5a-e7 fl-1e8ba8b5a-e5 fl-1e8ba8b5a-e3 fl-1e8ba8b5a-e1 fl-1e8ba8b5a-df fl-1e8ba8b5a-dd fl-1e8ba8b5a-db  > fl-1e8ba8b5a-da  >Mp JKQRKKKKK 9v 9,yz 9 v JKQ 9z {} w geach-any 6Ɍ gsyntax-violation   fWrong number of arguments g identifier?   VKQ 9-z   f-source expression failed to match any pattern grecord-type-vtable   g pwpwpwpwpw gdefault-record-printer   gresult x|~ gset-struct-vtable-name!   gvtable-offset-user   g%future?-procedure 67 gm-3eebb96279-1a < gt-3eebb96279-19   fl-3eebb96279-1f  > fl-3eebb96279-1c  >M KRKKKK[ios  9:v gobj gt-1e8ba8b5a-224 gt-1e8ba8b5a-21e gt-1e8ba8b5a-21f gt-1e8ba8b5a-220 gt-1e8ba8b5a-223 gt-1e8ba8b5a-222 gt-1e8ba8b5a-221  gm-1e8ba8b5a-225 <  fl-1e8ba8b5a-229 fl-1e8ba8b5a-22a fl-1e8ba8b5a-22b fl-1e8ba8b5a-22c fl-1e8ba8b5a-22d fl-1e8ba8b5a-22e fl-1e8ba8b5a-22f   >  g copier-id     fl-1e8ba8b5a-21c    > p  g ctor-name  fl-1e8ba8b5a-214  >p  fl-1e8ba8b5a-212  >p glayout  fl-1e8ba8b5a-210  >p g immutable?  fl-1e8ba8b5a-20e   !>p  "g field-count #" $fl-1e8ba8b5a-20c %$ &>#p% 'g getter-ids (' )fl-1e8ba8b5a-209 *) +>(p* ,g field-ids -, .fl-1e8ba8b5a-206 /. 0>-p/ 1gpredicate-name 2g field-spec 312 4VVVVVV 5fl-1e8ba8b5a-1f9 6fl-1e8ba8b5a-1fa 7fl-1e8ba8b5a-1fb 8fl-1e8ba8b5a-1fc 9fl-1e8ba8b5a-1fd :fl-1e8ba8b5a-1fe ;56789: <>34; =KRK KKKKKKKK!K&K+K0< >9=v ?> @gand A9@=v Bgstruct? C9B=v DC> Egeq? F9E=v Gg struct-vtable H9G=v IH> JVK K9,Jz LFIK MADL N?M OVK P9Oz Qgthrow-bad-struct RQ SQ Tg future-thunk Ug%future-thunk-procedure Vgfree-id Wg %%on-error Xgm-3eebb96279-26 YX< ZY [fl-3eebb96279-28 \[ ]>MZ\ ^YK]RKKKK[ios  _9W^v `V_ a`7 bg%%type cgt-1e8ba8b5a-14b dgt-1e8ba8b5a-14c egt-1e8ba8b5a-14d fgt-1e8ba8b5a-14e ggt-1e8ba8b5a-14f hgt-1e8ba8b5a-150 igt-1e8ba8b5a-151 jcdefghi kgm-1e8ba8b5a-152 lk< mlllllll nfl-1e8ba8b5a-156 ofl-1e8ba8b5a-157 pfl-1e8ba8b5a-158 qfl-1e8ba8b5a-159 rfl-1e8ba8b5a-15a sfl-1e8ba8b5a-15b tfl-1e8ba8b5a-15c unopqrst v>jmu wggetter xgindex ywx zfl-1e8ba8b5a-149 {fl-1e8ba8b5a-14a |z{ }>yW| ~'  VVV fl-1e8ba8b5a-144 fl-1e8ba8b5a-145 fl-1e8ba8b5a-146  >~ K]RKvKKK}K 9bv V 6a7 gck gerr gs  YY fl-3eebb96279-2b fl-3eebb96279-2c  > YK]RKKKK[ios  9v gquote 9v VK] 9,z   g%%index 9v V 6a7 fl-3eebb96279-30 fl-3eebb96279-31  > YK]RKKKK[ios  9v 9v K] 9 z   g%%copier 9v V 6a7 fl-3eebb96279-35 fl-3eebb96279-36  > YK]RKKKK[ios  9v 9v g%%-set-fields VK] 9z   gt-3eebb96279-25  fl-3eebb96279-3a  >Z YK]RKKKK[ios  9:v K]RKvKKK}K 9v  gif 9v 9Ev 9Gv  VK] 9,z  g struct-ref 9v K] 9 z  9Qv 9v 9Tz     VK] 9Uz g future-state g%future-state-procedure gm-3eebb96279-41 <  fl-3eebb96279-43  >M KRKKKK[ios  9Wv V 7 KRKvKKK}K 9bv V 67  fl-3eebb96279-46 fl-3eebb96279-47  > KRKKKK[ios  9v 9v VK 9,z   9v V 67 fl-3eebb96279-4b fl-3eebb96279-4c  > KRKKKK[ios  9v 9v K 9 z   9v V 67 fl-3eebb96279-50 fl-3eebb96279-51   >   KRKKKK[ios   9 v  9 v  V K 9 z    gt-3eebb96279-40  fl-3eebb96279-55  > KRKKKK[ios  9:v KRKvKKK}K 9v  9v 9Ev 9Gv  VK  9,z !  "9v #K $9 #z %"$ &9Qv '9v (9z )'( *&) +!%* ,+ -VK .9-z /g future-result 0g%future-result-procedure 1gm-3eebb96279-5c 21< 32 4fl-3eebb96279-5e 54 6>M35 72K6RKKKK[ios  89W7v 9V8 :97 ;K6RKvKKK}K <9b;v =V< >6:=7 ?22 @fl-3eebb96279-61 Afl-3eebb96279-62 B@A C>?B D2CK6RKKKK[ios  E9Dv F9Dv GVCK6 H9,Gz IFH JI K9;v LVK M6:L7 Nfl-3eebb96279-66 Ofl-3eebb96279-67 PNO Q>?P R2QK6RKKKK[ios  S9Rv T9Rv UQK6 V9 Uz WTV XW Y9;v ZVY [6:Z7 \fl-3eebb96279-6b ]fl-3eebb96279-6c ^\] _>?^ `2_K6RKKKK[ios  a9`v b9`v cV_K6 d9cz ebd fe ggt-3eebb96279-5b hg ifl-3eebb96279-70 ji k>h3j l2kK6RKKKK[ios  m9:lv nkK6RKvKKK}K o9nv po q9nv r9Env s9Gnv tso uVkK6 v9,uz wrtv x9nv ykK6 z9 yz {xoz |9Qnv }9nv ~9/uz }~ |o qw{ mp VK6 90z g future-mutex g%future-mutex-procedure gm-3eebb96279-77 <  fl-3eebb96279-79  >M KRKKKK[ios  9Wv V 7 KRKvKKK}K 9bv V 67  fl-3eebb96279-7c fl-3eebb96279-7d  > KRKKKK[ios  9v 9v VK 9,z   9v V 67 fl-3eebb96279-81 fl-3eebb96279-82  > KRKKKK[ios  9v 9v K 9 z   9v V 67 fl-3eebb96279-86 fl-3eebb96279-87  > KRKKKK[ios  9v 9v VK 9z   gt-3eebb96279-76  fl-3eebb96279-8b  > KRKKKK[ios  9:v KRKvKKK}K 9v  9v 9Ev 9Gv  VK 9,z  9v K 9 z  9Qv 9v 9z     VK 9z gfuture-completion g%future-completion-procedure gm-3eebb96279-92 <  fl-3eebb96279-94  >M KRKKKK[ios  9Wv V 7 KRKvKKK}K 9bv V 67  fl-3eebb96279-97 fl-3eebb96279-98  > KRKKKK[ios  9v 9v VK 9,z   9v V 67 fl-3eebb96279-9c fl-3eebb96279-9d  > KRKKKK[ios  9v 9v K 9 z   9v V 67 fl-3eebb96279-a1  fl-3eebb96279-a2     >    KRKKKK[ios   9 v 9 v V K 9z   gt-3eebb96279-91  fl-3eebb96279-a6  > KRKKKK[ios  9:v KRKvKKK}K 9v  9v 9Ev 9Gv   !VK "9,!z # " $9v %K &9 %z '$& (9Qv )9v *9!z +)* ,(+ -#', .- /VK 09/z 1geach 277 312 473 574 675 7g %%set-fields 8gdummy 9gcheck? :gexpr ;89w: = ?fl-3eebb96279-b2 @fl-3eebb96279-b3 Afl-3eebb96279-b4 Bfl-3eebb96279-b5 Cfl-3eebb96279-b6 D?@ABC E>;>D F= Gfl-3eebb96279-af HG I>MFH Jgt-1e8ba8b5a-16a Kgt-1e8ba8b5a-16c Lgt-1e8ba8b5a-16b MJKL Ngm-1e8ba8b5a-16d ON< POOO Qfl-1e8ba8b5a-171 Rfl-1e8ba8b5a-172 Sfl-1e8ba8b5a-173 TQRS U>MPT Vfl-1e8ba8b5a-167 Wfl-1e8ba8b5a-168 Xfl-1e8ba8b5a-169 YVWX Z>~Y [EKIRKUKKKZ  \97[v ]VEKI ^9,]z _9T]z `9]z a9/]z b9]z c9]z d_`abc egmap fe ge hglist igset-future-thunk! jg%set-future-thunk!-procedure k677 lgm-3eebb96279-c1 ml< ngt-3eebb96279-bf ogt-3eebb96279-c0 pno qmm rfl-3eebb96279-c6 sfl-3eebb96279-c7 trs u>pqt vm wfl-3eebb96279-c3 xw y>Mvx zmuKyRKKKK[ios  {9:zv |gt-1e8ba8b5a-18c }gt-1e8ba8b5a-18d ~|} gm-1e8ba8b5a-18e <  fl-1e8ba8b5a-192 fl-1e8ba8b5a-193  >~ gsetter ^w fl-1e8ba8b5a-186 fl-1e8ba8b5a-187 fl-1e8ba8b5a-188  > 2x fl-1e8ba8b5a-17d fl-1e8ba8b5a-17e  >W g field-specs  fl-1e8ba8b5a-179 fl-1e8ba8b5a-17a  >W uKyRKKK 9v gval 9v  9v 9Ev 9Gv  VuKy 9,z  g struct-set! 9v uKy 9 z  9Qv 9v 9iz    { VKy 9jz gset-future-state! g%set-future-state!-procedure gm-3eebb96279-d1 < gt-3eebb96279-cf gt-3eebb96279-d0   fl-3eebb96279-d6 fl-3eebb96279-d7  >  fl-3eebb96279-d3  >M KRKKKK[ios  9:v KRKKK 9v 9v  9v 9Ev 9Gv  VK 9,z  9v K 9 z  9Qv 9v 9z     VK 9z gset-future-result! g%set-future-result!-procedure gm-3eebb96279-e1 < gt-3eebb96279-df gt-3eebb96279-e0   fl-3eebb96279-e6 fl-3eebb96279-e7  >  fl-3eebb96279-e3  >M KRKKKK[ios  9:v KRKKK 9v 9v  9v 9Ev 9Gv  VK 9,z  9v K 9 z  9Qv 9v 9z     VK 9z gset-record-type-printer! g simple-format f#  gnumber->string  gobject-address  gcreate-workers!  g make-mutex  gmake-condition-variable gqueued gregister-future! gmake-q g%futures g%futures-mutex g%futures-available g%futures-waiting gmake-parameter g%nesting-level g%max-nesting-level g with-mutex 7Ɍ 7 7 glet gm ge0 ge1  8 !gm-3eebb96279-12b "!< #"VVV $fl-3eebb96279-130 %fl-3eebb96279-131 &fl-3eebb96279-132 'fl-3eebb96279-133 ($%&' )> #( *" +fl-3eebb96279-12d ,+ ->M*, .V)K- /9.z 09L.z 1g dynamic-wind 291.z 39:.z 4g lock-mutex 594.z 650 736 8gbegin 998.z :g unlock-mutex ;9:.z <;0 =3< >= ?gmake-prompt-tag @g%future-prompt Agenq! Bgsignal-condition-variable Cglet/ec Dgcatch Eg parameter? FE GE Hg scm-error Igwrong-type-arg Jf parameterize KfNot a parameter: ~S Lgdone Mg alist-cons Ngabort-to-prompt Ogthrow Pgprocess-future! Qgq-empty? Rgdeq! Sgstarted Tgnotify-completion Ugprocess-one-future Vgwait-condition-variable Wgprocess-futures Xgbroadcast-condition-variable Yg partition Zgerror [Z \Z ]fno matching pattern ^gfor-each _g provided? `gthreads agcurrent-processor-count bg %worker-count cg%workers dgunfold egcall-with-new-thread fg1+ gg%create-workers! h8` igm-3eebb96279-259 ji< kjV lfl-3eebb96279-25e mfl-3eebb96279-25f nlm o>hkn pj qfl-3eebb96279-25b rq s>Mpr tVoKs u9%tz v9:tzC5hHU]4   "#(54+>"G,h]Cgthunk  gstate  gmutex   g completion   gfilenamefice-9/futures.scm 0    gnameg%%make-future-procedureC-R401258h]Cgt-3eebb96279-3  gt-3eebb96279-4  gt-3eebb96279-5   gt-3eebb96279-6      C1hT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6}gx  ngtmp ngtmp  " ngtmp  > ngfilenamefice-9/futures.scm 0   n C51R,ߨ4,>"G -i,R,ht]$CClgobj  gfilenamefice-9/futures.scm 0    gnameg%future?-procedureCR40&25Nh7]C/gt-3eebb96279-19    C&hT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    CPh]C   C hp]45$@45$ O@45$4O?$@  6  6}gx  ngtmp ngtmp  " ngtmp  > ngfilenamefice-9/futures.scm 0   n C5&R,SThw]& C6ogs  gfilenamefice-9/futures.scm 0    gnameg%future-thunk-procedureCUR40T25h:]C2gerr  gs    Ch:]C2gerr  gs    Ch:]C2gerr  gs    Ch7]C/gt-3eebb96279-25    CThT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefice-9/futures.scm 0   C5TR,Shw]& C6ogs  gfilenamefice-9/futures.scm 0    gnameg%future-state-procedureCR4025h:]C2gerr  gs    Ch:]C2gerr  gs    C h:]C2gerr  gs    C,h7]C/gt-3eebb96279-40    ChT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    C.h]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefice-9/futures.scm 0   C5R,S/h x]& C6pgs  gfilenamefice-9/futures.scm 0    gnameg%future-result-procedureC0R40/25>EJh:]C2gerr  gs    CMSXh:]C2gerr  gs    C[afh:]C2gerr  gs    Ch7]C/gt-3eebb96279-5b    C/hT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefice-9/futures.scm 0   C5/R,Sh w]& C6ogs  gfilenamefice-9/futures.scm 0    gnameg%future-mutex-procedureCR4025h:]C2gerr  gs    Ch:]C2gerr  gs    Ch:]C2gerr  gs    Ch7]C/gt-3eebb96279-76    ChT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefice-9/futures.scm 0   C5R,Sh |]& C6tgs  gfilenamefice-9/futures.scm 0    gnameg%future-completion-procedureCR4025h:]C2gerr  gs    Ch:]C2gerr  gs    C h:]C2gerr  gs    C.h7]C/gt-3eebb96279-91    ChT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    C0h]C   Ch]145$@45$@45$@45$ @4 5$  O@4 5$4 O?$@66gx  gtmp gtmp  " gtmp  9 gtmp  P gtmp  g gtmp  gfilenamefice-9/futures.scm 0   C5R40256\^dghh v]45Cngdummy  gcheck?  gs   ggetter   gexpr      Ch(] 45$@6gx  "gtmp "gfilenamefice-9/futures.scm 0   " g macro-typeg syntax-rulesgpatternsgcheck?gsggettergexprg...C5R,Sih ]& C6gs  gval  gfilenamefice-9/futures.scm 0    gnameg%set-future-thunk!-procedureCjR40i25khT]CLgt-3eebb96279-bf  gt-3eebb96279-c0    CihT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6}gx  ngtmp ngtmp  " ngtmp  > ngfilenamefice-9/futures.scm 0   n C5iR,Sh ]& C6gs  gval  gfilenamefice-9/futures.scm 0    gnameg%set-future-state!-procedureCR4025khT]CLgt-3eebb96279-cf  gt-3eebb96279-d0    ChT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6}gx  ngtmp ngtmp  " ngtmp  > ngfilenamefice-9/futures.scm 0   n C5R,Sh ]& C6gs  gval  gfilenamefice-9/futures.scm 0    gnameg%set-future-result!-procedureCR4025khT]CLgt-3eebb96279-df  gt-3eebb96279-e0    ChT]L6Lga  gfilenamefice-9/futures.scm  0   C6hD]L6<gfilenamefice-9/futures.scm  0    Ch]C   C hp]45$@45$ O@45$4O?$@  6  6}gx  ngtmp ngtmp  " ngtmp  > ngfilenamefice-9/futures.scm 0   n C5R4i,i  ,ST hP]445 5& " 45& " 456gfuture  Lgport  Lgfilenamefice-9/futures.scm ;  <  =  = "  =   >  3 ?  L <   L C>"G   ,hP]4>"G45454>"GCgthunk  Kgmutex  4g completion   4gfuture 4 Kgfilenamefice-9/futures.scm A  E   G   G +  F  & F $ . F  4 F  7 H   K gnameg make-futureg documentationfReturn a new future for THUNK. Execution may start at any point concurrently, or it can start at the time when the returned future is touched.C%R4i5R4 i5R4 i5RR4i 5R R4025/02739>h0\]CTgdummy  )gm  )ge0   )ge1   )  ) Ch(] 45$@6gx  "gtmp "gfilenamefice-9/futures.scm d   " g macro-typeg syntax-rulesgpatternsgmge0ge1g...C5R4?i5@R4AB:h@]4>"G4>"G4>"G6gfuture  @gfilenamefice-9/futures.scm r  t   u  ) v  @ w   @ gnamegregister-future!CRCD@GHIJK,ST hp]45$"4>"G 4 455Y4L&L " 4L 5>ZCZFgt-3eebb96279-16a  igfilenamefice-9/futures.scm  ( < < A 8 C ( F *  i C4hE]L6=gfilenamefice-9/futures.scm    C:hE]L6=gfilenamefice-9/futures.scm    C,S4hE]L6=gfilenamefice-9/futures.scm    C:hE]L6=gfilenamefice-9/futures.scm    Ci4hE]L6=gfilenamefice-9/futures.scm    C:hE]L6=gfilenamefice-9/futures.scm    CLABMNhN]LEFgfilenamefice-9/futures.scm "  $   Ch] U4LO> X"GOO4O>"GVL& L " 4L5 O O4 O>"GVL& L "4L >"GL& L  "4L >"GX4 O>"G&  " 45OO4O>"GV& " 45&*4L>"G4>"G" 4L5 X4O>"G4L> X4O>"G" GOCgcont  gfuture-to-wait  gx  % gx  f gx   gresults  gfilenamefice-9/futures.scm   %  N  f    ,      8  ; ! V  W  k                 COhN]L@Fgfilenamefice-9/futures.scm      ChZ-13OCRgargs gfilenamefice-9/futures.scm   C,Sh`]UD4O5&  "4>"GXCXFGEgfuture  _gtag  _gval  ! Og_  T _gresults  T _gfilenamefice-9/futures.scm y      !  W    _ gnamegprocess-future!g documentationf*Process FUTURE. When FUTURE completes, return #t and update its result; otherwise, when FUTURE touches a nested future that has not completed yet, then suspend it and return #f. Suspending a future consists in capturing its continuation, marking it as `queued', and adding it to the waiter queue.CPRQR4,SLS:P4hE]L6=gfilenamefice-9/futures.scm    C:hE]L6=gfilenamefice-9/futures.scm    C4hE]L6=gfilenamefice-9/futures.scm    C:hE]L6=gfilenamefice-9/futures.scm    CTh](45$C454&  " 45>"G& " 45 $" $ &  " 4564 &  " 45>"G4  >"G4&  " 45>"G& " 45 &B&   "4>"G4 &  " 45>"G45$ OO4O>"GV&  " 45OO4O>"GV&   "4>"G4>"GX4O>"GX4O>"G""+4 &  " 45>"G 6gt gfuture  gkey b gdone?  | `gx   Ygx   @gfilenamefice-9/futures.scm          #  @  K  b        * " %  0 + 1  K  P  m  v  |       #      3     )  B  e  j     -   gnamegprocess-one-futureg documentationf9Attempt to pick one future from the queue and process it.CUR4QVUhX]4>"G"745$4>"G"4>"G""gfilenamefice-9/futures.scm      #  $  <  O  O   S gnamegprocess-futuresg documentationf,Continuously process futures from the queue.CWRX,SY\]h(x] $LC456pgexpr  %gw gfilenamefice-9/futures.scm       % C^A\]h(x] $6456pgexpr  'gx gfilenamefice-9/futures.scm       ' C hX0]4&  " 45>"G4O> G  6(gfuture  Rgwaiting ? Rg remaining  ? Rgfilenamefice-9/futures.scm    %  .  B  J  R   R gnamegnotify-completiong documentationf9Notify futures and callers waiting that FUTURE completed.CTR4Q:,S4hE]L6=gfilenamefice-9/futures.scm    C:hE]L6=gfilenamefice-9/futures.scm    CLVUh ]4>"G45$4>"GL& L " 4L5 O O4 O>"GV L&L " 4L 5&">4 L& L " 4L5L& L " 4L5>X4 O>"GCX4 O>"GF4>"G6gx L gfilenamefice-9/futures.scm        4  L t  w   ' '       gnamegworkC4,SL:S@/hp ]OQ"<4&  " 45>"G& " 45$/4&  " 45>"G" $X4&  " 45>"G4 5 $ WG"t4>"G" 4&  " 45>"G4 5 $ WG"4>"G""&  " 4 56gfuture  pgwork pgkey  X Ogfilenamefice-9/futures.scm       6  A X  d  i                     &  *   1  9  L   O  V    p gnamegtouchg documentationf>Return the result of FUTURE, computing it if not already done.C'R4_i`5$ 4ai5" bRcR4hE]L6=gfilenamefice-9/futures.scm     C:hE]L6=gfilenamefice-9/futures.scm     Ccdbh^]CVgi  gfilenamefice-9/futures.scm '   '    CeWh^]6Vgi  gfilenamefice-9/futures.scm (   (    Cfha]CYgfilenamefice-9/futures.scm +    gnamegcreate-workers!C  hx]OO4O>"GV(4 5  "X4O>"GCX4O>"GFgx  vgfilenamefice-9/futures.scm     0 %  1 ' > &  B +  J    v gnameg%create-workers!CgRghj]6bgfilenamefice-9/futures.scm .   .    gnamegcreate-workers!C R40$252uvh?]C7gdummy  gbody     Ch(] 45$@6gx  "gtmp "gfilenamefice-9/futures.scm 5   " g documentationfReturn a new future for BODY.g macro-typeg syntax-rulesgpatternsgbodyC5$RCgm  ,grtd  gfilenamefice-9/futures.scm    0 + 9 /$ A /% R  /0 R /1 U  /< U /= V  /H V /I Y  /M Y /N ]  /Z ] /a b 1 o  1 l 2 r =' y DI E H O O   O   O   O   O  O   O  O   O  S;  S - #  UG C6