Position Independent Source Code

Hex Artifact Content
Login

Artifact 8bf92dc07515f2513b40449331ba7ad7fa642283:

Wiki page [Long-Term Plans] by yumaikas 2017-03-21 19:47:06.
0000: 44 20 32 30 31 37 2d 30 33 2d 32 31 54 31 39 3a  D 2017-03-21T19:
0010: 34 37 3a 30 36 2e 36 32 32 0a 4c 20 4c 6f 6e 67  47:06.622.L Long
0020: 2d 54 65 72 6d 5c 73 50 6c 61 6e 73 0a 4e 20 74  -Term\sPlans.N t
0030: 65 78 74 2f 78 2d 6d 61 72 6b 64 6f 77 6e 0a 50  ext/x-markdown.P
0040: 20 38 30 36 35 35 33 32 65 64 37 36 63 64 32 33   8065532ed76cd23
0050: 62 34 35 34 66 63 36 37 32 32 31 33 64 37 37 34  b454fc672213d774
0060: 35 30 30 34 36 37 30 61 62 0a 55 20 79 75 6d 61  5004670ab.U yuma
0070: 69 6b 61 73 0a 57 20 31 33 34 33 0a 4c 6f 6e 67  ikas.W 1343.Long
0080: 20 74 65 72 6d 2c 20 74 68 65 72 65 20 61 72 65   term, there are
0090: 20 61 20 63 6f 75 70 6c 65 20 70 6c 61 63 65 73   a couple places
00a0: 20 74 68 61 74 20 49 27 64 20 6c 69 6b 65 20 74   that I'd like t
00b0: 6f 20 75 73 20 50 49 53 43 2e 20 54 68 65 20 66  o us PISC. The f
00c0: 69 72 73 74 20 69 73 20 61 73 20 61 20 73 63 72  irst is as a scr
00d0: 69 70 74 69 6e 67 20 6c 61 6e 67 75 61 67 65 20  ipting language 
00e0: 69 6e 20 74 68 65 20 76 65 69 6e 20 6f 66 20 50  in the vein of P
00f0: 79 74 68 6f 6e 20 6f 72 20 52 75 62 79 2e 20 54  ython or Ruby. T
0100: 68 61 74 20 68 61 73 20 62 65 65 6e 20 74 68 65  hat has been the
0110: 20 66 6f 63 75 73 20 6f 66 20 50 49 53 43 20 73   focus of PISC s
0120: 6f 20 66 61 72 2c 20 61 6e 64 20 77 69 6c 6c 20  o far, and will 
0130: 63 6f 6e 74 69 6e 75 65 20 75 6e 74 69 6c 20 49  continue until I
0140: 20 68 61 76 65 20 6d 6f 72 65 20 74 69 6d 65 20   have more time 
0150: 74 6f 20 73 69 6e 6b 20 69 6e 74 6f 20 74 68 65  to sink into the
0160: 20 6e 65 78 74 20 73 74 61 67 65 20 6f 66 20 50   next stage of P
0170: 49 53 43 2e 20 46 6f 72 20 6e 6f 77 2c 20 49 20  ISC. For now, I 
0180: 77 61 6e 74 20 74 6f 20 67 65 74 20 50 49 53 43  want to get PISC
0190: 20 61 20 62 69 74 20 6d 6f 72 65 20 73 74 61 62   a bit more stab
01a0: 6c 65 20 62 79 20 63 72 65 61 74 69 6e 67 20 61  le by creating a
01b0: 20 73 65 74 20 6f 66 20 74 65 73 74 73 2c 20 61   set of tests, a
01c0: 6e 64 20 72 65 66 69 6e 69 6e 67 20 74 68 65 20  nd refining the 
01d0: 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79  standard library
01e0: 2e 0d 0a 0d 0a 54 68 65 20 73 65 63 6f 6e 64 20  .....The second 
01f0: 70 6c 61 6e 6e 65 64 20 75 73 65 20 66 6f 72 20  planned use for 
0200: 50 49 53 43 20 69 73 20 61 73 20 61 20 63 68 61  PISC is as a cha
0210: 74 62 6f 74 20 73 63 72 69 70 74 69 6e 67 20 6c  tbot scripting l
0220: 61 6e 67 75 61 67 65 2c 20 73 69 74 74 69 6e 67  anguage, sitting
0230: 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f   in the middle o
0240: 66 20 61 20 68 61 72 64 65 6e 65 64 20 61 6e 64  f a hardened and
0250: 20 61 62 75 73 65 20 70 72 6f 74 65 63 74 65 64   abuse protected
0260: 20 49 52 43 20 63 68 61 74 62 6f 74 2c 20 77 69   IRC chatbot, wi
0270: 74 68 20 70 6c 61 6e 73 20 74 6f 20 61 64 64 20  th plans to add 
0280: 6f 74 68 65 72 20 63 6f 6e 6e 65 63 74 6f 72 73  other connectors
0290: 2c 20 73 75 63 68 20 61 73 20 53 6c 61 63 6b 20  , such as Slack 
02a0: 61 6e 64 20 44 69 73 63 6f 72 64 2c 20 6c 61 74  and Discord, lat
02b0: 65 72 2e 20 54 68 69 73 20 75 73 65 20 63 61 73  er. This use cas
02c0: 65 20 77 6f 75 6c 64 20 62 65 20 61 73 20 66 6f  e would be as fo
02d0: 6c 6c 6f 77 73 3a 20 0d 0a 0d 0a 2a 20 41 6c 6c  llows: ....* All
02e0: 6f 77 20 66 6f 72 20 65 76 61 6c 75 61 74 69 6e  ow for evaluatin
02f0: 67 20 50 49 53 43 20 76 69 61 20 49 52 43 2c 20  g PISC via IRC, 
0300: 62 75 74 20 77 69 74 68 20 61 20 62 75 64 67 65  but with a budge
0310: 74 20 6f 6e 20 68 6f 77 20 6d 75 63 68 20 74 69  t on how much ti
0320: 6d 65 2f 49 4f 20 69 73 20 61 6c 6c 6f 63 61 74  me/IO is allocat
0330: 65 64 20 74 6f 20 74 68 65 20 50 49 53 43 2e 20  ed to the PISC. 
0340: 0d 0a 2a 20 41 6c 6c 6f 77 20 66 6f 72 20 75 73  ..* Allow for us
0350: 65 72 73 20 74 6f 20 75 73 65 20 61 20 5b 77 65  ers to use a [we
0360: 62 20 69 6e 74 65 72 66 61 63 65 5d 5b 50 49 53  b interface][PIS
0370: 43 2d 69 64 65 5d 20 74 6f 20 63 72 65 61 74 65  C-ide] to create
0380: 20 74 68 65 69 72 20 6f 77 6e 20 77 6f 72 64 73   their own words
0390: 2f 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20  /functions that 
03a0: 61 72 65 20 75 73 65 64 20 74 6f 20 72 65 73 70  are used to resp
03b0: 6f 6e 64 20 74 6f 20 70 68 72 61 73 65 73 20 0d  ond to phrases .
03c0: 0a 2a 20 50 72 6f 76 69 64 65 20 61 20 75 73 65  .* Provide a use
03d0: 66 75 6c 2c 20 79 65 74 20 73 61 6e 64 62 6f 78  ful, yet sandbox
03e0: 61 62 6c 65 20 73 74 6f 72 61 67 65 20 6d 65 63  able storage mec
03f0: 68 61 6e 69 73 6d 20 66 6f 72 20 73 61 76 69 6e  hanism for savin
0400: 67 20 73 74 61 74 65 20 62 65 74 77 65 65 6e 20  g state between 
0410: 49 52 43 20 63 61 6c 6c 73 2e 20 52 69 67 68 74  IRC calls. Right
0420: 20 6e 6f 77 2c 20 42 6f 6c 74 44 42 20 69 73 20   now, BoltDB is 
0430: 62 65 69 6e 67 20 63 6f 6e 73 69 64 65 72 65 64  being considered
0440: 20 66 6f 72 20 74 68 69 73 2e 0d 0a 2a 20 53 68   for this...* Sh
0450: 6f 72 74 65 6e 20 6c 6f 6e 67 2f 66 6c 6f 6f 64  orten long/flood
0460: 79 20 72 65 73 70 6f 6e 73 65 73 20 28 61 74 20  y responses (at 
0470: 6c 65 61 73 74 20 66 6f 72 20 49 52 43 29 2c 20  least for IRC), 
0480: 61 6e 64 20 72 65 70 6c 61 63 65 20 74 68 65 6d  and replace them
0490: 20 77 69 74 68 20 61 20 6c 69 6e 6b 20 74 6f 20   with a link to 
04a0: 74 68 65 20 72 65 73 75 6c 74 73 0d 0a 2a 20 50  the results..* P
04b0: 72 6f 76 69 64 65 20 61 20 73 74 6f 72 61 67 65  rovide a storage
04c0: 20 76 69 65 77 65 72 20 76 69 61 20 74 68 65 20   viewer via the 
04d0: 77 65 62 20 69 6e 74 65 72 66 61 63 65 0d 0a 2a  web interface..*
04e0: 20 50 6f 74 65 6e 74 69 61 6c 6c 79 2c 20 69 66   Potentially, if
04f0: 20 74 68 65 72 65 20 77 61 73 20 61 6e 79 20 69   there was any i
0500: 6e 74 65 72 65 73 74 2c 20 70 72 6f 76 69 64 65  nterest, provide
0510: 20 61 20 68 6f 73 74 69 6e 67 20 73 65 72 76 69   a hosting servi
0520: 63 65 20 66 6f 72 20 73 61 69 64 20 63 68 61 74  ce for said chat
0530: 62 6f 74 20 28 74 68 69 73 20 61 73 73 75 6d 65  bot (this assume
0540: 73 20 74 68 61 74 20 69 74 20 74 61 6b 65 73 20  s that it takes 
0550: 6f 66 66 20 61 74 20 61 6c 6c 29 0d 0a 0d 0a 5b  off at all)....[
0560: 50 49 53 43 2d 69 64 65 5d 3a 20 68 74 74 70 73  PISC-ide]: https
0570: 3a 2f 2f 70 69 73 63 2e 6a 75 6e 67 6c 65 63 6f  ://pisc.jungleco
0580: 64 65 72 2e 63 6f 6d 2f 68 6f 6d 65 2f 61 70 70  der.com/home/app
0590: 73 2f 66 6f 73 73 69 6c 2f 50 49 53 43 2e 66 6f  s/fossil/PISC.fo
05a0: 73 73 69 6c 2f 77 69 6b 69 3f 6e 61 6d 65 3d 70  ssil/wiki?name=p
05b0: 69 73 63 2d 77 65 62 2d 69 64 65 0a 5a 20 37 38  isc-web-ide.Z 78
05c0: 33 30 37 65 30 34 30 38 62 37 35 65 63 32 32 30  307e0408b75ec220
05d0: 38 36 31 63 36 35 33 64 64 36 33 34 35 34 0a     861c653dd63454.