ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
freemint has quit [Quit: Leaving]
f8l has quit [Ping timeout: 240 seconds]
bitmapper has quit [Ping timeout: 240 seconds]
karswell has quit [Read error: No route to host]
karswell has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
orivej has quit [Ping timeout: 250 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
Nistur has quit [Ping timeout: 265 seconds]
Nistur has joined #picolisp
<Regenaxer> I would not waste my time with Ersatz
orivej has joined #picolisp
f8l has joined #picolisp
<tankf33der> ersatz only for bootstraping and fun.
<Regenaxer> Exactly
orivej has quit [Ping timeout: 268 seconds]
beneroth has joined #picolisp
rob_w has joined #picolisp
orivej has joined #picolisp
mtsd has joined #picolisp
cil_z has joined #picolisp
cil_z has quit [Ping timeout: 246 seconds]
<beneroth> Good morning
<mtsd> Good morning beneroth!
<beneroth> Regenaxer, please check my answer to Kayshap for correctness, thanks :)
<beneroth> Good morning mtsd :)
<mtsd> Doing well, I hope?
<beneroth> mostly yes. still to busy with too many projects in parallel.
<beneroth> generally a good thing, but some stuff got delayed, and I agreed to too much work, so everything comes together :)
<beneroth> but some parts of it I can do with picolisp, and that is more fun (and easier) :)
<beneroth> how are you doing, dear mtsd ?
<Regenaxer> Hi beneroth, mtsd!
<Regenaxer> Thanks beneroth for the long mail!
<Regenaxer> It looks very good. I read in detail later
<Regenaxer> on phone atm
<mtsd> Hi Regenaxer, hope you get a good day :)
<Regenaxer> thanks! yess :)
<mtsd> Good email, beneroth. I just read it.
<mtsd> Prolog was the first programming language I encountered, it really is a different beast :)
<beneroth> thank you :)
<beneroth> prolog as first language? wow
<mtsd> Yes, University times..Well, I had dabbled some in C before, but prolog was the first course :)
<mtsd> Took some time to wrap my head around that one..
<beneroth> My first language was C++ (self-study), I always profited from knowing about pointers and the "inner workings" which are less transparent in more abstract/bloated languages
<beneroth> In school (for software programmer) we learned C without pointers "you will not need it for Java anyways")
<Regenaxer> haha
<Regenaxer> "evil pointers"
<Nistur> my brother ( a physics student ) is currently learning C for his university course and is struggling to understand pointers
<Nistur> he keeps sending me his (failed) attempts to write things
<Nistur> which look an awful lot like, if it doesn't work, he just puts a * in places, and hopes it's correct
<Nistur> also o/
<beneroth> Nistur, aye
<beneroth> I think of pointers as signposts
<beneroth> in my school, in the java courses the error most often occuring was "NullPointerException". and people mixing up array and ArrayList (array of pointers like C++ vector)
<beneroth> but yeah
<Nistur> I haven't written much java in the past... 15 years I think. I did a _little_ before university, but since then it's only been to coax some Android builds for various things
<beneroth> most work done by IT people these days is needed because of the flawed efforts of IT people
<beneroth> at least in software, maybe valid for whole IT
<Regenaxer> Hi Nistur!
<Regenaxer> beneroth, wow!!! A very very good explanation in the mail!!
<Regenaxer> impressive!
<Regenaxer> It is a full documentation in itself
<Nistur> we had a debate at work yesterday about pointers and references in C++. One of my colleagues was saying that they are semantically different in the language. My argument was that might be true in theory, but in practice, 99% of the time, the compiler will implement them as the same thing (the only exception, I think, is in the case where the reference is the same scope as the thing it's referencing,
<Nistur> which is _normally_ not a valid use case) and as such, it's got almost all the same flaws as pointers, but more difficult to guard against. For example: "References can never be null" - no, it's difficult to purposefully make them null because the compiler/language won't allow it, but it's very easy to accidentally do so. I've seen it many times where I've debugged a program and a reference is
<Nistur> referencing null because reasons. So in most practical use cases, pointers and references are indistinguishable at runtime
<mtsd> beneroth, maybe turn the e-mail into a wiki article?
<Regenaxer> Good idea
<Nistur> o/ Regenaxer
<Regenaxer> :)
<beneroth> thanks Regenaxer
<beneroth> wiki maybe later. Feel free to turn my mail into one. I'd like to do some more picolisp tutorial/documentation writing, but no time at the moment :( it's on the todo list...
<beneroth> Nistur, with Java people you cannot even discuss about the C++ syntax difference of pointers and references, as Java (and .NET) made a point by not using the word pointer but only the word reference (which in these languages can be null)
<beneroth> so for Java people pointer and reference is the same word, they cannot understand that in C++ it's two (related) things
<beneroth> I often miss the NIL equals false semantic of picolisp (or the 0 equals false from C++) in C#. with shorter checks for null and empty strings, you could probably save a third or more LOC of a C# codebase.
<Nistur> yeah, it's a bit annoying :P Buuuuuuut doing gamedev in Unity, they've overridden something (I forget which) that makes that work for anything that inherits from UnityEngine.Object (which is most things)
<beneroth> ah nice
<Nistur> ahh, it's an override conversion to bool
<Nistur> public static implicit operator bool(Object obj){ return this == null; }
<Nistur> at a guess
<beneroth> nice thanks
andyjpb has joined #picolisp
orivej has quit [Ping timeout: 276 seconds]
mtsd has quit [Quit: Leaving]
beneroth has quit [Quit: Leaving]
beneroth has joined #picolisp
rob_w has quit [Remote host closed the connection]
orivej has joined #picolisp
beneroth has quit [Quit: Leaving]
Seteeri has joined #picolisp
Seteeri has quit [Remote host closed the connection]
beneroth has joined #picolisp
jibanes has quit [Ping timeout: 240 seconds]
jibanes has joined #picolisp
bitmapper has joined #picolisp
<bitmapper> i think i may be able to directly embed the C versions of the missing functions in picolisp into ersatz picolisp
orivej has quit [Ping timeout: 268 seconds]
<beneroth> hi bitmapper
<bitmapper> hi!
<beneroth> you attempt to make ersatz to a full picolisp edition?
<bitmapper> i got it to compile to a native binary in graalvm
<beneroth> but there are differences between the C version (pil32) and the pilASM version
<beneroth> oh
<beneroth> never heard of graalvm
<beneroth> ah nice
<bitmapper> oracle made a jvm that can compile to native binary + interop with js, c, any llvm lang, and python
<bitmapper> the performance is much, much nicer, at 150% less memory usage
<bitmapper> about 150% at least
<bitmapper> it uses 2mb of ram, so a big improvement
<bitmapper> doing this because i'm on macos for the time being, wanted to try picolisp
<beneroth> a project by Oracle which doesn't suck? didn't thought there weren't doing such things anymore :D
<beneroth> wow
<beneroth> yeah
<beneroth> pil and macos don't play well :(
<bitmapper> and that's the *open source* graalvm's performance
<beneroth> sounds like Java is on the way to be COBOLized
<bitmapper> i think java itself is going to die, but the jvm won't
<beneroth> same
<bitmapper> jvm is pretty nice
<beneroth> what do you prefer about pil in favour of clojure?
<bitmapper> it's terseness
<bitmapper> *its
<beneroth> kinda the best argument, haha
<bitmapper> hmm, i could mess around with it on my irix machine for the time being lol
<beneroth> problem is, pil kinda expects linux, not merely posix. it plays well on BSDs, but I'm not so sure about all the other UNIXes
<bitmapper> doesn't it have irix support?
<bitmapper> kinda bizzare, but i'll take what i can
<beneroth> should work on solaris. I got it working on an older solaris, but not the full picolisp (I think fork etc. had some issues), but I didn't invest much time
<beneroth> dunno
<beneroth> it might well have
<bitmapper> i did get the 32 bit version building as a 64 bit binary on macos, with a big issue though
<bitmapper> doesn't like big numbers
<beneroth> no *.s file for irix
<bitmapper> ahh, i was meaning the 32bit version
<beneroth> ah well
<beneroth> 32bit should be easier than pil64
<bitmapper> i did find a gas compatible assembler that can make binaries for macos in the process though!
<beneroth> and you can always build pil64 as emu, then its 32bit C but emulating enough for the pil64 stuff to work, afaik
<beneroth> oh!
<beneroth> yeah gas on solaris was my biggest issue too
<bitmapper> it can't make picolisp binaries, just due to no support, but it can handle the assembly
<beneroth> lol nice
<bitmapper> it's called yasm https://yasm.tortall.net
<bitmapper> it also provides it's own format
<bitmapper> and a runner for it
<bitmapper> i'm so tired i can't remember my its and it's
<beneroth> no worries
<beneroth> thanks for the linki
<beneroth> *link
<bitmapper> no problem!
andyjpb has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp