IRC channel logs


back to list of logs

<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.
<paroneayea>guile 2.2's
<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? :-)
<civodul>*2 days *to* the anniversary
<wingo>2 days ;)
<janneke>T - 2d
<civodul>lots of hacking time :-)
<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: indeed :)
<mthl>roelj: when reading from a port, i tend to use "named let" which is basically a replacement for auxilary recursive procedures
<mthl>if you know what I mean
<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>yeah i agree entirely
<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>lol :)
<civodul>that said, it would be great indeed
<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 :)
<civodul>i forgot
<daviid>wingo: hello! it would be really nice if you could look at (some of) goops related bugs filled against 2.2, such as (there are some others reported by paroneayea which would be worth fixing as well)
<daviid>wingo: guile-gnome does not work with 2.2 anymore, I suspect things are related to these ...
<wingo>ACTION nod
<peterbrett_work1>wingo: "also foreign objects are still in 2.2"
<peterbrett_work1>wingo: By "foreign objects" do you mean smobs?
<wingo>no i mean foreign objects
<peterbrett_work1>Oh, I see. Makes sense.
<paroneayea>daviid: janneke: *is* the same bug that guile-lib is experiencing.
<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>I printed out all of goops.scm last night
<paroneayea>and I am reading through
<daviid>paroneayea: great
<paroneayea>hopefully I can do a bit better to understand the code and help
<paroneayea>unfortunately I am also under some severe time constraints
<paroneayea>so I can't promise anything
<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
<davexunit_>must. resist. urge. to. respond.
<catonano>davexunit_: resist !
<linas>inquiring minds want to know about the scandal, davexunit_ you can just vent here.
<OrangeShark>hello everyone
<davexunit_>linas: no scandal
<davexunit_>just some node programmer complaining about guile and tdd
<davexunit_>saying our debugger is bad and stuff
<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
<janneke>ACTION goes to type ,help in repl
<janneke>amz3: ,break or ,break-at-source
<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
<paroneayea>I replied
<amz3>then there is procedure I can call to stop at point. In javascript tha's the debug keyword;
<paroneayea>to the somewhat flamey email
<janneke>paroneayea: wow, thank you
<janneke>i have been using guild compile -O0 ...
<janneke>great response!
<paroneayea>thanks janneke :)
<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>and missing that hurts, sometimes
<paroneayea>ACTION nods
<paroneayea>same here
<janneke>but there is no going back, just not possible
<paroneayea>yes, Guile also gives you so much goodness
<paroneayea>especially now that we have Geiser and Guix
<janneke>yeah, but also functional programming
<paroneayea>that too
<janneke>the OO thing that I liked so much about Python...meh
<paroneayea>multi-paradigm ftw :)
<paroneayea>I like that Guile lets me explore many domains
<paroneayea>it's good to be here! :)
<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
<janneke>goops without set!/slot-set! e.g.
<paroneayea>janneke: yes, having the clone thing in Guile proper would help
<janneke>yes! which reminds me
<janneke>trying to bring cross compilation to python, they just did not `get' it
<janneke>great community, Guile+Guix
<janneke>(oop goops gnu) or (oop goops functional) to remove #:setter, #:accessor, slot-set!?
<janneke>and generic on set! maybe?
<paroneayea>I don't think we need to remove the slot-set or setter
<paroneayea>just add the new clone procedures, etc?
<paroneayea>maybe we could have slots that don't have them though
<paroneayea>there is a slot type
<paroneayea>maybe through the MOP we could ban mutation on slots :)
<janneke>MOP? -- slot type sounds nice
<paroneayea>Meta Object Protocol
<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
<janneke>and just don't use any slot-set!
<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
<paroneayea>amz3: what question?
<amz3>paroneayea: how to put a break point in module.scm
<amz3>at line 7
<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
<amz3>post or whatever
<paroneayea>it probably is a good topic for a blogpost
<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>I didn't get to replying to it yet.
<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
<dsmith-work>Morning Greetings, Guilers
<dsmith-work>yey release!
<janneke>morning dsmith-work!
<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
<amz3>hmm I will try that
<janneke>this is exactly what i was trying to address in my patch some years ago
<janneke>but it needs work/cleaning-up/love
<janneke>amz3: oops, better here:
<daviid>these people should apply to be part of the scheme evaluation commity :)
<daviid>paroneayea: you have nice habilities to write man! congrat
<paroneayea>thanks daviid
<AndChat|217856>Yeah you were considerate
<AndChat|217856>I am catonano
<paroneayea>hey catonano / AndChat|217856 :)
<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>I disagree
<AndChat|217856>Do you ?
<amz3>I do
<AndChat|217856>How come ?
<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
<AndChat|217856>Using the debugging facilities required me some "cold Blood"
<daviid>linas: goops is not 'deprecated' :), it is the future, they jsut don't know it yet :)
<AndChat|217856>But the tone was not helpful
<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