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
xkapastel has quit [Quit: Connection closed for inactivity]
groovy2shoes has joined #picolisp
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
orivej has joined #picolisp
razzy has joined #picolisp
<tankf33der> morning
<razzy> hi , i still want to customize debugger with similiar function to (e) more: https://ptpb.pw/BHhE. i would like to use picolisp function that directly use currently debugged expression as (e) does. i was unable to do it from *Dbg ((3133 . "@src64/flow.l")) or *Dbg ((3133 . "@src64/flow.c")) is there the easy way?
<razzy> morning :]
<Regenaxer> Hi tankf33der, razzy
<Regenaxer> tankf33der: No change yet?
<tankf33der> soon :)
<Regenaxer> :)
<Regenaxer> razzy, I do not really understand what you want to do
<Regenaxer> "directly use currently debugged expression"
<Regenaxer> What difference to (e)?
<Regenaxer> Is the important point "current"?
<razzy> Regenaxer: imho, difference to (e) is that (se) do not make side effects on global variables. they all happen in sepparate thread.
orivej has quit [Ping timeout: 250 seconds]
<razzy> usefull if you want to see results, but not want to change complex interaction of global variables.
<Regenaxer> ah
<Regenaxer> No way. Globals are global :)
<Regenaxer> you can do this (use *Global (e))
<Regenaxer> But there may be infinitely more side-effects
<Regenaxer> Like deleting the whole internet
<razzy> Regenaxer: imho, if i use later, i make working-copy of picolisp thread and i can be sure i have no persistent changes to normally used thread.
<Regenaxer> There are no threads btw
<Regenaxer> processes
<razzy> i meant processes?
<Regenaxer> yeah
<razzy> sorry
<Regenaxer> It is correct that a process has its private memory
<Regenaxer> but 'later' writes a var in the current process
<razzy> if (use *Global (e)) works the same, i will use it
<Regenaxer> it makes *Global local
<Regenaxer> I use expressions like (let *Global (someLocalValue) ..) quite often
<razzy> Regenaxer: i do not see that *Global holds all variables unique to current picolisp process
<razzy> you need to know what variables you want to save, before you invoke (use )
<Regenaxer> No, '*Global' is just an example
<Regenaxer> right
<razzy> i have problem that i do not know what variables code interact with.
<Regenaxer> yeah
<Regenaxer> ok, what if you do
<Regenaxer> (unless (fork) (msg (e)) (bye))
<Regenaxer> But the general problem of side-effects remains
<Regenaxer> eg file-I/O
<razzy> yes, but i need to check only for file/internet I/O, instead of whole picolisp
<razzy> when the properties could hide active code and access to variables, it is hard to find them all for me.
<Regenaxer> Which properties hide code?
<razzy> bad expression
<Regenaxer> I think it is not useful to disable side-effects during debugging
<Regenaxer> They are essential for a program
<Regenaxer> I think you overuse (e) here
<Regenaxer> Better make a breakpoint here, and another one at the *next* expression
<Regenaxer> then single-step
<razzy> Regenaxer: yes i agree with you, you ussually want side-effect on when debugging
<razzy> Regenaxer: is there another way to single-step other than use (d) than enter?
<Regenaxer> You can also manually set breakpoints at individual places
<Regenaxer> (edit 'fun)
<Regenaxer> then insert '!'
<razzy> i do that often
<Regenaxer> or insert '!' in the source code before 'load'ing
<Regenaxer> ok
<razzy> *very* often
<Regenaxer> Good :)
<Regenaxer> So in any case '!' is needed
<Regenaxer> (debug) and (d) are just helpers to insert '!'s
<razzy> i use "manual" ! insertions more than (d)
<Regenaxer> yes, me too
<Regenaxer> usually we know where we want to stop
<razzy> and because i insert ! in function at the same time it take write (d)
<Regenaxer> true
<razzy> i get that you do not believe me no-side-effect eval is usefull, because you ussually do not chew on others code. I like, it is like looking at eval with no worries you break your current picolisp process
<razzy> you could go nuts, without constant restarting and reloading variables :]
<Regenaxer> OK, so you could try (unless (fork) (msg (e)) (bye))
<razzy> nice, i will bond it to emacs short-cut somehow :]
<razzy> thx
<Regenaxer> :)
xkapastel has joined #picolisp
<razzy> i guess there is no step-back in current picolisp debugging, yes? neither step to last debug-stop with all picolisp-side-effects rolled back, yes?
<razzy> just making sure
<Regenaxer> correct
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 255 seconds]
ubLIX has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
razzy has quit [Remote host closed the connection]
razzy has joined #picolisp
orivej_ has quit [Ping timeout: 255 seconds]
xkapastel has joined #picolisp
andyjpb has joined #picolisp
beneroth has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
mtsd has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
ubLIX has quit [Ping timeout: 245 seconds]
orivej has joined #picolisp
jibanes has quit [Ping timeout: 250 seconds]
jibanes has joined #picolisp
alexshendi has joined #picolisp
xkapastel has joined #picolisp
mtsd has quit [Quit: WeeChat 1.6]