Hex Artifact Content
Not logged in

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.