2026-08-26 00:00:08 when you optimize your compiler for subtraction less than or equal to there can be some peformance advantages to subtraction 2026-08-26 00:00:12 bjorkint0sh: it might make sense, it might not; it might depend on your design constraints 2026-08-26 00:00:39 talk of overloading an operation. 2026-08-26 00:00:41 also remember on an x86_64 machine the optimizer is going to jump ahead and predict future subtractions, and that is much easier to do on an incredibly small state machine like one that runs subleq 2026-08-26 00:00:54 in Calculus Vaporis https://github.com/kragen/calculusvaporis I have subtraction and NAND, but no addition 2026-08-26 00:00:56 on microcontrollers without opptimizers there would be an extreme performance hit because no branch prediction 2026-08-26 00:00:58 lisbeths: do you have an fpga board to play with? 2026-08-26 00:01:03 it might be highly instructive. 2026-08-26 00:01:20 no but I hope there is some software where I can simulate an fpga over a period of time 2026-08-26 00:01:27 I can get my boss to buy me an fpga soon here 2026-08-26 00:01:37 lisbeths: probably not an *extreme* performance hit, probably only about 30% 2026-08-26 00:01:39 https://github.com/howerj/subleq/blob/master/subleq.fth shows that implementation of all those operators 2026-08-26 00:01:40 they're not really expensive. 2026-08-26 00:02:06 And here it is running on an FPGA https://github.com/howerj/subleq-vhdl 2026-08-26 00:02:13 I mean interpreting a SUBLEQ instruction is probably about 15-20 cycles, and only about three to five of those are going to be spent on not taking the jump 2026-08-26 00:02:29 there was a book I found in my college library years ago... 2026-08-26 00:02:40 so this type of abstract machine, for our purposes, is not ideal for when performance matters 2026-08-26 00:02:52 its for when you want true portability and isolation of your code 2026-08-26 00:03:18 its the difference between a good sandbox and a hypothetically perfect sandbox 2026-08-26 00:03:22 Calculus Vaporis was designed to use as few gates as possible, but the Intersil 6100 is just as few gates and considerably more performant 2026-08-26 00:03:34 https://www.amazon.com/dp/1402074166?lv Computer Architecture: A Minimalist Perspective 2026-08-26 00:03:52 also, the 6502 2026-08-26 00:04:05 I mean we could do this all day: come up with more and more efficient abstract machines that have been implemented before 2026-08-26 00:04:16 yes. 2026-08-26 00:04:20 let's do that, lisbeths. 2026-08-26 00:04:22 I *did* do this all day on several occasions 2026-08-26 00:04:26 they were days well spent 2026-08-26 00:04:26 there has to be the ULTIMATE one! 2026-08-26 00:04:29 to rule them all. 2026-08-26 00:04:32 the ONE instruction. 2026-08-26 00:04:37 no, there's a Pareto optimality frontier 2026-08-26 00:04:45 if you insist but I argue that is not the intellectually fruitful part is trying to find the most efficient abstract machine 2026-08-26 00:04:52 pfft. talk to the Moore, xentrac. 2026-08-26 00:05:00 second of all I am trying to explain to you that ive nearly implemented an abstract machine that is compiled not interpreted 2026-08-26 00:05:15 so seeing my compiled abstract machine might speed up your search 2026-08-26 00:05:18 what did you write it in, lisbeths? 2026-08-26 00:05:24 asm? 2026-08-26 00:05:42 I wrote it in awk and it compiles to a subset of c that gets injected in the middle of a c file 2026-08-26 00:05:47 it is gpl2 but the documentation is written by ai 2026-08-26 00:05:58 right, fastspungus 2026-08-26 00:06:05 yes and it has been updated recently 2026-08-26 00:06:17 https://github.com/memesmith67/fastspungus 2026-08-26 00:06:38 if you happened to learn a technique or two from fastspungus that would be sooooooo unfortunate 2026-08-26 00:06:49 I am sure the designer would care so much if you figured out how it worked 2026-08-26 00:07:04 the designer, namely lisbeths. 2026-08-26 00:07:22 it would be such a shame if someone learned its design secrets 2026-08-26 00:08:02 IIRC crc pointed out that some of the examples in the README don't work 2026-08-26 00:08:04 lisbeths: eh. no formatting? 2026-08-26 00:08:17 yeah cause the readme is formed by ai that doesnt truly understand how fastspsungus works 2026-08-26 00:08:28 I am awful at writing documentation 2026-08-26 00:08:31 hmm, well, maybe you should delete it 2026-08-26 00:08:36 the README, I mean 2026-08-26 00:08:37 it's written like Arthur WHitney wrote his code for k. 2026-08-26 00:08:38 not the project 2026-08-26 00:08:51 the readme is the only non gpl document I can share with people about fastspungus 2026-08-26 00:08:59 well, then you should make sure it's correct 2026-08-26 00:09:14 as ive said one of my skills is not documentation 2026-08-26 00:09:34 each year i will just ask ai to rewrite better documentation and it will get better each year 2026-08-26 00:09:38 if that's all you lack, it'll be the cherry on top once you master that too. 2026-08-26 00:09:57 I guess that's possible? 2026-08-26 00:10:26 there's also the option of literate programming where you intertwine the two. 2026-08-26 00:10:44 disclosure: I skimmed through the readme and ran the code against a few of the examples; didn't look at the actual fastspungus code in any detail since it's GPL, which I mostly avoid 2026-08-26 00:11:02 I mean bro 2026-08-26 00:11:03 (a valid choice, though not one I share) 2026-08-26 00:11:13 it would be sUCH a shame if you did look a that gpl code and didnt honor the gpl 2026-08-26 00:11:23 I am sure the author would be sooooo upset 2026-08-26 00:11:50 the author's successors in interest might be delighted because it gave them a license to sue for damages 2026-08-26 00:12:01 yeah that is the bind I am in it seems 2026-08-26 00:12:20 as far as I know I am able to license it to you if I choose 2026-08-26 00:12:20 it hardly seems like a bind. if you wrote the code you can license it however you want 2026-08-26 00:12:35 unless it's a work for hire or something 2026-08-26 00:12:40 if you are able to work with a laywer with me then we could figure out how i can license it to you safely 2026-08-26 00:12:44 but I cant afford a lawyer 2026-08-26 00:12:57 lisbeths: what if you removed the license altogether? 2026-08-26 00:12:59 Given that I do commercial work with stack based languages, I am cautious about what I read code-wise 2026-08-26 00:13:10 bjorkint0sh: that would make the situation worse, not better 2026-08-26 00:13:20 ACTION is clearly not getting it. 2026-08-26 00:13:24 there are legally technical reasons why I dont use public domain. including that in many nations public domain isnt recognized 2026-08-26 00:13:29 bjorkint0sh: no license to me implies no rights to the code at all 2026-08-26 00:13:42 in the end it will likely either be gpl 2.0 or 0 clause bsd 2026-08-26 00:13:43 think of it as a pastebin. 2026-08-26 00:13:49 you could use a permissive license like the Apache-2.0 or 2-clause BSD 2026-08-26 00:13:57 0 clause bsd is superior 2026-08-26 00:14:01 I use a fairly short, liberal license for what I release publicly 2026-08-26 00:14:04 written by mark landley 2026-08-26 00:14:13 bjorkint0sh: sadly, the Berne Convention thinks of pastebins as radioactive waste 2026-08-26 00:14:31 so I *can* relisence it as long as I can guarantee that I can still use it how I want like I would under gpl 2026-08-26 00:14:37 I dont know enough about the law to safely relicense it 2026-08-26 00:14:51 I desire to give you access believe me, its just not currently within my power 2026-08-26 00:15:59 oh, nobody can stop you from using software you own because you licensed it to them 2026-08-26 00:16:09 As the author, you retain the copyright; you can offer the code under different licenses to different people 2026-08-26 00:16:17 I understand that but you arent attourneys 2026-08-26 00:16:25 (that you own the copyright for) 2026-08-26 00:16:32 What they can do with the code depends on the license you provide them 2026-08-26 00:16:53 I have already in the past been in tricky situations over bsd 0 clause 2026-08-26 00:16:57 many people threatened to sue me 2026-08-26 00:17:02 there is no "BSD 0 clause" 2026-08-26 00:17:11 yes it is just named that it doesnt actually ahve zero clauses 2026-08-26 00:17:17 a 0-clause license would be the empty string "" 2026-08-26 00:17:19 it was written by robert landley I believe his name is 2026-08-26 00:17:34 so the thing to understand is that legally a bsd 3 clause has more than 3 clauses 2026-08-26 00:17:51 so when you remove 3 of the clauses from bsd 3 clause the namesake is bsd 0 clause despite it having clauses 2026-08-26 00:18:05 What trouble did you get into? 2026-08-26 00:18:25 people just kept threatening to sue me very frequently 2026-08-26 00:18:37 they seemed to believe that they could just fork my code into proprietary or gpl code and that this would allow them to sue me 2026-08-26 00:19:00 even if they couldnt sue me the constant threat of lawsuits was draining for me 2026-08-26 00:19:04 under gpl nobody threatens to sue me 2026-08-26 00:19:14 No, it wouldn't, that's not how things work 2026-08-26 00:19:25 I am somewhat aware that you are correct yes 2026-08-26 00:19:37 but most coders are actually incompetent when it comes to licensing law 2026-08-26 00:19:43 and they believe htey can sue me 2026-08-26 00:20:53 that's odd, lisbeths. 2026-08-26 00:21:05 It seems like they are trying to scare you into using a specific license, or for other ulterior goals. 2026-08-26 00:21:15 indeed. and it worked! XD 2026-08-26 00:21:30 lisbeths: you should probably spend less time interacting with delusional people 2026-08-26 00:21:35 I suffer no consequence from using gpl2 only people who want to implement fast spungus in another license have the consequence 2026-08-26 00:21:50 unfortunately I frequently interact with very strange people 2026-08-26 00:21:57 tht's often very draining 2026-08-26 00:22:02 I would ignore them. You should use the GPL because you believe in it, or not use because you do not believe in it, not because of nonsense 2026-08-26 00:22:26 I would prefer for reform to software law so that globally that public domain was redfined as gpl 0 clause 2026-08-26 00:22:46 there has never, to my knowledge, been a lawsuit because someone forked code into proprietary or gpl code and then sued the author 2026-08-26 00:22:50 As a meaningless data point, I have been using liberal licenses for the better part of three decades without any legal headaches 2026-08-26 00:22:58 I am very chinese in my design philosophy for coders tools. i want the intellectual property to spread when it comes to coders tools 2026-08-26 00:23:22 perhaps you could be very Chinese like Dr. C.H. Ting and write good documentation 2026-08-26 00:23:24 there are only two ways for me to transfer fastspungus onto someone who does not want to read the gpl code 2026-08-26 00:23:28 the first is to relicense it 2026-08-26 00:23:35 the second is to find some other way to transfer the knowledge of how it works 2026-08-26 00:23:55 lisbeths: Re-write it in Rust. 2026-08-26 00:24:23 I think that would still open me up to lawsuit threats of *that* implementation 2026-08-26 00:24:42 really? I didn't know it was so fraught. 2026-08-26 00:24:43 its lik eone of those games where everyone pretends to close their eyes but someone always peaks. eventually the design of fastspungus will leak 2026-08-26 00:25:22 it not necessarliy that I can be successfully sued, its that they can try to sue me 2026-08-26 00:25:32 and it immediately creates social friction with me when a coder gets it in their heads they want to sue me 2026-08-26 00:25:52 the moment a coder feels they want ot sue me thats all they ever talk aobut ever again. they become a clockwork parrot 2026-08-26 00:26:08 perhaps cause they are a lesser mind... 2026-08-26 00:26:15 when I am working under gpl nobody ever threatens to sue me 2026-08-26 00:26:51 If you want, we could just say we will sue if you don't relicense it XD 2026-08-26 00:27:02 it isn't so fraught 2026-08-26 00:27:16 there are just some crazy people out there 2026-08-26 00:28:19 yeah but youd be suing the free software foundation most likely 2026-08-26 00:28:34 so it makes me not htat worried 2026-08-26 00:28:43 If you're that worried about lawsuits, register the code with your countries copyright office so you have a clear record of ownership and move on. 2026-08-26 00:28:55 there is a record of my authorship on github 2026-08-26 00:29:09 GPL doesn't mean the FSF has anything to do with the code in question 2026-08-26 00:29:27 I understand but what I am saying is that I have little fear of someone suing me over gpl code 2026-08-26 00:29:41 Yeah, I think you're really confused about copyright and how things work 2026-08-26 00:29:52 no *I'm* not other engineers are 2026-08-26 00:30:06 and many other engineers out there believe they can sue you over their fork of your bsd code 2026-08-26 00:30:11 no, it sounds like you are too 2026-08-26 00:30:18 It really does 2026-08-26 00:30:29 I dont have the tiem or the resources to deal with a lawsuit even a frivalrous one 2026-08-26 00:30:46 furthermore having programmers frequently think they should sue me causes social friction immensely 2026-08-26 00:31:05 it has wasted countless man hours of my life during the period when I switched to bsd license 2026-08-26 00:31:51 Most people do not either have the resources either, but I think you were being trolled 2026-08-26 00:32:04 threatening is free, I'd wait at least until they pay an attorney to worry about that 2026-08-26 00:32:12 yes but that still causes problems in a way that is difficult to ignore 2026-08-26 00:32:17 Even a letter before action 2026-08-26 00:32:18 yeah, exactly what hello-operator said 2026-08-26 00:32:37 an engineer who previously would have been cooperative with me now only sees me as a target for duscissions about lawsuits 2026-08-26 00:32:41 do you see how that could be problematic 2026-08-26 00:33:03 I can see how that "engineer" might be problematic! 2026-08-26 00:33:34 yeah, it's good news if that means you do not use more of that engineer's code 2026-08-26 00:35:13 I do understand wanting to avoid the *stress* of the situation though 2026-08-26 00:36:01 its not the stress 2026-08-26 00:36:25 there is a common misconception amongst some coders that you can just fork a bsd project than sue the author 2026-08-26 00:36:41 and these people cant be convinced the inverse is true they are typically very beligerant on this point 2026-08-26 00:36:59 and it has ruined several productive friend groups I was collaborating with 2026-08-26 00:38:30 xentrac: Apparently it thinks it uses AI to analyze the page layouts. 2026-08-26 00:38:51 ACTION wonders what kind of projects you've encountered these issues with 2026-08-26 00:38:53 I've never come across this before, but these people are mistaken, and don't seem like good people to be hanging around. 2026-08-26 00:39:00 My ebook management software will do a pdf to epub conversion, but the results are CRAP, so apparently it's not a slam dunk problem. 2026-08-26 00:41:33 PDFs can be very irritating to work with 2026-08-26 00:43:01 E.g., one of the programs we use at work generates pdfs of orders, but the internal structure is a complete mess. 2026-08-26 00:43:20 Parts of words get split up and assembled separately on the page, in a weird, inconsistent grid 2026-08-26 00:44:05 (I've been slowly working on a parser for these for onenof my projects, but it's a very frustrating endeavor so far) 2026-08-26 00:44:12 well lets have a go at describing fastspungus to you 2026-08-26 00:44:32 I assently have a few op codes that compile to standard c 2026-08-26 00:44:41 for example one of the op code merely emits a switch statement 2026-08-26 00:44:54 one of the opcodes deals with doing some arithmetic on two variables then storing the result in another variable 2026-08-26 00:45:02 oneof hte op codes just emits a while loop 2026-08-26 00:45:14 one of the op codes just emits the end to a code block } 2026-08-26 00:45:25 one of the op codes emits the function prototype to a function 2026-08-26 00:45:40 one of the op codes calls a function and stores its output 2026-08-26 00:45:59 one of the op codes emits a return statment to return a value 2026-08-26 00:46:33 one of the op codes does nothing but typecasts a variable into another variable of a different type 2026-08-26 00:46:48 one op code just emits a dype declaration of a new name in namespace 2026-08-26 00:46:52 and assigns it to zero 2026-08-26 00:47:07 one op code emits a literl case statement in a switch 2026-08-26 00:47:15 one op code emits a literal break statement in a switch 2026-08-26 00:47:40 as far as I can see the very last op code emits a default statement for a switch 2026-08-26 00:47:55 so everything I have listed here should be possible in raw asm or in any standard c program 2026-08-26 00:48:13 and it is relatively abstract except for function calls 2026-08-26 00:48:35 it is what c coders refer to as a c-- type language 2026-08-26 00:49:06 it treats the basic c structures and operations as machine instructions in a high level portable asm-like lanuage 2026-08-26 00:54:09 oh ive forgotten 2026-08-26 00:54:34 one op code dereferences a piece of data at a pointer, the other one takes a piece of data and stores it inside the location at a pointer 2026-08-26 00:54:43 What's the actual goal for this? 2026-08-26 00:54:50 2 parts 2026-08-26 00:55:04 the first exercise is just to explore abstract machines that are very small for embedded systems 2026-08-26 00:55:17 but fastspunugs is an attempt to make that abstract machine compiled and not interpreted 2026-08-26 00:55:25 and it is a very good attempt if I do say so myself 2026-08-26 00:55:48 KipIngram: are there different options for the AI? 2026-08-26 00:57:28 22:32 < lisbeths> an engineer who previously would have been cooperative with me now only sees me as a target for duscissions about lawsuits 2026-08-26 00:57:42 sounds like you dodged a bullet; imagine if you'd gotten more deeply entangled with such a person? 2026-08-26 00:57:58 its just about that spefic person 2026-08-26 00:58:14 it has caused massive flame wars and hours of arguments in the fastlisp lawsuit proceedings 2026-08-26 00:58:39 crc: some PDFs are better than others 2026-08-26 00:59:00 because don't you know it, PDFs are partially programs. 2026-08-26 00:59:31 there is no fastlisp lawsuit 2026-08-26 00:59:41 bjorkint0sh: no, PDFs are not partially programs 2026-08-26 00:59:53 I mean I guess in the sense that they can embed JS and TrueType 2026-08-26 01:00:08 but that's like saying that your filesystem is partially a program because you can store C programs in it 2026-08-26 01:00:46 yes. in the sense they're scriptable in JS. 2026-08-26 01:00:51 PDFs are passive data structures, unlike PostScript. That's the biggest difference 2026-08-26 01:01:06 none of the PDF readers I normally use support the JS scripting 2026-08-26 01:01:23 xentrac: true. I'm just stuck dealing with terrible ones most of the time 2026-08-26 01:01:45 yeah. PDFs that are terrible for parsing are pretty common because they still print fine 2026-08-26 01:02:09 xentrac: Don't know yet. I just ran the basic command and it croaked on the RAM. Maybe it has some options I can tune. 2026-08-26 01:08:16 Did it download a giant file of weights from HuggingFace? 2026-08-26 06:14:17 okay so I have a compiled binary that is supposed to contain a pure lambda expression inside of it 2026-08-26 06:14:39 so I am hoping someone here who knows x86_64 can read how the lambda is implemented 2026-08-26 06:15:03 then we can settle the debate on the performance of haskells ghc compiler 2026-08-26 06:17:15 this appears to be the encoding of hte lambda in haskell https://www.irccloud.com/pastebin/SEkoRXO4/ 2026-08-26 06:17:42 this is the lambda we encoded fun = (\x -> (\y -> ((\x -> (\y -> (\z -> ((z x y )))) x)))) 2026-08-26 06:27:24 i believe it was xentrac who requested this https://www.irccloud.com/pastebin/NPs9xAr2/ 2026-08-26 06:55:29 it seems to be four instructions? and a bunch of data 2026-08-26 06:59:14 the data seems to be three objects whose first word is some kind of a type tag or code pointer (a cfa, you might say) followed by more words 2026-08-26 06:59:34 one of the objects points to the other two, which seem to be strings, specifically "Foo" and "main" 2026-08-26 06:59:48 I think the compiler has optimized away your lambda because you didn't use it 2026-08-26 07:03:40 oh, and there's a fourth object, which is a closure for the four instructions and which doesn't seem to be referenced by anything else, although it is .globl, so visible outside this file 2026-08-26 07:53:13 xentrac they are asking you to com einto haskell rather htan me pasting back and forth responses 2026-08-26 07:53:16 into #haskell 2026-08-26 17:02:00 Peloa, aAh,/whepl dtman34