dave0 has quit [Quit: dave's not here]
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
DKordic has quit []
gravicappa has joined #forth
<siraben> tabemann: Why would you want to rewrite the code, just be able to relicense?
<siraben> While I see GPL3 having some problematic aspects, if I'm just hacking on something on my own I don't mind building off GPL3-licensed code.
<proteusguy> siraben, GPL-3 is the most vile and invasive license yet written. Anything it touches MUST be published in a GPL-3 license. Even Linus had pointed out how completely inappropriate it is for even the Linux kernel which is GPL-2. Ultimately, the license gives rights to CODE and not users or developers. It's insane.
<proteusguy> You can't even run stuff on servers as SaaS with a single piece of it being GPL-3 without publishing the source code for everything on that server. Absurd and delusional license. We don't allow it in our environment under any circumstances.
<siraben> It depends on your use case. I have no qualms about rewriting the software after trying it out for personal use.
<proteusguy> That's your choice. But then by making it GPL-3, you've also eliminated everyone else's choice who may want to run your software. It's the elimination of other's choices that's the problem.
<proteusguy> So it doesn't depend on the use case. GPL-3 is a one size invades everyone use case. It eliminates all other use cases. That's why it's evil.
<siraben> Agreed. I would not license new software I write under GPL-3.
<siraben> Agree to eliminating others choice*
<siraben> remexre: Closest example I could find was https://madiot.fr/files/reportru.pdf , has an operational semantics for a WHILE-like language with procedures, the semantics uses a call stack.
<siraben> (page 9)
<siraben> Looks like the way the semantics is presented allows to account for stack size as well, so presumably in a language one could enforce statically that the stack ever exceeds a certain size.
<siraben> "Thus to consider stack overflow – although this notion is arbitrary in such a toy language – one just need to add a predicate to consider the maximum length of the state used in a sequence of reduction"
<proteusguy> siraben, fixing the max size of the stack is the only way I ever thought possible. I even considered elimination of the option of tail calls and requiring all loops to be recursive as a means of limiting how long a function could run without having to have a "gas" mechanism like ETH. It solves a lot of the situations but I haven't confirmed it catches them all.
<siraben> proteusguy: elimination of the option of tail calls? isn't having tail-call elimination exactly what you want?
<siraben> I think you mean non-tail calls should be removed
<proteusguy> siraben, it is for performance absolutely. It's not if we want to make the maximum resources a cryptoledger contract can utilize so that we can guarantee termination or roll back at some bounded cost.
<proteusguy> siraben, the goal here is to guarantee an ended of a function within an acceptable limit as an alternative to gas.
<proteusguy> to offset potential performance costs I considered offering "memoization" of recursive calls so prior values could be looked up rather than recomputed.
<siraben> Well, guaranteed termination is a pretty solved problem, strictly recursing on smaller terms does it.
<proteusguy> Right.
crab1 has joined #forth
<crab1> what's happening in #forth land lately?
<proteusguy> types! types are happening in #forth land ! ;-)
<crab1> types and forth! you fithy blasphemes!
<siraben> I'm curious about people who write in dynamically typed languages, in what instance what you need to write a program that isn't well-typed?
<siraben> s/what/do
<crab1> well-typed = type-safe?
<siraben> A well-typed program is one that can be assigned a type and whose type remains so under evaluation.
<crab1> I don't see why all programs in a dynamically typed language shouldn't be well typed
<crab1> I can't think of an instance where it would be necessary at least
<proteusguy> crab1, haha I know but we're not talking about targeting tiny embedded systems.
<siraben> right, so my thinking is that if you're going to not write ill-typed programs in the first place, might as well have the compiler tell you at compile time than throwing an exception at runtime
<siraben> rather than(
<proteusguy> Actually FORTH is a strongly typed language. You get a cell type and do whatever you can with it. ;-)
<crab1> do you often get type errors at runtime with dynamically typed languages?
<proteusguy> crab1, we don't because we have quite strong unit test coverage. But most people do with a project of any complexity. Javascript apps are an extremely common example.
<siraben> I feel like a lot of unit tests I write in say Python merely exist to serve as a typecheck of sorts.
<crab1> javascript is bunk
<proteusguy> siraben, I'd say at least half of our unit tests would be covered by a strong type system, yes.
<siraben> Right.
Zarutian_HTC1 has quit [Ping timeout: 272 seconds]
<proteusguy> Given how so many forth'ers write the stack impact for every word - they're kinda already paying the coding cost for strong type declarations anyway but not getting the benefit. I've always thought this way even before I knew how type systems worked. I just remember wondering in 1986, "wouldn't it be nice if these stack effects were enforced?" :-) So here it comes.
<crab1> 1986
<proteusguy> In fact I stopped using them because they weren't enforced and just refactored the hell out of my words.
<crab1> that's a while ago
xek has joined #forth
<siraben> proteusguy: hah, I felt the same way, it forces you to refactor
<proteusguy> crab1, indeed it was an elegant language for a more civilized age. ;-) haha
proteus-guy has quit [Ping timeout: 265 seconds]
<crab1> I was almost 16 years pre-birth in 1986
<siraben> I guess that makes you the youngest in #forth then, heh.
proteus-guy has joined #forth
<proteusguy> siraben, when's your birthday? :-)
* proteusguy suspects it's a close call.
<siraben> heh, that would be doxxing myself, it doesn't seem that close
<proteusguy> crab1, you're born in 2001 I take it?
<proteusguy> siraben, this Thursday is the meetup where we demo the working local node stack and also ActorForth parsing BCH transactions. Sign up and join!
<siraben> proteusguy: I'll be in Phuket during that time, unfortunately!
<proteusguy> oh dude - you're gonna miss it.
<siraben> proteusguy: will it be recorded?
<proteusguy> Not sure. We'll try. We got moved upstairs cause of construction on 2nd floor so not sure it's good for recording.
<crab1> born in october of 2000
* proteusguy was born in Feb 1968. But I suspect most of the #forth'ers are even older than I.
<siraben> crab1 is older than me then, heh
<proteusguy> siraben, hahaha I guessed as much!
<crab1> is siraben school age or working age
<crab1> the world needs more young forth programmers
<crab1> teach forth in elementary
<siraben> crab1: given the ubiquity of graphing calculators in western education, that seems to bring young people in to embedded programming
<siraben> unfortunately TI has been clamping down on the ability to run ASM programs as of late, so the newer OS updates prevent that
<crab1> TI is bad
<crab1> I mean specifically in regards to calculators
<siraben> huge monopoly, ugh.
<siraben> Right
<crab1> I love plan9
<crab1> plumbing is wonderful
xek has quit [Ping timeout: 272 seconds]
mtsd has joined #forth
<crab1> do most of you use gnu/linux?
<siraben> crab1: I do, NixOS here.
<siraben> Also macOS user
<crab1> poo
<crab1> I used NixOS a couple years ago
<crab1> but it was too much work and I hated the nix language
<siraben> crab1: You didn't like the language? I think it's quite straightforward
<crab1> I was impressioned oppositely
<crab1> guix felt much better than nix in that respect, but it still failed to fix the 'too much work' complaint
<siraben> Interesting. I tried guix first but failing to get wifi to work I had to look for an alternative.
<siraben> Since Guix has a free software-only policy with their package repository.
<crab1> It's quite easy to switch out to the nonfree kernel in order to get wifi working
<crab1> but it is a bit demanding as a first hurdle if you're not yet familiar with guix
dave0 has joined #forth
mtsd has quit [Ping timeout: 265 seconds]
mtsd has joined #forth
xek has joined #forth
xek has quit [Ping timeout: 272 seconds]
Zarutian_HTC has joined #forth
xek has joined #forth
xek has quit [Ping timeout: 256 seconds]
mtsd has quit [Quit: Leaving]
xek has joined #forth
dave0 has quit [Quit: dave's not here]
crab1 has quit [Ping timeout: 256 seconds]
<tabemann> siraben: I seem to be coming to an agreement with Matthias to have him license his code in zeptoforth
<tabemann> I now just need it in writing
<siraben> Ah, good news.
<tabemann> I have to go to work now though
<tabemann> see ya
xek has quit [Ping timeout: 246 seconds]
Zarutian_HTC has quit [Ping timeout: 272 seconds]
DKordic has joined #forth
Zarutian_HTC has joined #forth
crab1 has joined #forth
<crab1> hello forth friends
crab1 has quit [Read error: Connection reset by peer]
crab1 has joined #forth
WickedShell has joined #forth
crab1 has quit [Read error: No route to host]
xek has joined #forth
gravicappa has quit [Ping timeout: 256 seconds]
gravicappa has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
xek has quit [Ping timeout: 260 seconds]
gravicappa has quit [Ping timeout: 256 seconds]
Zarutian_HTC has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
dave0 has joined #forth
TCZ has joined #forth
TCZ has left #forth ["Leaving"]
Zarutian_HTC has joined #forth
Zarutian_HTC has quit [Read error: Connection reset by peer]
Zarutian_HTC has joined #forth