IRC Log - 2025-02-17 - ##forth

Channel: ##forth
Total messages: 57
Time range: 00:13:29 - 19:56:14
Most active: veltas (22), KipIngram (19), crc (8)
00:13:29 ##forth <veltas> crc: Is there a graphics demo that uses ilo-x in the standard konilo distribution?
00:19:45 ##forth <veltas> Also has the 3D stuff gone anywhere, do you want a second (or third?) pair of eyes on that?
01:38:40 ##forth <xentrac> old (dynamically-scoped shallow-bound) Lisps had one stack per variable
10:02:50 ##forth <veltas> It's really easy to create a stack for a given task, so I do often create a stack when it makes sense
10:02:58 ##forth <veltas> And often stacks make sense
10:03:35 ##forth <veltas> But if you can put it on parameter or return, then it makes more sense to put it there, so e.g. QUIT/ABORT work
12:40:46 ##forth <crc> veltas: there are a couple of small test programs (I think in blocks 653 & 654)
12:41:14 ##forth <crc> I have a few others that will be added to the example blocks in the near future
12:41:46 ##forth <crc> 3D stuff has been on pause for a while; my son is doing most of the work on that, and he's been busy with other things lately
15:55:59 ##forth <veltas> crc: I'm slightly interested in doing an SDL port of ilo-x.c and/or milo-x.c
15:56:06 ##forth <veltas> Do you use milo a lot?
16:06:22 ##forth <crc> about half the time
16:11:17 ##forth <crc> I generally prefer to use one of the simpler implementations unless I know I'll need to be switching between activities frequently
16:37:47 ##forth <user51> I was looking at kilo ( https://github.com/antirez/kilo ) and thought that maybe integrating a forth with an editor could be very neat, not exactly sure what it'll end up as -- ideas or suggestions? Even "don't do it" is fine :)
16:39:22 ##forth <user51> IIRC they talk about an editor in Starting FORTH and I'll read it after food
16:40:52 ##forth <thrig> traditionally forth had a block editor
16:50:52 ##forth <crc> user51: I've done that in the past; it was fun to work on
16:52:34 ##forth <KipIngram> Yes, block editors are fun, and actually can be surprisingly usable.
16:52:52 ##forth <KipIngram> I've done both line and screen versions.
16:54:46 ##forth <KipIngram> Most recently I've started beginning with a word led or ledit (line edit) that gets a lightweight wrapper around it to make EXPECT (which gets wrapped to make QUERY), but underneath that light wrapper it works in a way that makes it really easy to put it in an outer loop that handles vertical cursor k eys to build a screen editor. So led pretty much boxes up everything you need for line editing.
17:01:47 ##forth <KipIngram> Actually though, since someone mentioned SDL, I think that handling text fields in SDL will be quite different from the usual console input operation, so the code structure would likely be fairly different too. I can imagine having numerous text fields on screen at once, and you'd be able to click around among them. So instead of putting parameters on the stack I think each of those would likely
17:01:49 ##forth <KipIngram> have its own "internal state."
17:02:35 ##forth <KipIngram> And I guess there would be someway to indicate you were "done" with one, or with a bunch, or whatever suited the application.
17:18:37 ##forth <veltas> Well I was looking at adapting the ilo-x implementation
17:21:41 ##forth <crc> veltas: http://fossils.retroforth.org:8000/ilo/file?name=vm/ilo-sdl-1bpp.c&ci=tip was my attempt at this (note: I'm not good with SDL), bas
18:03:31 ##forth <veltas> Thanks I'll have a look
18:03:36 ##forth <veltas> bas?
18:49:03 ##forth <crc> sorry, was an incomplete posting; "basic tests of the implementaton worked, but it doesn't have good performance"
18:56:37 ##forth <veltas> Yes that's how it seems, runs but is slow
18:57:02 ##forth <veltas> Well that's a bit of fun to profile and optimise it then
19:20:54 ##forth <KipIngram> Ugh. The more I learn about Wayland the less I like it.
19:31:31 ##forth <user51> KipIngram: To me, Wayland is in the same place as systemd. I've seen lots of discussions about them but I sure as heck don't know what to believe.
19:32:19 ##forth <KipIngram> My basic beef is that as far as I can tell Wayland just won't let me tell it what I want and give me exactly that.
19:33:01 ##forth <KipIngram> My impression was that maybe it'll let me maximize or minimize a window, but it won't let me say "I want my window X wide and Y tall and with it's top left corner right HERE."
19:33:19 ##forth <KipIngram> Precisely.
19:34:24 ##forth <user51> KipIngram: And I'll be frank, I don't even know what they do, or don't, or how they compare with what they're replacing. I get the feeling that if I dig into it I'll get lots of technical arguments which can be extremely fun and rewarding if done properly, but they can also quite often miss the bigger picture.
19:40:01 ##forth <veltas> user51: You're right about the bottles of beer Forth program
19:40:19 ##forth <veltas> You posted a while ago and said it was too factored
19:40:26 ##forth <KipIngram> The best I can figure they're twisted up over the possibility that someone might open a window right on top of another window and middle-man the user's input.
19:40:54 ##forth <KipIngram> But I have to wonder if that's actually something that has been a widespread problem with X (which will let you do these things).
19:41:09 ##forth <veltas> It is a problem when it happens by accident in X and Windows
19:41:27 ##forth <veltas> It's a thing that's been abused by viruses in Windows (and X probably too, but obviously less viruses target X)
19:42:02 ##forth <veltas> Why do you want to programmatically move the window?
19:42:21 ##forth <veltas> It sounds like in Wayland if you want to do that you need to ask the window manager nicely
19:42:30 ##forth <KipIngram> I first ran into this when tinkering with SDL2, with an eye toward eventually linking it into my Forth.
19:42:43 ##forth <KipIngram> I want to own the whole screen and carve it up precisely the way I please.
19:43:28 ##forth <KipIngram> Just in the name of working at the lowest possible level, like I often do.
19:43:41 ##forth <veltas> I guess you'd need to write a window manager in wayland's world
19:44:03 ##forth <veltas> Which makes sense because what you're describing could be a window manager
19:44:31 ##forth <KipIngram> Same as I do with the keyboard currently - my whole termios dance is basically me saying "get out of my way and give me the KEYBOARD - not the keyboard with a convenience layer on top of it."
19:45:20 ##forth <KipIngram> It actually still has a convenenience layer - just as thin as I could make it. If I could really have my way I'd just get scan codes and "up/down" events.
19:45:22 ##forth <user51> veltas: Yeah, my main issue with that kind of factoring is that it requires the programmer to string everything correctly, and that's on top of making sure the arguments on the stack are passed in the right order.
19:46:31 ##forth <veltas> Honestly I've got a lot of complaints about that code
19:46:43 ##forth <veltas> It's just harder to read than if they hadn't tried to get every line to be a def
19:46:44 ##forth <KipIngram> So same thing here - get out of my way and give me the display.
19:47:18 ##forth <user51> KipIngram: I'm planning to get a new monitor this year -- I'm gonna use that sentence :)
19:56:14 ##forth <KipIngram> :-)