beneroth changed the topic of #picolisp to: PicoLisp language | The scalpel of software development | Channel Log: https://libera.irclog.whitequark.org/picolisp | Check www.picolisp.com for more information
genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #picolisp
seninha has quit [Ping timeout: 272 seconds]
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
m_mans has joined #picolisp
seninha has joined #picolisp
clacke has joined #picolisp
clacke has quit [Quit: Gateway shutdown]
m_mans has quit [Quit: Leaving]
f8l has quit [Quit: WeeChat 3.0]
f8l has joined #picolisp
seninha has quit [Quit: Leaving]
seninha has joined #picolisp
seninha has quit [Ping timeout: 252 seconds]
seninha has joined #picolisp
seninha has quit [Remote host closed the connection]
<abu[m]> OH! 😇 I'm not sure, but it almost looks like I managed to rewrite @src/lib/llvm.l for opaque pointers
<abu[m]> Or maybe I misunderstood something?
<abu[m]> In any case, I thought I give it a try, and succeeded to build Pil21 without the "-opaque-pointers" option on LLVM 15
<abu[m]> *If* it is correct, then it was a lot simpler than I expected
<abu[m]> The definite test will be when LLVM 17 is out, which they say is 100% opaque-only
<tankf33der> Ok
<abu[m]> I changed only src/Makefile and src/lib/llvm.l
<abu[m]> The main headache will be how we distribute it
<abu[m]> Easiest is if we simply support only LLVM >= 15 then
<abu[m]> (so we should not release too soon)
<abu[m]> I tested only on LLVM 14 (does not build any more) and on LLVM 15 (builds)
<abu[m]> tankf33der: Do you want to test on LLVM 16?
<abu[m]> The two involved files are here: https://picolisp.com/pub/pil21-llvm15.tgz
<tankf33der> i will.
<abu[m]> Cool
<abu[m]> I cannot believe that this was all. But it builds on 15 without errors. Perhaps this is due to 15 being more tolerant
seninha has joined #picolisp
<tankf33der> works.
<abu[m]> Great! Thanks!
<tankf33der> how will you detect and handle llvm version?
<abu[m]> As I said above, I won't
<abu[m]> Support >= 15
<abu[m]> Otherwise we need to distribute *two* versions of all src/*.ll files
<abu[m]> What amazes me, is that the resulting src/picolisp.s is *exactly* identical!!
<abu[m]> 'diff' shows nothing
<abu[m]> $ diff ~/pil21/src/picolisp.s src/picolisp.s
<tankf33der> you could use different llvm.l files depends on llvm version and support llvm7-17 out of box without iterations from user.
<abu[m]> llvm.l is not the problem
<abu[m]> The problem are the huge *.ll files
<abu[m]> *they* are different
<tankf33der> then only bootstraping matters.
<abu[m]> yes
<abu[m]> Do you think it is a big problem not to support old LLVMs?
<tankf33der> HUGE!
<tankf33der> no one on modern llvms
<abu[m]> ☺
<abu[m]> Not now, yes, but when Debian goes to 17
<abu[m]> in a few years
<abu[m]> Older systems can use picoLisp-22.12.tgz
<abu[m]> or whatever is the last version with typed poiters
<tankf33der> i believe modern debian will never meet llvm15+
<abu[m]> Otherwise we could supply two TGZs
<abu[m]> Why do you think so?
<abu[m]> Currently it is 14 on Testing
<tankf33der> two TGZs will break git support
<tankf33der> i do:
<tankf33der> git pull
<tankf33der> cd src
<tankf33der> make
<tankf33der> everywhere.
<abu[m]> the *.ll files are also in Git?
<tankf33der> yeap as they inside tgz distribution
<abu[m]> Git can be big, I just want to keep the TGZ small
<tankf33der> identical, since i use different scripts.
<abu[m]> Why do you think Debian will never be >15?
<abu[m]> I think Unstable is on 15 already now
<abu[m]> Termux is on 15
<tankf33der> Debian sid on 15
<tankf33der> Only rolling linux distributions is easy roll out newer llvm versions on every iterations
<tankf33der> rest will stay on version they choose initialy
<abu[m]> yes, so when Stable is on 15, I would swicht
<abu[m]> s/swicht/swich/
<tankf33der> ok
<tankf33der> you will split community
<abu[m]> We don't need to care about Ubuntu, Mint etc. as they come with an older PicoLisp anyway
<abu[m]> What would you recommend instead?
<tankf33der> now i recommend break bootstrap and prolong llvm version range out of the box.
<abu[m]> Bootstrap is very important imho
<tankf33der> You can make a survey about this stuff
<abu[m]> Yes
<abu[m]> When pulling from Git, base.ll etc. are useless anyway, because the timestamps are not predictable
<tankf33der> removing *.ll from distr is breaking bootstrap
<tankf33der> so sources is important for me, git pull do all job.
<abu[m]> Let's see if we get more ideas ☺
<tankf33der> ok/
<tankf33der> afk.
<abu[m]> CU :)
seninha has quit [Remote host closed the connection]