<daviid>pinoaffe: welcome! let us know how it goes ... <daviid>sneek: later tell tohoyn tx, will fix asap and ping when done <tohoyn>I've got a G-Golf application where gtk-frame-new seems to return an object of class <gtk-button> <sneek>Welcome back tohoyn, you have 1 message! <sneek>tohoyn, daviid says: tx, will fix asap and ping when done <tohoyn>During startup the application gives the following error: (guile-3.0:8614): GLib-GObject-CRITICAL **: 08:30:17.732: g_object_is_floating: assertion 'G_IS_OBJECT (object)' failed <tohoyn>is there any way to print a backtrace inside GTK? <tohoyn>can a G-Golf guile program be debugged with gdb? <fnstudio_>a curiosity that came to mind... i understand ra is often used to indicate arrays that get passed to a procedure, the same way lists are designated with lst (i suppose to avoid obvious clashes) <tohoyn>I get the following error building guile: 1503552 Segmentation fault (core dumped) | GUILE_AUTO_COMPILE=0 ../meta/build-env guild snarf-check-and-output-texi > guile-procedures.texi <fnstudio_>now, lst is just a contraction, i guess - what about ra? does it mean anything in particular, e.g. is it the initial of "r-something array"? <tohoyn>when I remove the debug code everything works fine <tohoyn>I suppose that the debug code has no effect if the "magic symbol" is not defined <tohoyn>maybe the conversion of a string to symbol changes some internal tables in the language <fnstudio_>can a closure procedure return some kind of pointer to the closure itself, i'm vaguely thinking of "self" <fnstudio_>the rationale for this probably derives from my limited understanding of this - but it'd be around having (make-item 'init name) to return the actual "object" instead of, e.g., unspecified <fnstudio_>an upside of having init to return the closure would be that i can do (define items (map (lambda (name) (make-item) 'init name) names)) <fnstudio_>(sorry the syntax used two lines above is wrong of course... it's (make-item) 'init "some name" <fnstudio_>what i'm doing now, instead is: (define items (map (lambda (name) (let ((item (make-item))) (item 'init name) item)) names)) <samplet>fnstudio_: You should be able to do that with a nested ‘define’. Basically, ‘(define (f) f)’ is a procedure named “f” that returns itself. <samplet>The other syntax is ‘(letrec ((f (lambda () f))) f)’. <samplet>Using a nested ‘define’ is usually easier to read. <fnstudio_>samplet thanks! i will experiment with the first option, tx <fnstudio_>this might be a bit OT but anyone knows of a section-folding emacs (minor) mode that works nicely with guile? <fnstudio_>outshine should be one of the obvious choices from what i see, but it's not working straight out of the box for me, so i thought of asking here ***RhodiumToad_ is now known as RhodiumToad
<fnstudio_>well, i now see it does work (pressing tab will cycle visibility of different sections) <fnstudio_>but apparently it expects some commented headers are created - i need to familiarise with it more, sorry for the noise <lilyp>fnstudio_: if it's not to your liking, you can always default to the builtin hide-show <fnstudio_>lilyp: hey, thanks, i don't seem to be able to find hide-show here <fnstudio_>lilyp: oh great, thanks, that looks pretty slick