dave0 has joined #forth
birdwing has joined #forth
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
proteus-guy has quit [Ping timeout: 260 seconds]
proteus-guy has joined #forth
mark4__ has joined #forth
mark4_ has quit [Ping timeout: 260 seconds]
<proteusguy> siraben, if the reg needs maintaining outside of the combinator then it's not atomic. So you'd be looking at moving it to the return stack before calling the dependency.
<siraben> Atomic as in the notion from concurrency?
<proteusguy> Atomic as in act as an operation in the CPU.
<siraben> So you now have to deal with callee-save register conventions
<proteusguy> siraben, this is one of those things you need to try a few times to see how it goes and adjust accordingly. I think that's a rare circumstance. Or you could just add another stack for that purpose if it becomes an actual common problem.
<proteusguy> If such a thing is complicated with combinators then maybe combinators aren't the right tools for a stack based system.
<siraben> What do you mean by combinators?
<proteusguy> Talking about your SKI/combinatory logic. The birds. ;-)
<siraben> Forth has plenty of what I consider combinators, i.e. any sort of trivial, "pure" words like dup, swap etc. with a clear denotation
<siraben> issue with combinators in FP is that compiling to them can blow up code size when an actual environment structure would be better in space and time
<siraben> tangential point but compiling to combinators is getting renewed interest with http://okmij.org/ftp/tagless-final/ski.pdf , amazing read
sts-q has quit [Ping timeout: 265 seconds]
dave0 has quit [Quit: dave's not here]
sts-q has joined #forth
mark4__ has quit [Read error: Connection reset by peer]
mark4_ has joined #forth
gravicappa has joined #forth
mark4__ has joined #forth
mark4_ has quit [Read error: Connection reset by peer]
mark4_ has joined #forth
mark4__ has quit [Ping timeout: 260 seconds]
mark4__ has joined #forth
mark4_ has quit [Ping timeout: 272 seconds]
<proteusguy> re:blow up code size - this is what I was referring to when I said perhaps these aren't the most appropriate building blocks for fort.
proteus-guy has quit [Ping timeout: 272 seconds]
<proteusguy> forth.
proteus-guy has joined #forth
<siraben> Not just for Forth, but any modern functional language no longer uses compiling to combinators as the approach, usually opting for generating C or LLVm (after closure conversion, lambda lifting and CPS)
<siraben> LLVM*
mark4_ has joined #forth
mark4__ has quit [Ping timeout: 260 seconds]
proteus-guy has quit [Ping timeout: 265 seconds]
<proteusguy> siraben, well for other languages with more complex compilers such as LLVM, they can do a lot of complex implementation optimization. This being a forth channel, however, forces me to point out that such complexity is the antithesis of forth.
<siraben> proteusguy: of course!
<proteusguy> Although making a forth that targets LLVM IR might still be viable. I recall a guy who did that and created an LLVM target that was better optmized for a stack oriented architecture.
<proteusguy> But you're just moving the complexity of course.
proteus-guy has joined #forth
mark4_ has quit [Read error: Connection reset by peer]
jedb_ has joined #forth
jedb has quit [Ping timeout: 260 seconds]
rann has quit [Ping timeout: 264 seconds]
ovf has quit [Ping timeout: 246 seconds]
rann has joined #forth
ovf has joined #forth
hosewiejacke has joined #forth
proteus-guy has quit [Ping timeout: 260 seconds]
proteus-guy has joined #forth
jedb_ has quit [Ping timeout: 246 seconds]
<veltas> Don't want to sound stupid but I'd be using the return stack rather than registers since I'd have to save things anyway on most implementations
<veltas> Maybe there should be words like R1@ R2@ R3@ R4@ etc to get what's after R@
<veltas> Could even *name* those temporarily within the wo-... oh right that's just locals whoops
hosewiejacke has left #forth ["Leaving"]
<veltas> Has there been any effort to standardise multi-task forths?
<veltas> i.e. with suspend/wait/user or whatever they use
<veltas> It feels like that should be a word set in the standard
jedb has joined #forth
<sts-q> veltas: Not sure, do you mean something like this ?
<sts-q> Chapter 4.0 MULTITASKING
[1]MrMobius has joined #forth
MrMobius has quit [Ping timeout: 246 seconds]
[1]MrMobius is now known as MrMobius
<veltas> Yes
<veltas> I I' J are documented as getting the first, second, and third things on the return stack in starting forth
<veltas> Makes sense, unfortunately not standard
jedb has quit [Ping timeout: 240 seconds]
xek has joined #forth
xek has quit [Remote host closed the connection]
xek has joined #forth
xek has quit [Client Quit]
Gromboli has joined #forth
jedb has joined #forth
<siraben> veltas: haha, that's just locals indeed
xek has joined #forth
xek has quit [Remote host closed the connection]
<proteusguy> veltas, concurrency is definitely not part of any forth standard. I can't imagine one model ever being something forthers would adopt in general. It took C++ 30+ years to define a standard concurrency model and they still ended up with two.
xek has joined #forth
xek has quit [Remote host closed the connection]
proteus-guy has quit [Ping timeout: 240 seconds]
proteus-guy has joined #forth
<lispmacs> hi, I was just wondering if there had been any progress anywhere towards an inexpensive GA144 development board
<proteusguy> I'm not aware of one. Would enjoy playing with such a thing as well.
<proteusguy> MrMobius, my understanding is that there's still an issue getting hold of the ga144 chips themselves. Hopefully that's no longer the case.
<MrMobius> oh hmm
<MrMobius> looks like you get the chip too if yoy buy that board
WickedShell has joined #forth
<MrMobius> in the forth day update this year it sounded like they still dont have any customers :(
gravicappa has quit [Ping timeout: 256 seconds]
gravicappa has joined #forth
<veltas> Always a danger when you create something that solves problems the way you envisage them, there might be nobody else who thinks the same way
<veltas> Definitely the case with people like Chuck Moore
<veltas> If I get a chance I will propagandise the board at work to a design engineer
<veltas> I have been reading comp.lang.arguing-with-hugh-aguilar
<MrMobius> someone called it "a problem looking for a solution"
<MrMobius> you have to admit there isnt much of anything where you need 144 cores working in parallel
<MrMobius> especially with tiny memories that all have to be individually programmed. I think that's the main thing that kills it, not only lack of a C compiler
<MrMobius> woops, make that a solution looking for a problem...
xek has joined #forth
xek has quit [Client Quit]
lispmacs[work] has joined #forth
Vedran has quit [Ping timeout: 256 seconds]
Vedran has joined #forth
cantstanya has quit [Write error: Broken pipe]
<patrickg> veltas: clf is as quiet as other newsgroups once the killfile is properly seeded
cantstanya has joined #forth
<birdwing> "Always a danger when you create something that solves problems..." https://medium.com/swlh/good-technology-bad-investment-7e0d6bfa08dc
birdwing has quit [Ping timeout: 240 seconds]
gravicappa has quit [Ping timeout: 264 seconds]
<veltas> wordlists...
birdwing has joined #forth