<tabemann> proteusguy, as it is an L1 board, it won
<tabemann> 't work out of the box
<tabemann> however, assuming the L1 is a Cortex-M3 MCU, it could probably be reworked to support it
<tabemann> primarily with changes to the flash controller driver, processor clock setup, and serial driver
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
dave0 has joined #forth
nmz has joined #forth
WickedShell has quit [Remote host closed the connection]
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
jsoft has joined #forth
iyzsong has joined #forth
_whitelogger has joined #forth
Croran has quit [Ping timeout: 260 seconds]
Croran has joined #forth
dave0 has quit [Quit: dave's not here]
gravicappa has joined #forth
remexre has quit [Remote host closed the connection]
remexre has joined #forth
<proteusguy> tabemann, oh great! Can't wait to get my boards and try it. Was looking at your repo. Moved the license to GPL3 from MIT a while back. Any change of a reconsideration? We don't allow GPL3 in our environments.
<siraben> remexre: Yay, got a dependent type system (λΠ) working using bidirectional type checking
<siraben> turns out type checking dependently typed languages requires reducing type to normal form before checking for equality
<siraben> and checking terms for equality can be more complicated if a named representation is used, if debruijn is used then it's just ==
<siraben> might try adding the equality type, natural numbers then maybe length-indexed vectors
<remexre> siraben: yeah, there's a {gross,clever} trick where you do different de brujin levels in the envt and indices in terms, too
<remexre> which iirc is so shifting levels is a no-op
<remexre> (I just use names though, heh)
<siraben> i'm using the bound library https://www.schoolofhaskell.com/user/edwardk/bound , which deals with this
<siraben> it's so nice
<siraben> succ'ing an entire tree takes O(1)
<remexre> nice
<remexre> er, though succ wouldn't be an example where you hit the unfortunate case
<remexre> it'd be turning x into (fun fresh_var => x) that's expensive
<remexre> or vice versa, which ofc is happening all the time in beta reduction
<siraben> ah, so in the bound library this is handled by the `abstract` and `instantiate` functions
<remexre> ah, okay; haven't had a chance to look through it, building a new server rn
<siraben> cool
<remexre> yeah, 24 cores, 288G ram; gonna be a new build box for lab + my forth projects
<remexre> considering trying to use angr to... "formally verify" isn't the right phrase, with the level of assurance it'd give me
<siraben> what's angr?
<remexre> but to give a more-formal-than "it looks right" guarantee that complicated stuff I implement is correct
<remexre> a symbolic execution engine from... ucsb?
<siraben> oh, interesting
<remexre> so I can take an ELF file and ask, "what would the machine state have to be for $bad_thing to happen in $func"
<remexre> and it uses an absurd amount of ram and maybe finds a thing
<siraben> does it use abstract interpretation?
<remexre> maybe one of the analyses does, but the "main thing" is symbolic execution
<remexre> where you just translate instructions to functions you give to an SMT solver, and it does the heavy lifting
<siraben> ah, of course
<siraben> i've thought about assigning a small-step operational semantics to Forth, or has that already been done?
<remexre> oh, I've seen a paper... lemme see if I can find it
<remexre> afaik there's exactly one work that models forth well enough for RDROP EXIT to work
<remexre> er, that's maybe an exaggeration
<remexre> but stuff that's "not OK in C-land" in general
<siraben> Looking around there only seems to be small step semantics for expressions or functional languages in terms of stack machines
<siraben> Right
<siraben> http://www.complang.tuwien.ac.at/anton/euroforth/ef12/papers/stoddart.pdf gives an axiomatic semantics for Forth
<remexre> ah neat, I hadn't seen this one before
<remexre> I can't find the paper on my phone, so I'll send it once I'm at a normal PC
<siraben> Oh oops it's not axiomatic semantics, the paper says it's "prospective value semantics"
<siraben> Ok, I'd be curious to see the paper you're referring to
cantstanya has quit [Remote host closed the connection]
cantstanya has joined #forth
_whitelogger has joined #forth
iyzsong has quit [Quit: ZNC 1.7.5 - https://znc.in]
iyzsong has joined #forth
Vedran has quit [Quit: The Lounge - https://thelounge.github.io]
Vedran has joined #forth
dave0 has joined #forth
dave0 has quit [Read error: Connection reset by peer]
dave0 has joined #forth
dave0 has quit [Read error: Connection reset by peer]
tabemann_ has joined #forth
tabemann has quit [Ping timeout: 240 seconds]
jsoft has quit [Ping timeout: 258 seconds]
iyzsong has quit [Quit: ZNC 1.7.5 - https://znc.in]
iyzsong has joined #forth
Zarutian_HTC has joined #forth
<tabemann_> proteusguy: the change from BSD3 to GPL3 was motivated by that I borrowed a good amount of code from Mecrisp-Stellaris, which is GPL3 - I asked Matthias if he would relicense the code I was borrowing to BSD3/2/1 or MIT, but IIRC he said he was not going to relicense the flash driver code, which was a key part of what I was borrowing
<tabemann_> the problemm with rewriting the flash driver code is this sort of thing has an obvious way to do it
WickedShell has joined #forth
<tabemann_> make that proteus-guy:
gravicappa has quit [Ping timeout: 265 seconds]
gravicappa has joined #forth
* Zarutian_HTC never gets why so much heat is generated around "licenses". Trust a maker of WifiSD cards for instance does not care, they even have instructions on how to rebuild and reflash their cards from source iirc
<cmtptr> because we live in a litigious society
<proteusguy> I wasn't aware Mecrisp was GPL3. That's problematic. hrm....
Zarutian_HTC has quit [Ping timeout: 260 seconds]
<tabemann_> I myself would prefer that zeptoforth not be GPL3
<tabemann_> the problem with the flash driver code is there's only one way to really do it
<tabemann_> most of the code surrounding the flash driver core has been rewritten by me anyways
<tabemann_> what is left is essentially two words, "flash!" and "erase"
<tabemann_> then there's the double-cell arithmetic code, and that's because I don't really get how to do double-cell arithmetic primitives on Thumb-2
tabemann_ is now known as tabemann
Zarutian_HTC has joined #forth
<Zarutian_HTC> cmtptr: you do, I dont
<tabemann> the thing for me is I'd like to get Matthias's permission on this, as I am already in contact with him, and also because in many cases a rewrite would be hard either because A) there's about one way to do it or B) I don't really get how to implement it on Cortex-M
<tabemann> bbl
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 260 seconds]
X-Scale` is now known as X-Scale
<cmtptr> Zarutian_HTC, of course you do. you live on earth just like the rest of us
<Zarutian_HTC> cmtptr: litihious society is mostly confined to USA. Most companies elsewhere that modify open source software do send patches upstream and make the modified source code available. Usually they only care that the software has some sort of open source license.
<cmtptr> "litigious society is mostly confined to the us, but everywhere else they comply with the licenses anyway" strange argument but ok
DKordic has joined #forth
gravicappa has quit [Ping timeout: 260 seconds]
<Zarutian_HTC> cmtptr: I understand the licenses and the reasons for them but not the irrational heat
<tabemann> free software licenses wouldn't be necessary were it not for copyright existing in the first place
<tabemann> the matter with free software licenses is that some people wish to prevent the incorporation of free software into proprietary software while others don't care
<tabemann> hence you get GPL versus BSD/MIT/Apache etc.
<tabemann> the problem with the former position is it prevents the incorporation of free software into other free software which isn't so restrictive
<cmtptr> yes
jsoft has joined #forth
cantstanya has quit [Ping timeout: 240 seconds]
cantstanya has joined #forth
dave0 has joined #forth
<Zarutian_HTC> tabemann: really? I have seen BSD and such licensed code pull in GPL code as compilation/static-libraries without any issues arising other than that any modification beyond the lib interface is upstreamed
<tabemann> I know you can pull in LGPLed code as shared objects without a problem
<Zarutian_HTC> any propertiery software wanting to use the BSD licensed software just have to either provide their own replacement for the GPLed code or be opensourced
<tabemann> with BSD licensed code wants to link with GPLed code the whole has to be released as GPL
<tabemann> same thing if BSD licensed code wants to statically link with LGPLed code
<tabemann> the exception is if BSD licensed code wants to dynamically link with LGPLed code
<tabemann> where then the BSD licensed part may remain BSD licensed
<Zarutian_HTC> nope, at least not in the European Economic Zone iirc what an copyright lawyer here told me and others
<Zarutian_HTC> the BSD part can remain BSD
crab1 has joined #forth
<crab1> Hello, #forth
<Zarutian_HTC> however the compilation artifact would be covered by GPL iff the GPL part was used
<tabemann> things work that way if the code you're linking with is LGPL
<Zarutian_HTC> you can look at it this way: the BSD part is like a story that refers to the GPL part as a different concurrent plot happening in the samw story world.
<Zarutian_HTC> you can release the BSD part, but to get the full effect/story-telling you either need the GPL part or a substitute
<tabemann> okay, from what it seems one can combine BSD and GPL code without having to relicense the GPL code if there is a "strong separation" between the wtwo
<tabemann> like between a process and an operating system
<tabemann> or between a kernel module and a kernel
<Zarutian_HTC> the "strong" seperation also applies to unikernels
WickedShell has quit [Remote host closed the connection]
<Zarutian_HTC> there you treat the source code parts as a combined recipie to produce the compilation artifact
<Zarutian_HTC> which in that case is the unikernel