I think I'm going to ship it back as an RMA. There's absolutely ZERO point in using this laptop if I'm going to be forced to run only approved operating systems. Defeats the WHOLE PURPOSE of their very existence.
@jjg Embedded development, San Francisco bay area required. Familiar with C, Forth, assembly language. Have C++ experience, but far from expert level. Have Lisp/Scheme experience, but again, far from expert level.
Just an update. Looks like the start-up I'm working for, while it's given a hard and earnest attempt at profitability, is spiraling down the drain due to unforeseen overheads in our supply-chain's (lack of) quality.
So, I'll probably be going dark here while I focus on employment opportunities. Also, GUARANTEED, no work on Kestrel-3 until at least next year. I'm so sorry. But, I gotta focus on priorities. :(
@akkartik Unsuitable evolved, as I recall, from that video. It had made it to Reddit, and someone there said how Forth was thoroughly unsuitable for modern application development. So I took it as a challenge, and wrote a blog engine in 32-bit GForth.
I don't think it'll work well (or even at all) with a 64-bit Forth environment, though.
@akkartik I honestly don't remember; that video was made so long ago. I think I just implemented a macro ~p that spit out </p><p> as a literal string, but I can't recall precisely.
@akkartik Exactly. "inlining" is just one of many different ways of compiling colon definitions, so we don't generally use that word except perhaps for native code compilers. But, for example, in my own Forth implementations, which are indirect threaded or direct threaded in nature, I don't inline code, but rather just lay down a pointer to the older definition.
"Layers of sediment" -- I love this analogy; not sure why I didn't think of it before!
1. I had no idea Forth was hyperstatic! Does that mean that when you define a word, other words it uses get their definitions automatically inlined at definition time?
(1) No. Hyperstatic means that when you RE-define a word, all PREVIOUS definitions retain their ORIGINAL meaning.
(2) ALLOT cannot function reliably in a free-list environment, so it's often used exclusively for "the dictionary", a contiguously allocated block of memory that holds the bodies of definitions. Free-list allocators did not become standardized until ANS Forth 94, where the words ALLOCATE, FREE, and RESIZE were introduced.
@Elizafox That's the truth. I've lost my ability to read/write fluently in Esperanto, as I've not used it since 2001. Maybe I'll go back to re-learn it when I retire. Whoops.