<maketo>hello! I have been tinkering with scheme for a while now (as a hobby) - was wondering how people progress to a higher level. Book recommendations? Code to read? Thanks! <maketo>(have worked through "the little schemer" and about to move on to "seasoned schemer") <mwette>pmatch is somewhat similar to (ice-9 match), which is documented in the Guile Manual, but is simpler; it shows how to write CPS macros *chrislck_ wonder what the name kanren stands for ***chrislck_ is now known as chrislck
<RhodiumToad>apparently japanese for "relation", "to be related to" ***catonano_ is now known as catonano
***jonsger1 is now known as jonsger
<lampilelo>leoprikler: a dangling pointer to data pointed by the bytevector already bit me in the ass, i made a function and then proceeded to use it not as i intended, took me a day to do it, lol <prussian_blue>how do I take a c function and create a lambda from it, applying it's first argument? (i.e. such that it can be called from guile with zero arguments later on) <prussian_blue>the full story is, I have a c program, I want to take user input and evaluate it as guile code <prussian_blue>but, I want to catch exceptions that occur, so my main thread doesn't get aborted <prussian_blue>but I at least need a userdata pointer to make this practical, or something <prussian_blue>I have read that part of the manual (and indeed everywhere else) but it doesn't mention any error handling <prussian_blue>right, I've found scm_catch, but in order to write a reasonable handler, I need to be able to partially apply it before sending it to scm_eval <prussian_blue>the problem is that there seems to be nowhere to provide userdata or anything like that, in any of the guile api functions <mwette>I'm guessing you will need to have inputs and output from scm_eval as globals and define your thunk and handler. <mwette>Yes. C function scope is limited. <mwette>Just looked. Gcc does provide nested functions. <prussian_blue>but I would have thought that guile would provide an API where some userdata can be associated with a function? <seepel>I would think you could create a guile module that loads the user code, and call the module's exported functions from c providing the necessary data. It would also give you a convenient place to wrap everything using with-exception-handler. <leoprikler>matijja: Because this behaviour was changed between Guile 2.2 and 3.0. I believe the rationale was that changing this so that classes couldn't be overwritten willy-nilly allowed for some optimizations. <johnjay>question. why doesn't gimp use guile instead of tinyscheme? <johnjay>is there some incompatibility between the different scheme versions? <leoprikler>Probably historical reasons. I don't know what would happen if you were to pitch Guile to them. ***catonano_ is now known as catonano
<rekado>civodul: congratulations on releasing Skribilo 0.9.5! <civodul>mostly a long-overdue update to Guile 3 <civodul>but i must say also i envy Scribble! <civodul>would be interesting to explore Guile Studio integration