Artifact 61dcd53aade9f5c5a584eb2a481de3c278357c91:
- File suspension.scm — part of check-in [72a7ba057e] at 2015-05-04 09:15:36 on branch trunk — Moved suspension module into separate compilation unit, isolating disabled interrupts (user: murphy size: 3390)
0000: 3b 3b 20 2d 2a 2d 20 6d 6f 64 65 3a 20 53 63 68 ;; -*- mode: Sch 0010: 65 6d 65 3b 20 2d 2a 2d 0a 3b 3b 0a 3b 3b 20 54 eme; -*-.;;.;; T 0020: 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 74 his file is dist 0030: 72 69 62 75 74 65 64 20 77 69 74 68 20 57 65 62 ributed with Web 0040: 47 61 74 65 20 66 6f 72 20 43 48 49 43 4b 45 4e Gate for CHICKEN 0050: 2e 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 ..;; Copyright ( 0060: 63 29 20 32 30 30 36 2d 32 30 31 30 20 62 79 20 c) 2006-2010 by 0070: 46 65 6c 69 78 20 4c 2e 20 57 69 6e 6b 65 6c 6d Felix L. Winkelm 0080: 61 6e 6e 2e 20 20 41 6c 6c 20 72 69 67 68 74 73 ann. All rights 0090: 20 72 65 73 65 72 76 65 64 2e 0a 3b 3b 0a 3b 3b reserved..;;.;; 00a0: 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 Redistribution 00b0: 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 and use in sourc 00c0: 65 20 61 6e 64 20 62 69 6e 61 72 79 20 66 6f 72 e and binary for 00d0: 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 ms, with or with 00e0: 6f 75 74 0a 3b 3b 20 6d 6f 64 69 66 69 63 61 74 out.;; modificat 00f0: 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 ion, are permitt 0100: 65 64 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 ed provided that 0110: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 the following c 0120: 6f 6e 64 69 74 69 6f 6e 73 0a 3b 3b 20 61 72 65 onditions.;; are 0130: 20 6d 65 74 3a 0a 3b 3b 0a 3b 3b 20 31 2e 20 52 met:.;;.;; 1. R 0140: 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 6f edistributions o 0150: 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 f source code mu 0160: 73 74 20 72 65 74 61 69 6e 20 74 68 65 20 61 62 st retain the ab 0170: 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 3b 3b ove copyright.;; 0180: 20 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 notice, this 0190: 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 list of conditi 01a0: 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c ons and the foll 01b0: 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 owing disclaimer 01c0: 2e 0a 3b 3b 0a 3b 3b 20 32 2e 20 52 65 64 69 73 ..;;.;; 2. Redis 01d0: 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 tributions in bi 01e0: 6e 61 72 79 20 66 6f 72 6d 20 6d 75 73 74 20 72 nary form must r 01f0: 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f eproduce the abo 0200: 76 65 0a 3b 3b 20 20 20 20 63 6f 70 79 72 69 67 ve.;; copyrig 0210: 68 74 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 ht notice, this 0220: 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f list of conditio 0230: 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f ns and the follo 0240: 77 69 6e 67 0a 3b 3b 20 20 20 20 64 69 73 63 6c wing.;; discl 0250: 61 69 6d 65 72 20 69 6e 20 74 68 65 20 64 6f 63 aimer in the doc 0260: 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 2f 6f umentation and/o 0270: 72 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c r other material 0280: 73 20 70 72 6f 76 69 64 65 64 0a 3b 3b 20 20 20 s provided.;; 0290: 20 77 69 74 68 20 74 68 65 20 64 69 73 74 72 69 with the distri 02a0: 62 75 74 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 33 2e bution..;;.;; 3. 02b0: 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 The name of the 02c0: 20 61 75 74 68 6f 72 73 20 6d 61 79 20 6e 6f 74 authors may not 02d0: 20 62 65 20 75 73 65 64 20 74 6f 20 65 6e 64 6f be used to endo 02e0: 72 73 65 20 6f 72 20 70 72 6f 6d 6f 74 65 0a 3b rse or promote.; 02f0: 3b 20 20 20 20 70 72 6f 64 75 63 74 73 20 64 65 ; products de 0300: 72 69 76 65 64 20 66 72 6f 6d 20 74 68 69 73 20 rived from this 0310: 73 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 software without 0320: 20 73 70 65 63 69 66 69 63 20 70 72 69 6f 72 0a specific prior. 0330: 3b 3b 20 20 20 20 77 72 69 74 74 65 6e 20 70 65 ;; written pe 0340: 72 6d 69 73 73 69 6f 6e 2e 0a 3b 3b 20 0a 3b 3b rmission..;; .;; 0350: 20 54 48 49 53 20 53 4f 46 54 57 41 52 45 20 49 THIS SOFTWARE I 0360: 53 20 50 52 4f 56 49 44 45 44 20 42 59 20 54 48 S PROVIDED BY TH 0370: 45 20 41 55 54 48 4f 52 53 20 60 60 41 53 20 49 E AUTHORS ``AS I 0380: 53 27 27 20 41 4e 44 20 41 4e 59 20 45 58 50 52 S'' AND ANY EXPR 0390: 45 53 53 0a 3b 3b 20 4f 52 20 49 4d 50 4c 49 45 ESS.;; OR IMPLIE 03a0: 44 20 57 41 52 52 41 4e 54 49 45 53 2c 20 49 4e D WARRANTIES, IN 03b0: 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 CLUDING, BUT NOT 03c0: 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 LIMITED TO, THE 03d0: 20 49 4d 50 4c 49 45 44 0a 3b 3b 20 57 41 52 52 IMPLIED.;; WARR 03e0: 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 ANTIES OF MERCHA 03f0: 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 NTABILITY AND FI 0400: 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 TNESS FOR A PART 0410: 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 0a 3b ICULAR PURPOSE.; 0420: 3b 20 41 52 45 20 44 49 53 43 4c 41 49 4d 45 44 ; ARE DISCLAIMED 0430: 2e 20 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 . IN NO EVENT S 0440: 48 41 4c 4c 20 54 48 45 20 41 55 54 48 4f 52 53 HALL THE AUTHORS 0450: 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 BE LIABLE FOR A 0460: 4e 59 0a 3b 3b 20 44 49 52 45 43 54 2c 20 49 4e NY.;; DIRECT, IN 0470: 44 49 52 45 43 54 2c 20 49 4e 43 49 44 45 4e 54 DIRECT, INCIDENT 0480: 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 45 58 45 AL, SPECIAL, EXE 0490: 4d 50 4c 41 52 59 2c 20 4f 52 20 43 4f 4e 53 45 MPLARY, OR CONSE 04a0: 51 55 45 4e 54 49 41 4c 0a 3b 3b 20 44 41 4d 41 QUENTIAL.;; DAMA 04b0: 47 45 53 20 28 49 4e 43 4c 55 44 49 4e 47 2c 20 GES (INCLUDING, 04c0: 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 BUT NOT LIMITED 04d0: 54 4f 2c 20 50 52 4f 43 55 52 45 4d 45 4e 54 20 TO, PROCUREMENT 04e0: 4f 46 20 53 55 42 53 54 49 54 55 54 45 0a 3b 3b OF SUBSTITUTE.;; 04f0: 20 47 4f 4f 44 53 20 4f 52 20 53 45 52 56 49 43 GOODS OR SERVIC 0500: 45 53 3b 20 4c 4f 53 53 20 4f 46 20 55 53 45 2c ES; LOSS OF USE, 0510: 20 44 41 54 41 2c 20 4f 52 20 50 52 4f 46 49 54 DATA, OR PROFIT 0520: 53 3b 20 4f 52 20 42 55 53 49 4e 45 53 53 0a 3b S; OR BUSINESS.; 0530: 3b 20 49 4e 54 45 52 52 55 50 54 49 4f 4e 29 20 ; INTERRUPTION) 0540: 48 4f 57 45 56 45 52 20 43 41 55 53 45 44 20 41 HOWEVER CAUSED A 0550: 4e 44 20 4f 4e 20 41 4e 59 20 54 48 45 4f 52 59 ND ON ANY THEORY 0560: 20 4f 46 20 4c 49 41 42 49 4c 49 54 59 2c 0a 3b OF LIABILITY,.; 0570: 3b 20 57 48 45 54 48 45 52 20 49 4e 20 43 4f 4e ; WHETHER IN CON 0580: 54 52 41 43 54 2c 20 53 54 52 49 43 54 20 4c 49 TRACT, STRICT LI 0590: 41 42 49 4c 49 54 59 2c 20 4f 52 20 54 4f 52 54 ABILITY, OR TORT 05a0: 20 28 49 4e 43 4c 55 44 49 4e 47 0a 3b 3b 20 4e (INCLUDING.;; N 05b0: 45 47 4c 49 47 45 4e 43 45 20 4f 52 20 4f 54 48 EGLIGENCE OR OTH 05c0: 45 52 57 49 53 45 29 20 41 52 49 53 49 4e 47 20 ERWISE) ARISING 05d0: 49 4e 20 41 4e 59 20 57 41 59 20 4f 55 54 20 4f IN ANY WAY OUT O 05e0: 46 20 54 48 45 20 55 53 45 20 4f 46 20 54 48 49 F THE USE OF THI 05f0: 53 0a 3b 3b 20 53 4f 46 54 57 41 52 45 2c 20 45 S.;; SOFTWARE, E 0600: 56 45 4e 20 49 46 20 41 44 56 49 53 45 44 20 4f VEN IF ADVISED O 0610: 46 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 F THE POSSIBILIT 0620: 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 Y OF SUCH DAMAGE 0630: 2e 0a 0a 28 72 65 71 75 69 72 65 2d 6c 69 62 72 ...(require-libr 0640: 61 72 79 20 73 72 66 69 2d 31 38 20 70 6f 72 74 ary srfi-18 port 0650: 73 20 70 72 6f 74 6f 62 75 66 29 0a 28 64 65 63 s protobuf).(dec 0660: 6c 61 72 65 20 28 64 69 73 61 62 6c 65 2d 69 6e lare (disable-in 0670: 74 65 72 72 75 70 74 73 29 29 0a 0a 28 6d 6f 64 terrupts))..(mod 0680: 75 6c 65 20 73 75 73 70 65 6e 73 69 6f 6e 0a 20 ule suspension. 0690: 20 28 77 69 74 68 2d 6c 69 6d 69 74 65 64 2d 63 (with-limited-c 06a0: 6f 6e 74 69 6e 75 61 74 69 6f 6e 20 0a 20 20 20 ontinuation . 06b0: 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 64 72 6f continuation-dro 06c0: 70 0a 20 20 20 63 6f 6e 74 69 6e 75 61 74 69 6f p. continuatio 06d0: 6e 2d 73 75 73 70 65 6e 64 0a 20 20 20 63 6f 6e n-suspend. con 06e0: 74 69 6e 75 61 74 69 6f 6e 2d 72 65 73 75 6d 65 tinuation-resume 06f0: 29 20 0a 20 20 28 69 6d 70 6f 72 74 0a 20 20 20 ) . (import. 0700: 73 63 68 65 6d 65 20 63 68 69 63 6b 65 6e 0a 20 scheme chicken. 0710: 20 20 73 72 66 69 2d 31 38 20 70 6f 72 74 73 20 srfi-18 ports 0720: 28 6f 6e 6c 79 20 70 72 6f 74 6f 62 75 66 2d 67 (only protobuf-g 0730: 65 6e 65 72 69 63 20 73 65 72 69 61 6c 69 7a 65 eneric serialize 0740: 20 64 65 73 65 72 69 61 6c 69 7a 65 29 29 0a 0a deserialize)).. 0750: 28 64 65 66 69 6e 65 20 65 72 72 6f 72 2d 6f 75 (define error-ou 0760: 74 70 75 74 20 23 23 73 79 73 23 73 74 61 6e 64 tput ##sys#stand 0770: 61 72 64 2d 65 72 72 6f 72 29 0a 28 64 65 66 69 ard-error).(defi 0780: 6e 65 20 73 74 61 6e 64 61 72 64 2d 6f 75 74 70 ne standard-outp 0790: 75 74 20 23 23 73 79 73 23 73 74 61 6e 64 61 72 ut ##sys#standar 07a0: 64 2d 6f 75 74 70 75 74 29 0a 28 64 65 66 69 6e d-output).(defin 07b0: 65 20 73 74 61 6e 64 61 72 64 2d 69 6e 70 75 74 e standard-input 07c0: 20 23 23 73 79 73 23 73 74 61 6e 64 61 72 64 2d ##sys#standard- 07d0: 69 6e 70 75 74 29 0a 0a 28 64 65 66 69 6e 65 20 input)..(define 07e0: 28 65 78 63 65 70 74 69 6f 6e 2d 68 61 6e 64 6c (exception-handl 07f0: 65 72 20 65 78 29 0a 20 20 28 74 68 72 65 61 64 er ex). (thread 0800: 2d 73 69 67 6e 61 6c 21 20 28 74 68 72 65 61 64 -signal! (thread 0810: 2d 73 70 65 63 69 66 69 63 20 23 23 73 79 73 23 -specific ##sys# 0820: 63 75 72 72 65 6e 74 2d 74 68 72 65 61 64 29 20 current-thread) 0830: 65 78 29 0a 20 20 28 63 6f 6e 74 69 6e 75 61 74 ex). (continuat 0840: 69 6f 6e 2d 64 72 6f 70 20 23 66 29 20 29 0a 0a ion-drop #f) ).. 0850: 28 64 65 66 69 6e 65 20 28 77 69 74 68 2d 6c 69 (define (with-li 0860: 6d 69 74 65 64 2d 63 6f 6e 74 69 6e 75 61 74 69 mited-continuati 0870: 6f 6e 20 74 68 75 6e 6b 29 0a 20 20 28 6c 65 74 on thunk). (let 0880: 2a 20 28 28 74 20 28 6d 61 6b 65 2d 74 68 72 65 * ((t (make-thre 0890: 61 64 20 0a 09 20 20 20 20 20 28 6c 61 6d 62 64 ad .. (lambd 08a0: 61 20 28 29 0a 09 20 20 20 20 20 20 20 28 23 23 a ().. (## 08b0: 73 79 73 23 63 61 6c 6c 2d 77 69 74 68 2d 63 74 sys#call-with-ct 08c0: 68 75 6c 68 75 0a 09 09 28 6c 61 6d 62 64 61 20 hulhu...(lambda 08d0: 28 29 20 0a 09 09 20 20 28 23 23 73 79 73 23 63 () ... (##sys#c 08e0: 61 6c 6c 2d 77 69 74 68 2d 76 61 6c 75 65 73 20 all-with-values 08f0: 74 68 75 6e 6b 20 63 6f 6e 74 69 6e 75 61 74 69 thunk continuati 0900: 6f 6e 2d 64 72 6f 70 29 20 29 20 29 20 29 20 29 on-drop) ) ) ) ) 0910: 20 29 0a 09 20 28 73 74 61 74 65 20 28 23 23 73 ).. (state (##s 0920: 79 73 23 73 6c 6f 74 20 74 20 35 29 29 20 29 0a ys#slot t 5)) ). 0930: 20 20 20 20 28 23 23 73 79 73 23 73 65 74 69 73 (##sys#setis 0940: 6c 6f 74 20 73 74 61 74 65 20 30 20 27 28 29 29 lot state 0 '()) 0950: 0a 20 20 20 20 28 23 23 73 79 73 23 73 65 74 73 . (##sys#sets 0960: 6c 6f 74 20 73 74 61 74 65 20 31 20 73 74 61 6e lot state 1 stan 0970: 64 61 72 64 2d 69 6e 70 75 74 29 0a 20 20 20 20 dard-input). 0980: 28 23 23 73 79 73 23 73 65 74 73 6c 6f 74 20 73 (##sys#setslot s 0990: 74 61 74 65 20 32 20 73 74 61 6e 64 61 72 64 2d tate 2 standard- 09a0: 6f 75 74 70 75 74 29 0a 20 20 20 20 28 23 23 73 output). (##s 09b0: 79 73 23 73 65 74 73 6c 6f 74 20 73 74 61 74 65 ys#setslot state 09c0: 20 33 20 65 72 72 6f 72 2d 6f 75 74 70 75 74 29 3 error-output) 09d0: 20 0a 20 20 20 20 28 23 23 73 79 73 23 73 65 74 . (##sys#set 09e0: 73 6c 6f 74 20 73 74 61 74 65 20 34 20 65 78 63 slot state 4 exc 09f0: 65 70 74 69 6f 6e 2d 68 61 6e 64 6c 65 72 29 0a eption-handler). 0a00: 20 20 20 20 28 74 68 72 65 61 64 2d 73 70 65 63 (thread-spec 0a10: 69 66 69 63 2d 73 65 74 21 20 74 20 23 23 73 79 ific-set! t ##sy 0a20: 73 23 63 75 72 72 65 6e 74 2d 74 68 72 65 61 64 s#current-thread 0a30: 29 0a 20 20 20 20 28 74 68 72 65 61 64 2d 73 74 ). (thread-st 0a40: 61 72 74 21 20 74 29 0a 20 20 20 20 28 74 68 72 art! t). (thr 0a50: 65 61 64 2d 73 75 73 70 65 6e 64 21 20 23 23 73 ead-suspend! ##s 0a60: 79 73 23 63 75 72 72 65 6e 74 2d 74 68 72 65 61 ys#current-threa 0a70: 64 29 0a 20 20 20 20 28 23 23 73 79 73 23 73 65 d). (##sys#se 0a80: 74 73 6c 6f 74 20 28 23 23 73 79 73 23 73 6c 6f tslot (##sys#slo 0a90: 74 20 74 20 35 29 20 35 20 28 23 23 73 79 73 23 t t 5) 5 (##sys# 0aa0: 73 6c 6f 74 20 73 74 61 74 65 20 35 29 29 0a 20 slot state 5)). 0ab0: 20 20 20 28 23 23 73 79 73 23 61 70 70 6c 79 2d (##sys#apply- 0ac0: 76 61 6c 75 65 73 20 28 23 23 73 79 73 23 73 6c values (##sys#sl 0ad0: 6f 74 20 74 20 32 29 29 20 29 20 29 0a 0a 28 64 ot t 2)) ) )..(d 0ae0: 65 66 69 6e 65 20 28 63 6f 6e 74 69 6e 75 61 74 efine (continuat 0af0: 69 6f 6e 2d 64 72 6f 70 20 2e 20 72 65 73 75 6c ion-drop . resul 0b00: 74 73 29 0a 20 20 28 23 23 73 79 73 23 73 65 74 ts). (##sys#set 0b10: 73 6c 6f 74 20 23 23 73 79 73 23 63 75 72 72 65 slot ##sys#curre 0b20: 6e 74 2d 74 68 72 65 61 64 20 32 20 72 65 73 75 nt-thread 2 resu 0b30: 6c 74 73 29 0a 20 20 28 74 68 72 65 61 64 2d 72 lts). (thread-r 0b40: 65 73 75 6d 65 21 20 28 74 68 72 65 61 64 2d 73 esume! (thread-s 0b50: 70 65 63 69 66 69 63 20 23 23 73 79 73 23 63 75 pecific ##sys#cu 0b60: 72 72 65 6e 74 2d 74 68 72 65 61 64 29 29 0a 20 rrent-thread)). 0b70: 20 28 23 23 73 79 73 23 74 68 72 65 61 64 2d 6b (##sys#thread-k 0b80: 69 6c 6c 21 20 23 23 73 79 73 23 63 75 72 72 65 ill! ##sys#curre 0b90: 6e 74 2d 74 68 72 65 61 64 20 27 64 65 61 64 29 nt-thread 'dead) 0ba0: 20 0a 20 20 28 23 23 73 79 73 23 73 63 68 65 64 . (##sys#sched 0bb0: 75 6c 65 29 20 29 0a 0a 28 64 65 66 69 6e 65 20 ule) )..(define 0bc0: 28 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 73 75 (continuation-su 0bd0: 73 70 65 6e 64 20 73 74 6f 72 65 29 0a 20 20 28 spend store). ( 0be0: 23 23 73 79 73 23 61 70 70 6c 79 2d 76 61 6c 75 ##sys#apply-valu 0bf0: 65 73 0a 20 20 20 28 23 23 73 79 73 23 63 61 6c es. (##sys#cal 0c00: 6c 2d 77 69 74 68 2d 64 69 72 65 63 74 2d 63 6f l-with-direct-co 0c10: 6e 74 69 6e 75 61 74 69 6f 6e 0a 20 20 20 20 28 ntinuation. ( 0c20: 6c 61 6d 62 64 61 20 28 6b 29 0a 20 20 20 20 20 lambda (k). 0c30: 20 28 6c 65 74 20 28 28 6f 20 28 6f 70 65 6e 2d (let ((o (open- 0c40: 6f 75 74 70 75 74 2d 73 74 72 69 6e 67 29 29 29 output-string))) 0c50: 0a 09 28 73 65 72 69 61 6c 69 7a 65 20 6b 20 6f ..(serialize k o 0c60: 29 0a 09 28 23 23 73 79 73 23 63 61 6c 6c 2d 77 )..(##sys#call-w 0c70: 69 74 68 2d 76 61 6c 75 65 73 20 0a 09 20 28 6c ith-values .. (l 0c80: 61 6d 62 64 61 20 28 29 20 28 73 74 6f 72 65 20 ambda () (store 0c90: 28 67 65 74 2d 6f 75 74 70 75 74 2d 73 74 72 69 (get-output-stri 0ca0: 6e 67 20 6f 29 29 29 0a 09 20 63 6f 6e 74 69 6e ng o))).. contin 0cb0: 75 61 74 69 6f 6e 2d 64 72 6f 70 29 20 29 20 29 uation-drop) ) ) 0cc0: 20 29 20 29 20 29 0a 0a 28 64 65 66 69 6e 65 20 ) ) )..(define 0cd0: 28 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 2d 72 65 (continuation-re 0ce0: 73 75 6d 65 20 6b 20 2e 20 72 65 73 75 6c 74 73 sume k . results 0cf0: 29 0a 20 20 28 23 23 73 79 73 23 64 69 72 65 63 ). (##sys#direc 0d00: 74 2d 72 65 74 75 72 6e 20 28 77 69 74 68 2d 69 t-return (with-i 0d10: 6e 70 75 74 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 nput-from-string 0d20: 20 6b 20 64 65 73 65 72 69 61 6c 69 7a 65 29 20 k deserialize) 0d30: 72 65 73 75 6c 74 73 29 20 29 0a 0a 29 0a results) )..).