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
freeemint has quit [Ping timeout: 245 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
jibanes has quit [Ping timeout: 268 seconds]
jibanes has joined #picolisp
orivej has joined #picolisp
karswell has quit [Remote host closed the connection]
karswell has joined #picolisp
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
xkapastel has joined #picolisp
freeemint has joined #picolisp
freeemint has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 240 seconds]
_whitelogger has joined #picolisp
orivej has joined #picolisp
klausnrooster53 has joined #picolisp
lodsw_ has quit [Ping timeout: 264 seconds]
lodsw has joined #picolisp
_whitelogger has joined #picolisp
<Regenaxer> LLVM is not as flexible and powerful as I had hoped for
<Regenaxer> It comes withe Coroutines http://llvm.org/docs/Coroutines.html, but they are useless
<Regenaxer> and 'native' is not possible
<Regenaxer> But I think using libffi is a way to go for 'native'
<Regenaxer> I hope libffi does not destroy portability, as this is the only reason I think about switching to LLVM
orivej has quit [Ping timeout: 240 seconds]
<tankf33der> o/
<Regenaxer> Hi tankf33der
<tankf33der> but porting pil64 to risc-v would took you 6? 10? days
<Regenaxer> It is not possible
<Regenaxer> And what aboout ohere environments (Apple)?
<tankf33der> looks like dead end
<Regenaxer> Thus I'm trying LLVM
<Regenaxer> If I use libffi, everyhing else should be doable
<tankf33der> ok
<Regenaxer> Execution is slower perhaps, but can be optimized
<Regenaxer> Coroutines must be written as before, I was just hoping LLVM's mechanisms could be used
<Regenaxer> But these are stackless co
<Regenaxer> as in Python
<Regenaxer> Pil allows 'yield' in nested calls
<Regenaxer> not just in top level
<Regenaxer> tankf33der, is libffi on all relevant systems?
<Regenaxer> Package libffi-dev
<tankf33der> 100% unknown to me
<Regenaxer> It is here on Termux by standard even
<Regenaxer> apt show libffi-dev
<Regenaxer> it takes care fof portability
<Regenaxer> for
<Regenaxer> "Supported Platforms"
<Regenaxer> The problem with RISC-V is that pil64 is designend in such a way that it absolutely *depends* on CPU flags
<Regenaxer> in the source all functions with 'F' in the return
<Regenaxer> eg. 'compareAE_F'
<Regenaxer> means it returns a flag
<Regenaxer> or some functions also accept a flag
<Regenaxer> All functions returning a result in a flag:
<Regenaxer> cd src64; grep "(code '.*_.*F" *.l
<Regenaxer> They would all need to be coded differently
<Regenaxer> and the caller would need to check a register and jump accordingly, instead of directly from the flag
<Regenaxer> Stupid design in RISC-V :(
<Regenaxer> *Every* CPU I ever saw before had flags
<Regenaxer> Important also generally, as eg. the carry flag is a 65'th bit
<Regenaxer> in arithmetics, shift, rotate etc
orivej has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
ubLIX has joined #picolisp
xkapastel has joined #picolisp
ubLIX has quit [Quit: ubLIX]
jibanes has quit [Ping timeout: 265 seconds]
jibanes has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
freemint has joined #picolisp