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