00:00:00 --- log: started forth/16.12.27 00:30:05 --- join: proteusguy (~proteus-g@2405:9800:b400:495c:4a51:b7ff:fe38:d966) joined #forth 00:30:05 --- mode: ChanServ set +v proteusguy 00:31:15 --- quit: John[Lisbeth] (Ping timeout: 245 seconds) 00:31:38 --- join: proteus-guy (~proteusgu@180.183.137.14) joined #forth 01:15:30 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:1408:f702:cde7:3db6) joined #forth 01:15:32 dat forth day doe 02:03:27 --- quit: John[Lisbeth] (Ping timeout: 258 seconds) 02:13:56 --- quit: mnemnion (Remote host closed the connection) 04:05:44 --- quit: nighty (Quit: Disappears in a puff of smoke) 04:14:26 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 04:19:26 --- quit: mnemnion (Ping timeout: 265 seconds) 04:59:37 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:1408:f702:cde7:3db6) joined #forth 05:04:01 --- quit: John[Lisbeth] (Ping timeout: 258 seconds) 05:04:33 --- join: nighty (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:19:32 --- join: ricky_ricardo (~rickyrica@2601:240:4203:ecb0:f897:af8:1ed9:2e9d) joined #forth 07:07:31 --- join: rgrinberg (~rgrinberg@24-246-56-85.cable.teksavvy.com) joined #forth 09:02:54 Lately I've been thinking about how to bridge the divide between source code and executable code. 09:03:34 One thing that could be done is to make opcodes printable characters with a special font. 09:04:34 I also had the thought of viewing the 2 stacks in Forth as a gap-buffer/zipper. This way the outer and inner interpreters could be combined. Your cursor would become the stack pointer. Gap buffers are often used by simple text editors. https://en.wikipedia.org/wiki/Gap_buffer http://scienceblogs.com/goodmath/2010/01/13/zippers-making-functional-upda/ 09:08:47 ...but the two-stack arrangement is common because it expresses horizontal (e.g, data stack) and vertical (e.g, return stack) motion. What I don't want to do is tie together the x and y dimensions. 09:15:02 Still, I think zippers could be useful in Forth because Forth often works with local changes on stacks. 09:17:35 Essentially I want to edit the dictionary directly with the outer interpreter and text editor. 09:19:40 i usually write the return stack comment with its tos on the left, sort of like you suggest 09:19:47 but only as notation 09:20:01 r> and >r then just move that "cursor" 09:25:23 I wouldn't always want to move inside a definition whenever I move the cursor. Perhaps one could append characters to both sides of the gap buffer, and just lay down the data in the array in such a way that makes inserting into definitions possible like this. 09:26:30 I suppose that's the point of generalizing a gap buffer into a "zipper" 09:32:13 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:957f:861e:9b52:cdf1) joined #forth 10:04:22 over-generalizing is very much against the spirit of Forth 10:04:48 solve the actual problem you have, nothing more, nothing less 11:28:53 --- quit: josh5tone (Ping timeout: 258 seconds) 11:36:02 right, but you also need to figure out what the real problem is. If I'm fighting complexity it's a sign that I'm not working on the real problem. Without reframing the problem I won't likely find a simpler way to express this. 11:36:09 I'm trying to do what MARKER and FORGET do badly. 11:37:01 Instead I just want to edit the dictionary directly. 11:38:54 Fortunately putting the dictionary into a gap buffer and calling it a zipper doesn't really add more indirection. 11:42:18 But I think you are right in that one must be careful not to bind to many concepts under the same name and thereby over-generalize. We don't want the x dimension to change the y dimension, unless we do. 12:42:08 --- quit: neceve (Quit: Konversation terminated!) 14:20:19 --- quit: ricky_ricardo (Ping timeout: 259 seconds) 14:54:57 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 15:30:50 --- quit: true-grue (Read error: Connection reset by peer) 15:31:12 --- quit: nighty (Quit: Disappears in a puff of smoke) 15:59:56 --- join: alexshendi (~yaaic@dslb-092-076-080-038.092.076.pools.vodafone-ip.de) joined #forth 16:55:17 --- join: nighty (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 17:05:21 --- join: ricky_ricardo (~rickyrica@2601:240:4203:ecb0:f897:af8:1ed9:2e9d) joined #forth 17:12:53 --- quit: rgrinberg (Ping timeout: 252 seconds) 18:30:51 --- quit: Zarutian (Ping timeout: 260 seconds) 18:35:15 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 19:35:59 --- join: josh5tone (~josh@99-51-169-74.lightspeed.nworla.sbcglobal.net) joined #forth 20:17:52 --- quit: rpcope- (Quit: ZNC - http://znc.in) 20:18:11 --- join: rpcope (~GOTZNC@162.245.217.4) joined #forth 20:52:59 --- quit: proteusguy (Ping timeout: 240 seconds) 21:28:04 --- quit: mnemnion (Remote host closed the connection) 23:59:59 --- log: ended forth/16.12.27