IRC channel logs

2017-02-14.log

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 :)
<daviid>ok
<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>lol
<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>Aha
<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>dunno
<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
<civodul>yeah
<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>:-)
<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 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24454 (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
<wingo> http://www.gnu.org/software/guile/docs/master/guile.html/Defining-New-Foreign-Object-Types.html
<peterbrett_work1>Oh, I see. Makes sense.
<peterbrett_work1>Thanks
<paroneayea>oh!
<paroneayea>daviid: janneke: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24454 *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
<paroneayea>it
<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
<paroneayea>ah
<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
<paroneayea>:)
<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!
<janneke>yes
<janneke>niec
<janneke>*nice
<paroneayea>so, that has been done elsewhere, and even planned for in the original MOP design :)
<janneke>:)
<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.
<amz3>np
<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>oops!
<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: https://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00085.html
<janneke>amz3: oops, better here: https://lists.gnu.org/archive/html/guile-devel/2014-08/msg00004.html
<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>Oh
<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
<daviid>:)
<wingo>i.e. (zero? (logand x flags)) rather than (not (zero? (logand x flags)))
<amz3>daviid: good point i need to study better goops
<daviid>bbl
***rjungemann_ is now known as rjungemann