<daviid>paroneayea: had to leave, back, all I can say is good luck :) <daviid>paroneayea: I suggest you ask wingo to add you as a guile-lib project member so you may commit ... <paroneayea>daviid: I think the bug is in guile's goops, in the multiple-arity dispatch as far as I can see so far. <daviid>paroneayea: oh, interesting! did you write a test case? <paroneayea>daviid: no, I was exploring the test case that broke :) <catonano_>amz3: Barliman is based on minikanren indeed <amz3`>catonano: ok, this looks very interesting it reminds of MOSES <civodul>2 days from the Guile 2.0 anniversary! <civodul>i won't be around, but... any potluck this year? :-) <amz3`>2days that is short, I will try to push my project to the server before then <paroneayea>maybe I can make a first public release of mudsync by then <roelj>I have a function that reads a couple of lines from a file, and I would like to repeatedly run that function until it reaches the end of the file.. In another language I would do something like while ((entry = read_func(port)) != 0) { append (my_list, entry) } .. But is there a more Schemey way? <roelj>Probably a recursive function.. right? <mthl>roelj: when reading from a port, i tend to use "named let" which is basically a replacement for auxilary recursive procedures <roelj>mthl: Thanks for the tip for a "named let" <wingo>civodul: any feedback +/- on things to do or not do for 2.1.x releases? i know i made a couple of them in a somewhat solo way recently <wingo>i was very selfish and just wanted fresh releases that would make fibers zoom <civodul>wingo: i think we should focus on ironing things out now <civodul>i want to use it for Guix and see how that goes <civodul>well i already did that but i still use 2.0 on a daily basis <civodul>ISTR there were issues with parallel compilation of Guix itself <civodul>but yeah, i've been missing out on so much of the goodness of 2.2 that i really want to switch now :-) <wingo>i just wanted to make sure things were solid on the concurrency level and i think we're there <wingo>now i wonder if a short amount of work could fix concurrent module loading... <civodul>heheh, the mythical last bit of work :-) <wingo>i guess i should check the code that define-module / use-modules expands to; if that residual code looks like it should support concurrent module loading then we can fix it up in 2.2 <wingo>would be nice if we had a good test case :) <wingo>also foreign objects are still in 2.2 <wingo>that's probably the real blocker fwiw <wingo>humm, there was also the introduced top-level definitions issue... <civodul>oh right, we had reverted them in 2.0 <wingo>that i think i came to some sort of agreement with mark_weaver as to what the solution should be <wingo>but i don't remember what it was :) <daviid>wingo: guile-gnome does not work with 2.2 anymore, I suspect things are related to these ... <paroneayea>so if we can get that fixed, guile-lib works with Guile 2.2. <daviid>paroneayea: yep, I was going to point that to you :) <paroneayea>hopefully I can do a bit better to understand the code and help <paroneayea>unfortunately I am also under some severe time constraints <daviid>paroneayea: so am I, too bad really, I'd love to help as well wrt goops... one day maybe... <davexunit_>soooooo annoyed by the latest mail to guile-user <linas>inquiring minds want to know about the scandal, davexunit_ you can just vent here. <davexunit_>just some node programmer complaining about guile and tdd <linas>oh. I just started reading the "How to make GNU Guile more successful" thread and could not find anything salacious in it :-) <davexunit_>some of the comments have merit, but overall I was annoyed with the tone. <davexunit_>another person treating guile as a toy and not something serious. <linas>oh dear, I found it. must suppress urge to reply <catonano>he has some points. Dealing with Guile is difficult. What upsets me a bit is the comment about the SICP and scheme. Completetly misguided <catonano>just recently I had a significant success in usig the debugger to execute step by step a piece of code I had written <linas>my impression is that he probably has not read more than one chapter of sicp <amz3>I'd love to implement scheme semantic in javascript for javascript <amz3>wrt last mail to the mailling list, I think the OP wants to know how to do debugging and coverage <amz3>OP is asking for help in a verbose way, but OP has the right to don't know <amz3>and FWIW it would have answered to the mail if I knew myself how to do it <amz3>I kow they are coverage code somewhere (in guile-lib?) and I always debug with 'pk' <janneke>i started using debug in the repl, but it's broken in 2.1 <amz3>janneke: does it work if you run with: guile -L . my-module.scm <janneke>tried to do it a bit ~3y ago and wrote Emacs integration <janneke>amz3: 2.0 is fine, in 2.1 I cannot set breakpoints <amz3>janneke: how do you set bp? <janneke>my emacs patches are in mainline, guile patches are still pending <amz3>that's what I tried to say, it only works in the REPL, I only use REPL for small snippets most of the time I use: `guile -L . webui.scm` which spawns guile (web server) <amz3>what would be nice, it's to be able to call `break` procedure inside a guile module to set a breakpoint <amz3>wait.. I can look up the implentation of ,break <janneke>amz3: my old patches for Emacs/GUD give debugger integration just like you are used to when writing c/c++ or whatnot <amz3>I am looking for the equivalent of "import pdb; pdb.set_trace()" in guile \\cc ArneBab <amz3>then there is procedure I can call to stop at point. In javascript tha's the debug keyword; <janneke>i have been using guild compile -O0 ... <janneke>i really like your openness and honesty in your response <janneke>python has all kinds of goodies and polish that guile does not have <janneke>i used and advocated python for ~10years <janneke>but there is no going back, just not possible <janneke>yeah, but also functional programming <janneke>the OO thing that I liked so much about Python...meh <janneke>yes...however, i'm open to closing some imperative thingies <paroneayea>and Guile's community, while I think there are things we can do to improve it, is also extremely welcoming <paroneayea>janneke: yes, having the clone thing in Guile proper would help <janneke>trying to bring cross compilation to python, they just did not `get' it <janneke>(oop goops gnu) or (oop goops functional) to remove #:setter, #:accessor, slot-set!? <paroneayea>I don't think we need to remove the slot-set or setter <paroneayea>maybe we could have slots that don't have them though <paroneayea>maybe through the MOP we could ban mutation on slots :) <janneke>i changed all #:accessor to #:getter in my code <paroneayea>in Art of the Meta Object Protocol they talk about how one use case they were providing for in CLOS is that some people wanted immutable structures <paroneayea>so, that has been done elsewhere, and even planned for in the original MOP design :) <amz3>paroneayea: you are fast in saying that this flamey but not the first to actually answer the question the OP ask <amz3>paroneayea: how to put a break point in module.scm <paroneayea>amz3: I didn't see Cecil McGregor ask how to do that in their email? <amz3>this clear from the mail that he doesn't how debug happenss in Guile <amz3>maybe it's a good topic for a blogspot <paroneayea>I agree of course we can always use better resources on these things! <paroneayea>I just wanted to make clear that I wanted the tone of conversation to stay positive on the list <paroneayea>amz3: and btw I thought you raised a lot of nice points at the start of the thread <paroneayea>and of course I didn't mind that you praised mediagoblin as something python has ;) <amz3>janneke: I can't get ,break or ,break-at-source working <amz3>nalaginrut: aiohttp the async python framework for doing waf, has recursive sub-app working in their router. resolving url isn't namespaced tho <amz3>janneke: did you have my message? <janneke>amz3: possibly not...i was out for a bit <amz3>ACTION forward the message to janneke: I can't get ,break or ,break-at-source working <janneke>amz3: [didn't get that] it works with 2.0 <janneke>but the interface is a bit difficult <janneke>i think ,break-at-source needs an absolute file name <janneke>this is exactly what i was trying to address in my patch some years ago <daviid>these people should apply to be part of the scheme evaluation commity :) <daviid>paroneayea: you have nice habilities to write man! congrat <amz3>AndChat|217856: what is to be considerated? <AndChat|217856>Amz3: he was considerate. Meaning that he managed to be sensibile and not combative <amz3>invoking flamery and not answering the actual question <AndChat|217856>Now that you make me think about It, I wouldn't know how to help them <daviid>linas: goops is not 'deprecated' :), it is the future, they jsut don't know it yet :) <wingo>zomg i got bit by that silly silly thing <wingo>where you want to check if a bit is set and you check the opposite thing <wingo>i.e. (zero? (logand x flags)) rather than (not (zero? (logand x flags))) <amz3>daviid: good point i need to study better goops ***rjungemann_ is now known as rjungemann