00:00:00 --- log: started forth/17.06.18 00:13:48 --- quit: DGASAU (Read error: Connection reset by peer) 00:13:58 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 00:41:52 --- quit: DGASAU (Read error: Connection reset by peer) 00:42:05 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 00:49:33 --- quit: mark4 (Ping timeout: 268 seconds) 01:02:51 --- quit: DGASAU (Ping timeout: 240 seconds) 01:03:35 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 01:33:48 --- join: GeDaMo (~GeDaMo@212.225.125.110) joined #forth 01:46:40 --- join: true-grue (~true-grue@176.14.219.178) joined #forth 02:15:41 --- quit: DGASAU (Read error: Connection reset by peer) 02:15:52 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 02:19:32 --- join: wa5qjh (~Thunderbi@121.54.90.149) joined #forth 02:28:48 --- quit: DGASAU (Ping timeout: 240 seconds) 02:29:54 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 02:54:06 --- quit: wa5qjh (Quit: wa5qjh) 03:15:44 zy]x[yz: all this jumping through the hoops to solve some non-problem in a world with proper language grammar. 03:16:31 zy]x[yz: zero-length words remind of another weird trick to solve a non-problem by introducing another problem. 03:17:15 In FIG-Forth zero-length word was used to terminate interpretation of a block or a line. 03:17:42 And it was used to connect vocabularies together. 03:18:42 So that when you wanted to calculate number of words, you wanted not only traverse the list, but you also needed to account for presense of special zero-length words in it. :) 04:07:07 --- join: karswell` (~user@67.28.199.146.dyn.plus.net) joined #forth 04:11:15 --- nick: karswell` -> karswell 04:13:35 weird 04:49:13 I have experimented with rewriting that subsystem in FIG-Forth at some point, BTW. 04:49:48 If you rewrite it to pass proper "no more input" flag, the code becomes a lot clearer and a lot simpler. 04:50:53 Given that this approach probably comes from founders, perhaps even Moore himself, that makes really funny impression. 04:51:24 Oh, right, BTW! 04:51:35 In FIG-Forth all buffers are zero-terminated essentially. :D 05:41:43 --- join: MickyW (~MickyW@p4FCFEDE6.dip0.t-ipconnect.de) joined #forth 06:16:43 I don't think FIG-Forth comes from Moore. 06:19:11 --- join: ACE_Recliner (~ACE_Recli@c-98-220-46-30.hsd1.in.comcast.net) joined #forth 07:16:31 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 07:16:58 --- join: ACE_Recliner (~ACE_Recli@c-98-220-46-30.hsd1.in.comcast.net) joined #forth 07:37:22 The question isn't about FIG-Forth. 07:37:37 It is the question where the technique comes from. 07:38:15 Given the weirdness of "solutions" from Moore, I don't exclude that at some point he could have used something alike. 08:32:31 --- quit: proteusguy (Ping timeout: 255 seconds) 08:33:11 --- join: proteusguy (~proteus-g@2405:9800:b408:bc31:7a24:afff:feca:f2cc) joined #forth 08:33:11 --- mode: ChanServ set +v proteusguy 08:37:56 --- quit: ZarutianPI (Ping timeout: 240 seconds) 08:44:49 --- join: ZarutianPI (~pi@168-110-22-46.fiber.hringdu.is) joined #forth 08:52:28 --- quit: koz_ (Ping timeout: 246 seconds) 09:16:49 --- join: mark4 (~mark4@99.30.241.51) joined #forth 09:27:26 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 10:06:05 --- quit: mark4 (Ping timeout: 246 seconds) 10:34:42 DGASAU: a technique may be sufficient from one perspective or suboptimal from another. perfection can not be achieved, one can just experiment and stay humble... 11:00:52 --- join: logiqub (~victor@AMontsouris-559-1-22-164.w90-24.abo.wanadoo.fr) joined #forth 11:01:25 Hi there everyone. I just put the source of my project online. 11:01:54 Visit http://logiqub.com if you like. I am out for a while (tired). 11:02:19 If you have questions please leave them on the thread at comp.lang.forth 11:02:34 or email me there: logiqub@gmail.com 11:06:35 exit 11:06:39 --- quit: logiqub (Quit: leaving) 11:20:38 --- join: gravicappa (~gravicapp@ppp83-237-163-27.pppoe.mtu-net.ru) joined #forth 11:23:59 "squared" : [ dup * ^ ] ; 11:24:20 What's the ^ for? 11:24:28 ^ is EXIT %) 11:24:49 Ah 11:25:47 http://logiqub.com/pages/hacking I found no reason for explicit return there. 11:26:37 once upon a time, I made a Forth-like language and it has "break" word. 11:29:02 It used in code quotations in the form "n break". And it was made for exiting from the nested loops etc inside anonymous quotations :) 11:30:47 Now I'm not recommending to use something like this in language design :) 13:29:35 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 13:30:50 --- join: koz_ (~koz@121.99.240.58) joined #forth 13:56:00 --- quit: GeDaMo (Remote host closed the connection) 14:02:26 --- quit: MickyW (Quit: Leaving. Have a nice time.) 14:38:24 --- quit: gravicappa (Ping timeout: 240 seconds) 14:42:15 --- quit: Zarutian (Quit: Zarutian) 14:53:20 --- quit: true-grue (Read error: Connection reset by peer) 15:23:27 I'm beginning to think that with forth's hyperstatic scoping, a publicly writable shared forth dictionary (as in over the Internet) may not be such a bad idea. 15:23:28 Keep the headers in one public place and the definitions or arrays they point to in separate regions of memory by dependency. 15:23:28 Separate from the headers for write integrity and together with their dependencies for easy dictionary compaction. 15:23:28 Because of the possibility of spam, only propagate dictionary definitions by need and only for those who request them. That way spammers could only spam themselves. 15:23:28 The users each hold onto their own LATEST header pointers because they wouldn't want word definitions to change on them while they're writing some new words. 15:28:24 --- join: wa5qjh (~Thunderbi@121.54.90.149) joined #forth 15:37:48 --- quit: wa5qjh (Remote host closed the connection) 15:59:17 --- quit: nighty- (Quit: Disappears in a puff of smoke) 17:05:52 --- quit: karswell (Remote host closed the connection) 17:06:53 --- join: karswell (~user@67.28.199.146.dyn.plus.net) joined #forth 17:41:35 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 18:06:50 --- join: Chef_Gromboli (~Chef_Grom@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 18:38:52 I have bit of a minimalistic instruction set challange for y'all. 18:39:47 The only control flow instructions provided are call and exit. 18:40:22 Can you write or port a forth on top of that? including conditional branching and such? 18:46:06 --- quit: nighty- (Quit: Disappears in a puff of smoke) 18:50:40 ZarutianPI: i assume it's implied i can't cheat by using >r exit as a jmp? 18:53:14 koisoke: cheat away! It is just that calls and exit are the only control flow primitive instructions provided. 18:53:20 then yes 18:53:46 koisoke: the question is, how would you go about doing conditional branching? 18:57:34 with a return pointer (or call, depending on how one did it) initially for the false case and add flag*constant to it before EXIT so you land on the true case if the flag is true 19:03:15 --- quit: proteus-guy (Remote host closed the connection) 19:03:46 this does away with lot of branch circuitry 19:09:04 would be really inefficient though 19:10:05 yeah, but sometimes you need a small core in an fpga and you got block rams to spare but not much for the logic 19:13:10 --- quit: bluekelp (Remote host closed the connection) 19:13:20 seem to recall some architecture (pdp-8? greenarrays?) that had a "skip next instruction if true" instruction 19:13:35 and used that together with unconditional branches to implement conditional branching 19:54:15 --- quit: karswell (Remote host closed the connection) 19:54:20 --- join: karswell` (~user@67.28.199.146.dyn.plus.net) joined #forth 20:07:27 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 20:35:54 --- quit: Bunny351 (Ping timeout: 240 seconds) 20:49:08 --- join: Bunny351 (~Bunny351@p4FD2D1CF.dip0.t-ipconnect.de) joined #forth 21:17:32 --- join: PoppaVic (~PoppaVic@unaffiliated/poppavic) joined #forth 22:06:37 --- quit: proteusguy (Ping timeout: 246 seconds) 22:16:52 --- join: proteusguy (~proteus-g@49.228.126.213) joined #forth 22:16:52 --- mode: ChanServ set +v proteusguy 22:25:43 * PoppaVic sighs 22:32:38 --- part: PoppaVic left #forth 22:32:50 --- quit: Chef_Gromboli (Quit: Leaving) 22:37:56 --- join: wa5qjh (~Thunderbi@121.54.90.138) joined #forth 23:59:59 --- log: ended forth/17.06.18