IRC channel logs

2019-11-12.log

back to list of logs

***catonano_ is now known as catonano
<spk121>so whilst brainstorming for my guile debugger project... There is a "break <procedure>" command. So I want to make a list of all the procedures in a program, so I could populate a GUI element of procedure names. My best strategy so far is to use the undocumented 'module-defined-hook' to make a list of loaded modules, and then use the "module-obarray" procedure to pull a list of functions for each module. Seems clunky though.
<spk121> Suggestions?
<wingo>spk121: regarding "what procedures are there", there is a lot of this sort of thing in (system xref); also obviously the code that the low-level debugging infrastructure uses in (system vm debug)
<civodul>Hello Guilers!
<weinholt>hello civodul
<wingo>moin :)
<spk121>wingo: thx. I'll check it out
<wingo>okeysmokes, now just gotta document the exceptions stuff
<daviid>wingo: hello! does this work of 'rebasing' on top of ... will facilitate guile's customization so the (repl and the) raising exception printer(s)?
<wingo>well in the short term it won't do much. exception printing still goes through the current mechanism, customizable via set-exception-printer!
<wingo>in the medium term we should convert guile to always raise exceptions via raise-exception instead of throw
<wingo>and change the various interfaces that catch exceptions to use with-exception-handler
<wingo>and thereby avoid a conversion to/from an exception object as "key + args"
<daviid>as you know, i wish truncaed prit would be the default for the repl, the raised ecption system and the backtrace. right now, we are in a 'bizare' situaion, : one can reasonibly easili configure the repl, it is next to impossible ti configure the reaised exception system, _and_, by all surprise, the bactrace does truncate by default, but it does not us trucanted-prit and it is also 'next to impossible' to togle so it full Ĺ•int ...
<wingo>and instead exception objects would always be structured values, except if a user uses "catch"
<wingo>backtraces do use truncated print fwiw
<wingo>via print-frame's use of the ~@y format specifier
<daviid>ah ok, but then why not the repl and the raised exception as well ... is a mistery to me ... which is not important: what is important is that we, those of us who uses large structures, lists ... can toggle 'in one click' from truncated to full printing and vis-e-versa, and for our users, the default being to truncate
<daviid>i wish the dauy can start to recommend to use guile to teach to young and not knowledgeable persons to learn and have fun to learn progromming, in scheme, using guile-cv ... is tomorrow :)
<daviid>i hope you can find some tie to think about this and make it happen for guile 3.0
<daviid>to me, it is more important then speed ... saying this so you understand, of course speed is important, but if i had/could to choose, i'd select the truncacted 'version' and 'sacrifice' speed, then work on speed ... bcause right now, it is unsable (unless you are quite an advanced guile user ...)
<daviid>*guile-cv is unusable, not guile :)
<jcowan>wingo: R6RS allows raise to throw any object, not just an object of type &condition.