02:44:10
##forth
<cleobuline>
forth: 1 2 3 4 5 3 ROLL .S
02:44:18
##forth
<cleobuline>
forthBot: 1 2 3 4 5 3 ROLL .S
02:44:19
##forth
<forthBot>
<5> 1 3 4 5 2
04:44:19
##forth
<forthBot>
Environment for cleobuline inactive, freeing...
09:59:18
##forth
<cleobuline>
forthBot: 1 2 3 4 5 4 ROLL .S
09:59:19
##forth
<forthBot>
<5> 2 3 4 5 1
11:59:18
##forth
<forthBot>
Environment for cleobuline inactive, freeing...
12:02:06
##forth
<cleobuline>
yet forthBot is still a shit that is useless to pollute the planet
18:21:25
##forth
<KipIngram>
So guys - I had a thought this morning and wonder if anyone's see it in play anywhere.
18:21:37
##forth
<KipIngram>
Normally when Forth encounters an unrecognized word, it immediately throws an error.
18:22:26
##forth
<KipIngram>
The thought was that instead of doing that, it could remember the details of that word and mark a pending error, but not throw an actual error until later. That would give the intervening words an opportunity to "do something" with that symbol and clear the error condition.
18:22:49
##forth
<KipIngram>
So you could put symbol handlers after words instead of before, if that was for some reason of any value.
18:23:16
##forth
<KipIngram>
You could manage that delay period and other details a lot of ways, offering varying amounts of flexibility as to what you could accomplish.
18:28:09
##forth
<vdupras>
do you have an example of interesting semantics that this mechanism would enable? I struggle to imagine them
18:29:02
##forth
<KipIngram>
Not one that I necessarily think I'd WANT to do, but the simplest example I can imagine is that you could say <name> : ... instead of : name ... I don't see that as of much value, but you COULD - the : could pick the name up from the staging place rather than the input stream.
18:33:10
##forth
<vdupras>
without a compelling use case, a simpler Forth is strictly better.
18:33:42
##forth
<KipIngram>
I agree - I was mostly just wondering if anyone had ever played with such an idea. After all - all of us as a collective seem to eventually get around to every idea, good or bad.
21:53:27
##forth
<MrMobius>
KipIngram: if I understand what you mean, that's what I'm doing with my forth
21:53:56
##forth
<MrMobius>
a word can call a word that hasn't been defined yet and it doesn't throw an error until you try to run it
23:55:57
##forth
<cleobuline>
MrMobius: bizarre
23:56:17
##forth
<cleobuline>
forthBot: : test undefined ;
23:56:17
##forth
<forthBot>
Unknown word in definition: undefined
23:56:18
##forth
<forthBot>
Error: Definition discarded due to error