X-Scale has quit [Ping timeout: 268 seconds]
X-Scale` has joined #forth
X-Scale` is now known as X-Scale
<tp> bluekelp, g'day!
<tp> bluekelp, mecrisp works on MSP430, Cortex-m, Risc-v and some FPGA
<tp> bluekelp, Mecrisp-Stellaris is the version for Cortex-m, Mecrisp for MSP430, Mecrisp-Quintus for Risc-v
tabemann has joined #forth
dave0 has joined #forth
tabemann has quit [Ping timeout: 260 seconds]
WickedShell has quit [Remote host closed the connection]
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
dave9 has quit [Quit: dave's not here]
dave9 has joined #forth
iyzsong has joined #forth
tabemann has joined #forth
gravicappa has joined #forth
dddddd has quit [Quit: Hasta otra..]
nonlinear has joined #forth
ryke has joined #forth
forthnutter has joined #forth
_whitelogger has joined #forth
proteus-guy has joined #forth
dys has quit [Ping timeout: 240 seconds]
dys has joined #forth
_whitelogger has joined #forth
forthnutter has quit [Quit: forthnutter]
f-a has joined #forth
jn__ has quit [Ping timeout: 252 seconds]
jsoft has quit [Ping timeout: 268 seconds]
f-a has quit [Quit: leaving]
dddddd has joined #forth
ryke has quit [Ping timeout: 240 seconds]
iyzsong has quit [Quit: ZNC 1.7.1 - https://znc.in]
ovf has quit []
ovf has joined #forth
djinni has quit [Quit: Leaving]
djinni has joined #forth
tabemann has quit [Ping timeout: 248 seconds]
jn__ has joined #forth
proteusguy has quit [Remote host closed the connection]
rann has quit []
rann has joined #forth
dave0 has quit [Quit: dave's not here]
ryke has joined #forth
ryke has quit [Ping timeout: 260 seconds]
ryke has joined #forth
Croran has joined #forth
Croran has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 265 seconds]
jsoft has joined #forth
jedb has quit [Remote host closed the connection]
jedb has joined #forth
tabemann has joined #forth
_whitelogger has joined #forth
<tabemann> question
crab1 has joined #forth
<tabemann> does anyone have any recommendations on how to implement CREATE and <BUILD / DOES> in a native code forth?
<tabemann> okay, for crab1, who just entered:
<tabemann> does anyone have any recommendations on how to implement CREATE and <BUILD / DOES> in a native code forth?
<crab1> wym by native code
<tabemann> like it compiles to actual processor instructions
<siraben> Anyone know of a formal semantics for a subset of Forth? I'm working through http://concrete-semantics.org/ and there's some pretty interesting stack machine compilation going on in the later chapters.
<siraben> "Forth Semantics for Compiler Verification"
<tabemann> to me at least, there's a reason even Haskell doesn't have formal semantics
<siraben> tabemann: Yes, but the core language, System F Omega, does.
<siraben> Also Haskell is enormously complex at this point to do a formal semantics.
<tabemann> yeah
<crab1> Haskell is too much
<siraben> Given Forth's simplicity, it would be a good way to learn about grounding a small language's semantics, IMO.
<tabemann> the problem I see with forth is that it has direct arbitrary access to memory
<siraben> crab1: Could you elaborate?
<siraben> tabemann: Right, and self-modifying code as well.
<tabemann> exactly
<siraben> (there is research on SMC, but that's way beyond a toy stack language I'm trying to practice formal semantics on)
<siraben> research on SMC semantics*
<siraben> tabemann: Then a small core has to be kept, w/out SMC or direct access to memory.
<siraben> Stack operations, WHILE, IF, various looping operators.
<siraben> Return stack too, perhaps.
<crab1> Haskell is too much: the language is complicated, there's too much to know and keep track of when using it, I think
<siraben> crab1: I think the language is actually pretty small. The ecosystem and libraries are huge, yes, but recently seeing a small self-hosting compiler with a C runtime has changed my mind; https://github.com/blynn/compiler
<siraben> Certainly, the variuos language extensions added over the years have added complexity enormously.
<siraben> s/variuos/various
<crab1> Also I like that forth programs can be self modifying and allow memory manipulation to occur freely, it shouldn't be terribly hard to ensure a word does not modify the program or do bad with memory
<siraben> crab1: Right, seems like it's just a matter of seeing if an arbitrary write happens for that word.
<crab1> siraben: I would argue that becoming a regular haskeller requires you to be involved in the ecosystem, like the ecosystem and the language are inseperable
<crab1> also I need to stop participating in multiple tracks of conversation at once, it's weird
<siraben> crab1: Yeah, to transition to using a language do things, ecosystem is a must, and I agree that it's pretty wild out there.
<siraben> Sort of fun, we'll see what comes out of it all, decades from now.
<crab1> I do like functional though, I just think I need a different language for it
<siraben> Thanks for the inputs crab1, tabemann, I've got to go.
<crab1> toodleoo