Artifact
efb883350f8fbc8ca761bc4c3fc33bbe7f75e7be:
Wiki page
[
Thunderchez] by
aldo
2016-09-03 19:04:45.
0000: 44 20 32 30 31 36 2d 30 39 2d 30 33 54 31 39 3a D 2016-09-03T19:
0010: 30 34 3a 34 35 2e 31 37 35 0a 4c 20 54 68 75 6e 04:45.175.L Thun
0020: 64 65 72 63 68 65 7a 0a 4e 20 74 65 78 74 2f 78 derchez.N text/x
0030: 2d 6d 61 72 6b 64 6f 77 6e 0a 50 20 66 65 38 33 -markdown.P fe83
0040: 39 33 63 34 38 64 39 35 61 35 30 37 37 38 32 36 93c48d95a5077826
0050: 39 36 37 66 36 31 64 31 65 66 65 62 33 32 63 31 967f61d1efeb32c1
0060: 31 65 61 33 0a 55 20 61 6c 64 6f 0a 57 20 32 30 1ea3.U aldo.W 20
0070: 30 37 0a 23 20 74 68 75 6e 64 65 72 63 68 65 7a 07.# thunderchez
0080: 0d 0a 4c 69 62 72 61 72 69 65 73 20 66 6f 72 20 ..Libraries for
0090: 43 68 65 7a 20 53 63 68 65 6d 65 28 68 74 74 70 Chez Scheme(http
00a0: 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 s://github.com/c
00b0: 69 73 63 6f 2f 43 68 65 7a 53 63 68 65 6d 65 29 isco/ChezScheme)
00c0: 20 70 72 6f 64 75 63 74 69 76 69 74 79 0d 0a 0d productivity...
00d0: 0a 42 65 20 73 75 72 65 20 74 6f 20 70 75 74 20 .Be sure to put
00e0: 74 68 75 6e 64 65 72 63 68 65 7a 20 70 61 74 68 thunderchez path
00f0: 20 6f 6e 20 79 6f 75 72 20 6c 69 62 72 61 72 79 on your library
0100: 20 70 61 74 68 2c 0d 0a 0d 0a 42 79 20 65 78 61 path,....By exa
0110: 6d 70 6c 65 3a 0d 0a 0d 0a 20 20 20 20 28 6c 69 mple:.... (li
0120: 62 72 61 72 79 2d 64 69 72 65 63 74 6f 72 69 65 brary-directorie
0130: 73 20 22 2f 70 61 74 68 2f 74 6f 2f 74 68 75 6e s "/path/to/thun
0140: 64 65 72 63 68 65 7a 22 29 0d 0a 0d 0a 0d 0a 6f derchez")......o
0150: 72 20 73 65 74 20 74 68 65 20 43 48 45 5a 53 43 r set the CHEZSC
0160: 48 45 4d 45 4c 49 42 44 49 52 53 20 65 6e 76 69 HEMELIBDIRS envi
0170: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 ronment variable
0180: 3a 0d 0a 0d 0a 20 20 20 20 43 48 45 5a 53 43 48 :.... CHEZSCH
0190: 45 4d 45 4c 49 42 44 49 52 53 3d 2f 70 61 74 68 EMELIBDIRS=/path
01a0: 2f 74 6f 2f 74 68 75 6e 64 65 72 63 68 65 7a 0d /to/thunderchez.
01b0: 0a 0d 0a 0d 0a 23 23 20 53 52 46 49 0d 0a 0d 0a .....## SRFI....
01c0: 42 61 73 65 64 20 6f 6e 20 73 75 72 66 61 67 65 Based on surfage
01d0: 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e (https://github.
01e0: 63 6f 6d 2f 64 68 61 72 6d 61 74 65 63 68 2f 73 com/dharmatech/s
01f0: 75 72 66 61 67 65 2f 29 20 77 69 74 68 20 6d 69 urfage/) with mi
0200: 6e 6f 72 20 63 68 61 6e 67 65 73 0d 0a 0d 0a 20 nor changes....
0210: 20 20 20 28 69 6d 70 6f 72 74 20 28 73 72 66 69 (import (srfi
0220: 20 73 31 20 6c 69 73 74 73 29 29 0d 0a 20 20 20 s1 lists))..
0230: 20 09 28 69 6d 70 6f 72 74 20 28 73 72 66 69 20 .(import (srfi
0240: 73 31 33 20 73 74 72 69 6e 67 73 29 29 0d 0a 20 s13 strings))..
0250: 20 20 20 09 28 69 6d 70 6f 72 74 20 28 73 72 66 .(import (srf
0260: 69 20 73 31 34 20 63 68 61 72 2d 73 65 74 73 29 i s14 char-sets)
0270: 29 0d 0a 20 20 20 20 09 65 74 63 2e 2e 2e 0d 0a ).. .etc.....
0280: 0d 0a 0d 0a 23 23 20 46 6d 74 0d 0a 4f 72 69 67 ....## Fmt..Orig
0290: 69 6e 61 6c 20 73 69 74 65 28 68 74 74 70 3a 2f inal site(http:/
02a0: 2f 73 79 6e 74 68 63 6f 64 65 2e 63 6f 6d 2f 73 /synthcode.com/s
02b0: 63 68 65 6d 65 2f 66 6d 74 2f 29 0d 0a 0d 0a 20 cheme/fmt/)....
02c0: 20 20 20 28 69 6d 70 6f 72 74 20 28 66 6d 74 20 (import (fmt
02d0: 66 6d 74 29 29 20 0d 0a 20 20 20 20 09 28 69 6d fmt)) .. .(im
02e0: 70 6f 72 74 20 28 66 6d 74 20 66 6d 74 2d 63 29 port (fmt fmt-c)
02f0: 29 20 0d 0a 20 20 20 20 09 28 69 6d 70 6f 72 74 ) .. .(import
0300: 20 28 66 6d 74 20 66 6d 74 2d 6a 73 29 29 20 0d (fmt fmt-js)) .
0310: 0a 0d 0a 0d 0a 23 23 20 4d 61 74 63 68 61 62 6c .....## Matchabl
0320: 65 0d 0a 42 61 73 65 64 20 6f 6e 20 6d 61 74 63 e..Based on matc
0330: 68 61 62 6c 65 20 65 67 67 28 68 74 74 70 3a 2f hable egg(http:/
0340: 2f 77 69 6b 69 2e 63 61 6c 6c 2d 63 63 2e 6f 72 /wiki.call-cc.or
0350: 67 2f 65 67 67 72 65 66 2f 34 2f 6d 61 74 63 68 g/eggref/4/match
0360: 61 62 6c 65 29 0d 0a 0d 0a 20 20 20 20 28 69 6d able).... (im
0370: 70 6f 72 74 20 28 6d 61 74 63 68 61 62 6c 65 29 port (matchable)
0380: 29 0d 0a 0d 0a 0d 0a 23 23 20 53 71 6c 69 74 65 )......## Sqlite
0390: 33 0d 0a 42 61 73 65 64 20 70 61 72 74 69 61 6c 3..Based partial
03a0: 6c 79 20 6f 6e 20 63 68 69 63 6b 65 6e 20 73 71 ly on chicken sq
03b0: 6c 69 74 65 33 20 65 67 67 28 68 74 74 70 3a 2f lite3 egg(http:/
03c0: 2f 77 69 6b 69 2e 63 61 6c 6c 2d 63 63 2e 6f 72 /wiki.call-cc.or
03d0: 67 2f 65 67 67 72 65 66 2f 34 2f 73 71 6c 69 74 g/eggref/4/sqlit
03e0: 65 33 29 20 62 75 74 20 73 6c 69 67 68 74 6c 79 e3) but slightly
03f0: 20 64 69 66 66 65 72 65 6e 74 2e 20 4e 65 65 64 different. Need
0400: 73 20 73 6f 6d 65 20 74 65 73 74 69 6e 67 2e 0d s some testing..
0410: 0a 0d 0a 20 20 20 20 28 69 6d 70 6f 72 74 20 28 ... (import (
0420: 73 71 6c 69 74 65 33 29 29 0d 0a 0d 0a 0d 0a 23 sqlite3))......#
0430: 23 20 55 53 42 0d 0a 4c 69 62 72 61 72 79 20 77 # USB..Library w
0440: 65 62 73 69 74 65 28 68 74 74 70 3a 2f 2f 6c 69 ebsite(http://li
0450: 62 75 73 62 2e 69 6e 66 6f 29 0d 0a 0d 0a 20 20 busb.info)....
0460: 20 20 28 69 6d 70 6f 72 74 20 28 75 73 62 29 29 (import (usb))
0470: 0d 0a 0d 0a 0d 0a 23 23 20 53 44 4c 32 0d 0a 0d ......## SDL2...
0480: 0a 4c 69 62 72 61 72 79 20 77 65 62 73 69 74 65 .Library website
0490: 28 68 74 74 70 3a 2f 2f 77 77 77 2e 6c 69 62 73 (http://www.libs
04a0: 64 6c 2e 6f 72 67 29 0d 0a 0d 0a 20 20 20 20 28 dl.org).... (
04b0: 69 6d 70 6f 72 74 20 28 73 64 6c 32 29 29 09 0d import (sdl2))..
04c0: 0a 0d 0a 0d 0a 23 23 20 43 61 69 72 6f 0d 0a 4c .....## Cairo..L
04d0: 69 62 72 61 72 79 20 77 65 62 73 69 74 65 28 68 ibrary website(h
04e0: 74 74 70 3a 2f 2f 77 77 77 2e 63 61 69 72 6f 67 ttp://www.cairog
04f0: 72 61 70 68 69 63 73 2e 6f 72 67 29 0d 0a 0d 0a raphics.org)....
0500: 20 20 20 20 28 69 6d 70 6f 72 74 20 28 63 61 69 (import (cai
0510: 72 6f 29 29 0d 0a 0d 0a 0d 0a 53 65 65 20 74 65 ro))......See te
0520: 73 74 2e 73 73 28 2e 2f 63 61 69 72 6f 2f 74 65 st.ss(./cairo/te
0530: 73 74 2e 73 73 29 20 66 6f 72 20 65 78 61 6d 70 st.ss) for examp
0540: 6c 65 73 0d 0a 0d 0a 23 23 20 4a 73 6f 6e 20 70 les....## Json p
0550: 61 72 73 65 72 0d 0a 55 73 65 73 20 6c 61 6c 72 arser..Uses lalr
0560: 28 2e 2f 6c 61 6c 72 2f 6c 61 6c 72 2e 73 73 29 (./lalr/lalr.ss)
0570: 0d 0a 0d 0a 20 20 20 20 28 69 6d 70 6f 72 74 20 .... (import
0580: 28 6a 73 6f 6e 29 29 0d 0a 0d 0a 0d 0a 20 20 20 (json))......
0590: 20 28 73 74 72 69 6e 67 2d 3e 6a 73 6f 6e 20 22 (string->json "
05a0: 7b 20 5c 22 6e 61 6d 65 5c 22 20 3a 20 5c 22 6d { \"name\" : \"m
05b0: 79 2d 6e 61 6d 65 5c 22 20 2c 20 5c 22 61 67 65 y-name\" , \"age
05c0: 5c 22 20 3a 20 31 32 30 20 2c 20 5c 22 63 68 69 \" : 120 , \"chi
05d0: 6c 64 72 65 6e 5c 22 20 3a 20 7b 20 5c 22 6e 61 ldren\" : { \"na
05e0: 6d 65 5c 22 20 3a 20 5c 22 6d 79 2d 73 6f 6e 5c me\" : \"my-son\
05f0: 22 2c 20 5c 22 61 67 65 5c 22 20 3a 20 31 20 7d ", \"age\" : 1 }
0600: 2c 20 7b 20 5c 22 6e 61 6d 65 5c 22 20 3a 20 5c , { \"name\" : \
0610: 22 6d 79 2d 73 6f 6e 32 5c 22 2c 20 5c 22 61 67 "my-son2\", \"ag
0620: 65 5c 22 20 3a 20 32 20 7d 20 7d 22 20 29 0d 0a e\" : 2 } }" )..
0630: 20 20 20 20 09 3d 3e 20 28 28 6e 61 6d 65 20 2e .=> ((name .
0640: 20 22 6d 79 2d 6e 61 6d 65 22 29 0d 0a 20 20 20 "my-name")..
0650: 20 09 20 20 20 20 28 61 67 65 20 2e 20 31 32 30 . (age . 120
0660: 29 0d 0a 20 20 20 20 09 20 20 20 20 28 63 68 69 ).. . (chi
0670: 6c 64 72 65 6e 20 2e 0d 0a 20 20 20 20 20 20 20 ldren ...
0680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0690: 20 23 28 28 28 6e 61 6d 65 20 2e 20 22 6d 79 2d #(((name . "my-
06a0: 73 6f 6e 22 29 20 28 61 67 65 20 2e 20 31 29 29 son") (age . 1))
06b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
06c0: 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 61 ((na
06d0: 6d 65 20 2e 20 22 6d 79 2d 73 6f 6e 32 22 29 20 me . "my-son2")
06e0: 28 61 67 65 20 2e 20 32 29 29 29 29 29 0d 0a 0d (age . 2)))))...
06f0: 0a 0d 0a 23 23 20 4e 61 6e 6f 4d 73 67 0d 0a 4c ...## NanoMsg..L
0700: 69 62 72 61 72 79 20 77 65 62 73 69 74 65 28 68 ibrary website(h
0710: 74 74 70 3a 2f 2f 77 77 77 2e 6e 61 6e 6f 6d 73 ttp://www.nanoms
0720: 67 2e 6f 72 67 29 0d 0a 0d 0a 20 20 20 20 28 69 g.org).... (i
0730: 6d 70 6f 72 74 20 28 6e 61 6e 6f 6d 73 67 29 29 mport (nanomsg))
0740: 0d 0a 0d 0a 0d 0a 23 23 23 20 53 6f 6d 65 20 74 ......### Some t
0750: 65 73 74 73 20 66 72 6f 6d 20 6e 61 6e 6f 6d 73 ests from nanoms
0760: 67 2d 65 78 61 6d 70 6c 65 73 28 68 74 74 70 73 g-examples(https
0770: 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 64 79 ://github.com/dy
0780: 73 69 6e 67 65 72 2f 6e 61 6e 6f 6d 73 67 2d 65 singer/nanomsg-e
0790: 78 61 6d 70 6c 65 73 29 0d 0a 20 20 2a 20 70 69 xamples).. * pi
07a0: 70 65 6c 69 6e 65 28 2e 2f 6e 61 6e 6f 6d 73 67 peline(./nanomsg
07b0: 2f 70 69 70 65 6c 69 6e 65 29 0d 0a 20 20 2a 20 /pipeline).. *
07c0: 72 65 71 72 65 70 28 2e 2f 6e 61 6e 6f 6d 73 67 reqrep(./nanomsg
07d0: 2f 72 65 71 72 65 70 29 0d 0a 20 20 2a 20 70 61 /reqrep).. * pa
07e0: 69 72 28 2e 2f 6e 61 6e 6f 6d 73 67 2f 70 61 69 ir(./nanomsg/pai
07f0: 72 29 0d 0a 20 20 2a 20 70 75 62 73 75 62 28 2e r).. * pubsub(.
0800: 2f 6e 61 6e 6f 6d 73 67 2f 70 75 62 73 75 62 29 /nanomsg/pubsub)
0810: 0d 0a 20 20 2a 20 62 75 73 28 2e 2f 6e 61 6e 6f .. * bus(./nano
0820: 6d 73 67 2f 62 75 73 29 0d 0a 20 20 2a 20 73 75 msg/bus).. * su
0830: 72 76 65 79 28 2e 2f 6e 61 6e 6f 6d 73 67 2f 73 rvey(./nanomsg/s
0840: 75 72 76 65 79 29 0d 0a 0d 0a 0a 5a 20 61 39 30 urvey).....Z a90
0850: 31 36 37 65 37 32 34 36 30 37 61 66 64 31 32 31 167e724607afd121
0860: 30 33 39 39 63 30 34 61 36 62 31 61 35 0a 0399c04a6b1a5.