i don't see much of a point of having a snap os that doesn't even use the features of snap
it's unclear how you would make anything with gobble or what's already there, so i don't know what would even make sense to add
this doesn't look anything like an os, it just looks like an incomplete and confusing programming language
my point about the features of snap is that the entire thing is based around blocks and has metaprogramming. you could just use blocks, you don't need a text language.
pretty much every other project that has os-like features doesn't really have a text language (everything i've seen that does a text language is just something that looks like a terminal with a few commands, you can't write actual programs there)
even if you need text input you could just make something that compiles to blocks, not this complex half-interpreter that takes half a second for a single if statement and say
i have no idea what the "gobble brains list function" is or what i would put there.
i can't even tell if what you're calling threads are even acting as threads, it doesn't really look like it
snap doesn't use punch cards, and doesn't "program using offline" whatever that's supposed to mean.
i have no idea what the "Function association" is or what i would put there.
one thread isn't a thread, and your current blocks aren't even close to having threads.
why do you need to implement threads? snap already just lets you run multiple scripts at once, and if you need to pause them, you're already manipulating blocks.
you can just create a yield block that checks if it needs to pause/stop and insert it in reasonable places, or get the programmer to do it manually if you trust them to do that.
there are plenty of cases where you change the programs a device runs by swapping out hardware components. any system that runs programs off an sd card, usb, cd, floppy disk, cartridge, etc.
your language
i know what an association list is, enough to know that just throwing one randomly in the project isn't going to do anything.
i don't see how builtins will make your current thread blocks start doing threads, there isn't even a way to choose which thread ends in the "end thread" block
do you expect everyone that tries to use the interpreter and give suggestions to figure out how it works? who are you expecting to get suggestions from?
if we have more programs that are thread safe we can make more threads
i'm not sure what you're trying to say but that's not how threads work. there's some word in there that doesn't mean what you think it does.
you have many threads. if you're going to end a thread, don't you need to know which one to end?
what exactly do you expect to happen when you run "end thread"?
why shouldn't i make a builtin language?
you can make a text programming language in snap, but it has nothing to do with making an os. if your goal is to only make an os, this language is just a waste of time. if you just want to make a language, it's not an os. a text programming language is something you could put IN an os, if you have one, but you don't have one here.
Real world os have something called bytecode,not exactly as nice as this,but atleast its not the language the os is run using
no? those aren't what those words mean.
i assume that you're trying to say that oses use machine code, which is still extremely vague and oversimplified, but besides that, if you want it to be like what you're trying to talk about, you should be using blocks. your text language runs USING the blocks, just like C and js and such run using machine code.
that's what threads are generally intended to do, but that isn't what they are (as in, how they fake simultaneity)
going off what i can understand from your code and what you've said about them it doesn't sound like what you're calling threads are doing what threads are supposed to
there's nothing wrong with writing a text language, but it isn't an os. it's just a text language.
yeah because there aren't anyone to suggest what stuff i should add to the language and i don't have enough stuff to make the os
wait i can suggest...oops dumb me ill start doing stuff quickly
you might be able to use the codification blocks, but you don't need to. you can parse the text manually and join rings together. i'm pretty sure there was a forum thread where someone made text snap by searching block names, joining the blocks, and writing a small list of exceptions for the ones that don't work well.