Related to this is the Atari Falcon port of Minecraft using a sparse voxel octree, might work for the GBA seeing as the Quake ports are similar performance-wise:
There are many automatic memory management systems ranging from the simple clearup of immutable systems (https://justine.lol/sectorlisp2/), to region allocation, to refcounting with cycle collection, and the full-fat tracing.
I'd have thought that allocating a block of memory per-GC type would work. As-per Rust you can use mainly one type of GC with a smaller section for eg. cyclic data allocated in a region, which can be torn down when no longer in use.
If you think about it like a kernel, you can have manual management in the core (eg. hard-realtime stuff), and GC in userland. The core can even time-slice the GC. Forth is particularly amenable as it uses stacks, so you can run with just that for most of the time.
So far it works pretty good. Minor edits I just quickly edit and tangle, otherwise I open the source block in a buffer (C-c '), and from there I can just use the usual C-c C-c shortcut to send it to the REPL.
But as the first stage bootstrap in CL is mostly done at this point, I have to hot-reload anyway.
At some point it might be nice to have my own REPL running in Emacs, but that is a worry for way later when I actually get something usable. For now this is purely for personal entertainment.
It looks like you've looked over a number of languages, but I don't see anything about Forth, Forsp, Ante, Steps, Austral, Wat or Vale? I'd suggest they all have useful components to steal from :)
After all the lies from the IDF, I'm still surprised anyone takes their word anymore without corroborated supporting evidence. So many of these were debunked even by western media (eg. tunnels under hospitals in Lebanon).
Now that Tiktok US has been bought, I guess we'll see more of this junk on there.
You replied to my comment about Lebanon. You could have replied to the OP with those links but chose not to, hence this discussion is about my comment.
My comment is on the IDF lying about tunnels under hospitals in Lebanon, which is validated with the BBC link.
Either TBH, I imagined the main issue would be ram, even with psram. EQMX is used a lot for IOT and it'd be interesting seeing more heavy loads on the edge.
Interestingly Wat implements a callstack in a userland VM, to implement it's delimited continuations. Ergonomically it would be good to implement algebraic effects on top, but the basis is there, along with demos of exception handling, branching, fibres etc.
...and a little further on, the OS/app starts to look like a distributed database.
I think it's a good case for including lattice types in the OS ie. From the ground up. Bear in mind that an OS has an API ie. A DSL/language for it, Micropython is a good example:
https://github.com/ablevm/able-forth/blob/current/forth.scr
I do prefer this as it keeps the language more regular (fewer surprises)
reply