2023-10-21 00:00:49 And it's already how I was tacitly planning to handle the blocks a directory was stored in. I wasn't going to let a directory entry split over block boundaries. I'd just add directory items to the first block until the next one wouldn't fit, and then I'd chain a new one on and start filling it. 2023-10-21 00:01:19 Maybe I can just treat all blocks that way. 2023-10-21 00:03:02 The main change this would make would be that no word or line would ever split across blocks. I'd be aware, while editing a "file" where those page boundaries were. 2023-10-21 00:03:51 In my editor I'd have a keystroke that would "block down" or "block up" - those would just follow one of the links at the end of the block to the next or previous one. 2023-10-21 00:04:14 My editor would keep me apprised of how much of a block I'd used, just like it does now. 2023-10-21 00:05:35 My guess is that I'll probably never have a directory that won't fit in one block, and most of the time I won't have a file that won't fit in one block. I will have some such files, but probably not very many. Except the system source - I kind of imagine putting that all in one "file." 2023-10-21 00:06:40 BTW, this b+tree link system would allow me to put a table of contents, that would get read as commentary, at the beginning of that source file, with links to the various chapters and sections. 2023-10-21 00:08:01 I think I'm talking myself into it. 2023-10-21 00:26:45 So, open a new file - there's a block. I'd be able to edit it, add another one, insert blocks into files, cut them out, move them, etc. 2023-10-21 00:26:55 Like pages in a notebook. 2023-10-21 10:03:26 Last night I sketched out stack effect drawings for a basic set of words for manipulating a file system. Surprise surprise, they looked a lot like the similar set of little Linux utilities. 2023-10-21 10:10:48 By the way, even just thinking about a file system underscores the need for literal strings. You need to be able to call out file and directory names. 2023-10-21 11:22:21 man. i thought i talked to myself too much 2023-10-21 11:23:19 I don't always do that, but sometimes I get caught up in whatever I'm working on and first thing I know I've been less than totally considerate> :-( 2023-10-21 11:24:21 I did just suppress an urge to go off on quantum theory, though, so I can count that a small win. 2023-10-21 11:24:53 lol 2023-10-21 11:25:13 How's it going this morning? 2023-10-21 11:26:41 it's saturday, which means i'm finally going to sit down and start tinkering with ideas that have been bubbling up over the past two weeks 2023-10-21 11:26:59 Yeah, Saturdays rock. :-) 2023-10-21 11:27:08 Which idea wins today? 2023-10-21 11:27:40 I've been bouncing around all over the place recently, but it is all pieces of one big project I'm trying to gear up to tackle. 2023-10-21 11:27:53 I think a lot before I actually start making things. 2023-10-21 11:28:12 the one i was talking about before, only tokenizing word definitions and deferring compilation to the semicolon 2023-10-21 11:28:25 Oh, yeah - I'm interested in where you go with that. 2023-10-21 11:28:34 i'm not sure how i will handle nesting though. like string literals or quotations 2023-10-21 11:28:39 I see some "parsing changes" coming in my future too. 2023-10-21 11:30:29 my idea is that [ ] will be a generic tokenizer. what's left on the stack after [ ] is just some object that can be consumed one token at a time. so interpretation of those tokens is deferred 2023-10-21 11:31:19 which means that now things like : low-level-word CODE ... END-CODE can now look like this : low-level-word [ ... ] asm; 2023-10-21 11:31:27 I saw a video recently - Aaron Hsu on his codfns work re: APL. He talked quite alot about how his code starts with a very "flat" syntax tree and gradually re-structures it. 2023-10-21 11:31:40 Might be something there that's of interest to you - I'll chase the link down in a bit. 2023-10-21 11:39:53 I think it was this one: 2023-10-21 11:39:57 https://www.youtube.com/watch?v=gcUWTa16Jc0 2023-10-21 11:40:14 it will probably only loosely related to what you're doing, but you might glean a tidbit or two. 2023-10-21 11:41:07 One thing I found interesting is that his 'compiler' doesn't iterate / loop at all - it's just a direct pass from the top of the code down to the bottom, with each statement "nudging" his tree toward its final form. 2023-10-21 11:47:55 interesting. thanks 2023-10-21 11:52:31 the truth is i'm not very good at this. using a computer language to describe a computer language twists my mind into knots 2023-10-21 11:54:03 I've tried reading one of the papers on co-dfns but I can't get far into it :/ 2023-10-21 11:58:32 https://dl.acm.org/doi/pdf/10.1145/2935323.2935331 2023-10-21 11:58:41 "The Key to a Data Parallel Compiler" 2023-10-21 11:59:09 It's a fascinating piece of work, but I've only made superficial progress grokking it too. 2023-10-21 11:59:23 It feels like it's an awfully elegant way to harness the GPU. 2023-10-21 12:00:07 APL's been one of the threads in my recent thinking - whatever i build next I want it to support arrays in that fashion. 2023-10-21 12:06:23 GeDaMo: That solid state air cooling is quite cool 2023-10-21 12:07:03 Yeah, it's interesting 2023-10-21 12:07:16 China do a lot of amazing stuff 2023-10-21 12:07:19 Scary 2023-10-21 12:07:40 "quite cool" was not intended as a thrig-style pun 2023-10-21 12:15:44 I didn't invent it 2023-10-21 12:25:48 :-) 2023-10-21 12:35:04 The "symbols view" in github doesn't really understand C 2023-10-21 12:35:35 It seems to think stuff like `enum T` defines T everywhere it's used, even though it's necessary to write that in C to refer to the enum 2023-10-21 12:36:03 Which makes me wonder what kind of hacky abomination they wrote to get the symbol info 2023-10-21 12:37:16 Bear in mind elegant technology from a more civilised age like ctags gets this stuff right and is probably faster than what they wrote 2023-10-21 12:38:25 I'm no C expert, but ctags struck me as pretty nice. 2023-10-21 12:39:06 and, that makes me think of that Lisp cartoon - "These are your father's parentheses. Elegant tools from a more civilized age." 2023-10-21 12:40:11 https://xkcd.com/297/ 2023-10-21 14:09:50 can we say that Forth is one of the safest language out there, because it hasn't syntax, lexing it is unbelievable easy and fast, and you can disable words that are unsafe 2023-10-21 14:09:59 e.g. is easy to confine the code 2023-10-21 14:41:02 Oh, I imagine you'd get argument from some people at least if you try to call Forth "safe." It will let you do anything, including shoot yourself in the foot. There's virtually no 'protection' of any kind. For the most part the hardware is "laid bare." 2023-10-21 14:41:29 That said, I think you cite some nice benefits it offers. 2023-10-21 14:41:51 wait, i'm speaking theoretically here, i've a Forth that is a scripting language, it is interpreted, and it doesn't touch the underlying hardware at all 2023-10-21 14:42:26 using my forth is using like.. Lua into a project 2023-10-21 14:42:29 Ah, ok. Fair enough. So, you may well be in a position to say that, then. 2023-10-21 14:42:31 Sorry. 2023-10-21 14:42:45 no reasons to be sorry, i didn't mention it 2023-10-21 14:43:45 When I first got my currently operational Forth up and running, if I tried to access a memory location that wasn't an address that "belonged to me" (which is very easy to do while developing new code), I'd immediately segfault. 2023-10-21 14:44:02 I got sick and tired of that, so I spent a few days figuring out how to catch and respond to those exceptions. 2023-10-21 14:44:38 Now such mistakes are handled pretty much like regular compile errors - I fully restore the "start of line" state and drop back to the interpreter, so I'm ready to try again. 2023-10-21 14:44:44 Much more friendly environment. 2023-10-21 14:45:06 That was pretty hard to figure out, too - it's not documented out there very well, because it's highly implementation dependent. 2023-10-21 16:13:57 All this stuff about "this language is the most X" is quite misguided in my opinion, there's a human element and some languages are better at some problems than others 2023-10-21 16:14:14 Forth definitely 'wins' over the other languages I know for some niche things, mostly not though 2023-10-21 17:19:28 veltas: I wouldn't necessarily use Forth in a project I expect others to have to cope with 2023-10-21 17:19:34 veltas: but it's probably the most "fun" to hack on 2023-10-21 17:20:02 veltas: have you ever worked on and driven a really old car, or motorbike, or something like that? 2023-10-21 17:20:23 you only need a handful of tools, everything's right there, under the bonnet there's like four wires of which only two are in any way important 2023-10-21 17:20:46 and despite all this, it actually works perfectly fine like that 2023-10-21 17:22:19 needs more layers 2023-10-21 18:16:06 It is a shame how prett much everything has gotten practically impossible to "do yourself." 2023-10-21 18:16:16 People used to be able to mostly keep their own stuff working. 2023-10-21 18:16:46 Lot of stuff in cars these days is practically impossible to even REACH. 2023-10-21 18:17:01 And you're likely to need some special one-purpose tool to get at some things. 2023-10-21 18:19:32 I don't disagree with what veltas said about Forth, but I do think of it as the most fun language to just "tinker with." 2023-10-21 18:25:53 I just don't know of any other programming technology that I can completely build myself, from scratch. 2023-10-21 18:26:52 Using no libraries at all. 2023-10-21 19:08:09 Ah, Stargate's on YouTube. The movie. That's something good for the evening. 2023-10-21 19:22:00 "Cheveron six encoded" 2023-10-21 21:40:14 Director's cut for the win. 2023-10-21 21:40:33 It tracks a lot better than the theatrical cut.