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
ubLIX has quit [Quit: ubLIX]
freemint has joined #picolisp
freemint__ has quit [Ping timeout: 264 seconds]
freemint has quit [Ping timeout: 276 seconds]
freemint has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
andyjpb has quit [Ping timeout: 245 seconds]
rob_w has joined #picolisp
<tankf33der> o/
<Regenaxer> Good morning tankf33der!
mtsd has joined #picolisp
<Nistur> mornin'
<mtsd> Good morning!
<Nistur> not so sure about the 'good' bit yet, but sure ;)
<Regenaxer> Hi Nistur, mtsd!
<Nistur> hullo :)
<Regenaxer> I'm struggling with LLVM. Not sure if it is good yet, the VM is more restricted than curren PilVM
<mtsd> Hello Regenaxer!
<Regenaxer> :)
<mtsd> I was about to ask you how the llvm investigations were going
<Regenaxer> I still see no solution for 'native'. Otherwise it is going well so far
<mtsd> Ok
<Regenaxer> The promise is that LLVM is a lot more portable
<Regenaxer> i.e. easier to port
<Regenaxer> I can't find info in the LLVM docs whether completely dynamic function calls are possible, as needed for 'native'
<Regenaxer> Also, carry flag is missing, so bignums are more tedious
<Nistur> I did have a look at using LLVM as the backend for an experiment I was looking, and it just looked so... large and unweildy
<Regenaxer> True
<Regenaxer> The intermediate lang is horrible!
<Regenaxer> But I see it has its advantages
<Nistur> I decided I didn't have enough time to put into it, but I also came across a similar, much smaller project, which seemed like it solved _most_ of my requirements
<Regenaxer> ok
<Nistur> QBE or BQE or some combination of those letters
<Regenaxer> I think I solved all issues with that lang though
<Regenaxer> I don't focus on backend. Implemented a frontend
<Regenaxer> the backend for all target archs is there
<Regenaxer> and it is good
<Regenaxer> very optimized in LLVM
<Nistur> yup
<Regenaxer> My frontend for pil is very simple. Less than 1000 lines
<Regenaxer> (written in pil of course, no C++ needed)
<mtsd> Sounds promising
<Regenaxer> Yeah, except for 'native'
<Regenaxer> Not sure if solvable
<Nistur> the reason I was leaning towards QBE over LLVM is that, as with most of my projects, I knew that if I Started it, I wouldn't have much time, so I wanted a much smaller problem to deal with, and learning LLVM nuances. In the end I didn't have time for either :P But if I was doing something for production (as you would be with Pil of course) then LLVM would be a more sensible option yep :P
<Regenaxer> LLVM is sooo static
<Regenaxer> and strongly typed which is a headache for pil
<Regenaxer> Nistur, yes, you mentioned QBE last time
<Regenaxer> But the reason for me for LLVM is portability. Only!
<Regenaxer> QBE is not of help in MacOS or iOS and oher platforms
<Regenaxer> The trigger for me was RISC-V
<Nistur> I did? I don't think so :P I thought I found it relatively recently (although I may have re-found it to be honest... I keep finding projects that I think would be a good idea, only to find that I started them a couple of years back)
<Regenaxer> RISC-V has no CPU flags, so porting PilVM is a hassle
<Regenaxer> Yes, short time ago
<Nistur> Hmmm, nothing in my logs for QBE prior to today... :S
<mtsd> Someone mentioned QBE a while ago, I don't remember who it was though
<Regenaxer> Not sure, I looked at a link some time ago, about an alternative to LLVM
<Regenaxer> And thought it won't help me
<mtsd> Checked my logs, it was tankf33der :)
<Regenaxer> ah!
<tankf33der> this c implementation have qbe on backend and it can compile and pass tests on Monocypher
<tankf33der> speed is like raw gcc.
<Regenaxer> thanks tankf33der
<tankf33der> also myrlang has qbe as backend.
<Regenaxer> Would it help to bring pilVM to RISC-V, Mac or iOS?
<Regenaxer> and other future platforms?
<Regenaxer> And: Would it support 'native' better?
<Regenaxer> The problem with all such systems is that they are intended for static compilation
<Regenaxer> Much less flexible as pure Asm in pil
<Regenaxer> A little more powerful than C though, so 2tter than pil32
<tankf33der> Regenaxer: you will not find. pilvm is uniq.
<Regenaxer> probably
<tankf33der> probably? they dont exist :)
<Regenaxer> Who knows
<Regenaxer> For now, let's explore LLVM
<Regenaxer> perhaps a good compromise
<Regenaxer> One nice thing on my new inplementation is that the implementation lang of the kernel is now a subset of Pil (instead C or Asm or Java)
<tankf33der> just port pilvm to risc-v in 5-10 days.
<Regenaxer> Yes, this would be faster
<tankf33der> come on :)
<Regenaxer> but not efficient
<Regenaxer> RISC-V has no condition codes
<Regenaxer> and PilVM completely depends on them
<tankf33der> so llvm also.
<Regenaxer> yes, so I write another VM
<Regenaxer> but LLVM has at least overflow (though no carry)
<Regenaxer> In total it is like a C more low level
<Regenaxer> I write a skeleton now, only so much that the 'fibo' benchmark works. No bignums or DB.
<Regenaxer> Absolute minimum
<tankf33der> good.
<tankf33der> lets try test pil on linux kernel 5.3.1
<Regenaxer> OK
<Regenaxer> You think something in system calls changed?
<tankf33der> 5.2 was ok
<tankf33der> 5.2.x was ok
<tankf33der> 5.3 also passed.
<Regenaxer> Great
orivej has quit [Ping timeout: 245 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
ubLIX has joined #picolisp
andyjpb has joined #picolisp
ubLIX has quit [Quit: ubLIX]
xkapastel has joined #picolisp
freemint has quit [Ping timeout: 276 seconds]
freemint has joined #picolisp
mtsd has quit [Remote host closed the connection]
freemint has quit [Ping timeout: 264 seconds]
freemint has joined #picolisp
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
freemint has quit [Ping timeout: 245 seconds]
cilz has joined #picolisp
cilz has left #picolisp [#picolisp]
rob_w has quit [Remote host closed the connection]
xkapastel has quit [Quit: Connection closed for inactivity]
freemint has joined #picolisp
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
andyjpb has quit [Ping timeout: 245 seconds]
orivej has joined #picolisp
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
libertas_ is now known as libertas
DKordic has joined #picolisp
cilzz has joined #picolisp
ubLIX has joined #picolisp
cilzz has quit [Ping timeout: 260 seconds]
freemint has quit [Remote host closed the connection]
freemint has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
hijink has joined #picolisp
ubLIX has quit [Quit: ubLIX]
ubLIX has joined #picolisp
andyjpb has joined #picolisp