2024-09-05 00:22:22 veltas: the filesystem overhead is real, but it doesn't conventionally approach 2× 2024-09-05 00:22:43 more like 2% 2024-09-05 02:06:31 xentrac - They run it on both Windows and Linux. 2024-09-05 02:12:51 palter: oh, so i386? 2024-09-05 02:17:00 Yes. Long ago, it ran on a number of other platforms -- VAX, RS6000, Sun 4, MIPS. None of those are relevant anymore. 2024-09-05 02:18:34 you can still get new POWER chips 2024-09-05 02:18:58 MIPS Inc. is pivoting to RISC-V 2024-09-05 02:23:17 aren't POWER a bit expensive 2024-09-05 02:24:55 aye 2024-09-05 02:26:34 zelgomer: I almost always put ; on the same line as the last word(s) in a definition, in both my block based system and the one using files 2024-09-05 02:27:22 crc: do you think that's better? I do too but I don't have a good reason for it 2024-09-05 02:28:39 For me, it feels better. No real reason other than that, esp. on a system using files. 2024-09-05 02:29:44 on a system using blocks, devoting a line to just a closing ; feels wasteful to me 2024-09-05 02:31:49 For blocks, I have http://forth.works/share/NkatxWA13R.txt which is similar to the `INDEX` word veltas provided (this is in addition to a general `titles` word in the basic system image that runs against all blocks, and an interactive `catalogue` to browse/search through block titles) 2024-09-05 02:35:12 and my son has written some tools to allow him to edit the contents of blocks using standard text or code editors (I don't use these myself, I just use my own block editors) 2024-09-05 02:36:00 we have discussed attempting a FUSE approach to doing this more transparently, but not undertaken this yet 2024-09-05 02:36:05 hmm, I wonder if F83 has bomsething like titles 2024-09-05 02:36:13 *something 2024-09-05 02:45:03 i think i could rank style as one of my top three forth hurdles right now 2024-09-05 02:45:55 if i can fit a definition on one line, then it's fine. once it turns into multiline, i can't decide on how much like c it should look 2024-09-05 02:48:47 i'm sure the traditional answer is that i shouldn't have words that span more than obe line, but once you have a begin-while-until-then loop, with stack effect comments, there really isn't room for much more on one line 2024-09-05 02:50:46 one possible source for viewpoints on this is to feed it to Gforth see 2024-09-05 02:51:55 for example, for my earlier example of things using pc and goto: 2024-09-05 02:51:56 : things 2024-09-05 02:51:57 0 pc over . swap 1+ tuck 10 < 2024-09-05 02:51:59 THEN ; ok 2024-09-05 02:52:18 xentrac: Inside F83 by CH Ting mentions an `INDEX` word; it suggests using `0 CAPACITY 2/ INDEX` to see the first line of all source blocks in the system 2024-09-05 02:52:19 I think that would benefit from some extra horizontal whitespace 2024-09-05 02:52:24 crc: oh thanks! 2024-09-05 02:53:24 that does sort of do the right thing but I think it sort of assumes I have the printer turned on 2024-09-05 02:55:15 I forget if this was a general CP/M facility, I have a vague memory, but F83 handles ^P by toggling a flag which sends a copy of everything to the printer 2024-09-05 02:56:40 (everything displayed) 2024-09-05 02:56:52 this is handled with this definition of emit: 2024-09-05 02:56:52 : (EMIT) (S char -- ) 2024-09-05 02:56:53 PRINTING @ IF DUP (PRINT) -1 #OUT +! THEN (CONSOLE) ; 2024-09-05 02:57:29 which means, yes, that it's checking the printing flag on every output character 2024-09-05 02:58:19 I think index is intended for that 2024-09-05 03:03:40 it doesn't seem to support ^S and ^Q to pause the index listing. I did this: : np 18 indexpage @ + indexpage ! 0 indexpage @ index ; 2024-09-05 03:07:09 it seems a little bit goofy to me for it to check on every output character like that, since emit is already a deferred word in F83! 2024-09-05 03:09:20 how horrible is my concat lang for a forthwright? 2024-09-05 03:09:22 https://termbin.com/9x0a 2024-09-05 03:09:38 this is what the code does 2024-09-05 03:09:39 https://vms.neocities.org/oh 2024-09-05 03:10:01 I have to add collision detection and damage, then a way to kill the enemies 2024-09-05 03:10:20 you can move with wasd 2024-09-05 03:12:51 xentrac: i don't like the if-else-then each on a new lime with its body, but maybe i need to give it more chance 2024-09-05 03:17:26 I have mixed feelings with deviating so much from forth, forth is a well designed language unlike mine, I like the stack being able to get any kind of data, also the lexical scope, but I envy the possibilities forth allows, how managing memory is something quite natural and leads to a lot of possibilities 2024-09-05 03:18:00 I like the simplicity forth has to add its own data structures and accessors 2024-09-05 03:19:25 the problem is I make the interpreter on top of js, which has no memory management and I decide to not fake it. but then a lot of forth concepts cannot apply 2024-09-05 03:19:33 memory access* 2024-09-05 03:20:29 also I dislike the fact that forth encourages factoring, but in my lang every word adds a lot of overhead 2024-09-05 03:23:05 I know how to fake compile by caching the decisions of the interpreter in a list of closures, it gives some performance since the interpreter is quite slow, but is a dirty trick 2024-09-05 03:25:03 zelgomer: I don't like it either 2024-09-05 03:25:46 vms14: it looks cool! 2024-09-05 03:26:43 I learned to like it, but has 0 debugging features and drives me crazy every time I have a bug 2024-09-05 03:27:12 usually does not even realize there was a bug xD 2024-09-05 03:27:18 haha 2024-09-05 03:27:56 https://termbin.com/s4fn this is the implementation 2024-09-05 03:27:59 zelgomer: I think I probably tend to make my code too cluttered and cramped tho 2024-09-05 03:28:03 can also work in node 2024-09-05 03:28:23 but is missing a lot of words, I add them when I need them 2024-09-05 03:28:46 if you run it in node it will run a basic repl (I use rlwrap) 2024-09-05 03:29:16 rlwrap is pretty handy 2024-09-05 03:29:27 if you run it in the browser it will load any