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
_whitelogger has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 265 seconds]
<tankf33der> morning all
<tankf33der> http://ix.io/26yw
<tankf33der> i see "1" after second (mike) call.
<tankf33der> so you cant continue after yield, right?
<Regenaxer> The behavior is meaningless, it gives varying results
<Regenaxer> Something is deeply wrong, I did not find it yet
<Regenaxer> Here (Termux on Arm64) it does not give 1 on second call but crashes immediately
orivej has joined #picolisp
<tankf33der> щл
<tankf33der> ok
Phoenixwater[m] has joined #picolisp
<DKordic> Welcome Phoenixwater[m].
<DKordic> Good morning everyone.
<Regenaxer> Hi DKordic!
<DKordic> Greetings Regenaxer. Happy New Year(R). :3
<Regenaxer> Thanks, same to you! :)
<Regenaxer> I know *where* it crashes, but I don't know *why* atm
<tankf33der> what llvm version on termux
<tankf33der> mine is llvm9
<tankf33der> ?
<Regenaxer> I had to completely rethink coroutines. The critical points - handling of the stack segments - seem to be solved and the generated asm code looks good
<Regenaxer> llvm version does not matter I'm sure
<Regenaxer> It is a logical problem
<Regenaxer> Saving and restoring environments between yield's
<tankf33der> T
<tankf33der> ok
<Regenaxer> The second yield is called, but crashes when resuming the main task
<Regenaxer> i.e. when the next thing (here again yield, but can be anything like a print) is to be called
<Regenaxer> wrong: Not resuming main task but coroutine code
<Regenaxer> grr, it is confusing ;)
<Regenaxer> In pilAsm it was easier, as we can control everything
<Regenaxer> llvm is not low-level at all
<Regenaxer> you cannot make any assumptions about the lower levels
<Regenaxer> Still it is a lot better than C, as we *can* control the stack a little
beneroth has joined #picolisp
v88m has quit [Ping timeout: 268 seconds]
<tankf33der> checked. latest centos8, llvm7 - the same.
<Regenaxer> ok
beneroth has quit [Quit: Leaving]
<Regenaxer> I should start to study the LLDB Debugger¶
<tankf33der> eh.
Blue_flame has joined #picolisp
Blue_flame has quit [Read error: Connection reset by peer]
<Regenaxer> I want to find a way to debug on llvm-ir level
Blue_flame has joined #picolisp
<Regenaxer> I see only native assembly
Green_flame has joined #picolisp
Green_flame has quit [Client Quit]
Blue_flame has quit [Ping timeout: 248 seconds]
<Regenaxer> It must be possible somehow
<Regenaxer> hehe, the same I'm just reading too
<Regenaxer> But the tips are not helpful, recommending to roll your own stuff for gdb
<Regenaxer> lldb must support this
<Regenaxer> Better of course would be to debug on PilSrc level
<Regenaxer> But for now IR would be fine
<tankf33der> try to check llvm cookbook for lldb part.
<Regenaxer> The cookbook operates on another level
<Regenaxer> I would expect that lldb can operate directly on IR
<Regenaxer> strange
<tankf33der> googling
<Regenaxer> yes, "pushq %r15" is x84 assembly
<Regenaxer> I see arm64 assembly here
<Regenaxer> not helpful
<Regenaxer> I want *at least* IR
<Regenaxer> or I must insert PilSrc source infos (line numbers, variables etc.) as debug info into base.ll
<Regenaxer> But for now IR-level would be enough
<tankf33der> cant find anything useful.
<Regenaxer> IR is OK for me, as I generate it anyway
<Regenaxer> PilSrc would be better of course
<Regenaxer> But arm64 assembly is even more far from the original PilSrc
<Regenaxer> I would expect that llvm can debug on ir level out of the box
<Regenaxer> I ask in #lldb
<Regenaxer> ... silence so far, all idle ...
<Regenaxer> The ultimate way would be if I generate DWARF expressions into base.ll
<Regenaxer> DIExpression ?
<tankf33der> unknown.
<tankf33der> i cant help you.
<Regenaxer> no worry, I'm just thinking
<Regenaxer> Seems I need to dig into it
<Regenaxer> Not today, must visit neighbor soon
<Regenaxer> It is all Metadata things in the llvm lang ref
karswell has quit [Remote host closed the connection]
karswell has joined #picolisp
<Regenaxer> In #lldb they say that lldb can't do it :(
<tankf33der> as expected, right ? :)
<Regenaxer> seems so
<tankf33der> no one do it like @Regenaxer.
<tankf33der> afk.
<Regenaxer> see you!
<anddam> I gather https://github.com/picolisp is not "official", is it?
<tankf33der> anddam: i would say official
<tankf33der> use it, created for users.
<anddam> oh ok
<tankf33der> i use it for years and do pull daily
v88m has joined #picolisp
beneroth has joined #picolisp
<beneroth> Regenaxer, are you there?
<beneroth> nevermind :)
beneroth has quit [Quit: Leaving]
anjaa has joined #picolisp
<tankf33der> anddam: idea
<tankf33der> i have pdf of this book:
<tankf33der> you could code on picolisp all tasks, create repo for this and post on reddit.com/r/lisp solutions
<tankf33der> what you think?
<tankf33der> :)
orivej has quit [Ping timeout: 260 seconds]