IRC channel logs


back to list of logs

<davexunit>hey guilers
<mark_weaver>hey davexunit.
<mark_weaver>I seem to have gotten myself distracted by getting two SRFIs implemented for Guile. I'm working on both SRFI-43 and SRFI-64.
<mark_weaver>when really I should be writing docs for MVars :)
<davexunit>mark_weaver: I was happy to see SRFI-111 on the ML.
<Sleep_Walker>what is wrong with: (call-with-values (http-get "") (lambda (response data) response))
<Sleep_Walker>reported error is:
<Sleep_Walker>ERROR: In procedure #<<response> version: (1 ...
<Sleep_Walker>ERROR: Wrong type to apply: #<<response> version: (1 . 1) co....
<Sleep_Walker>(rest of message is http response)
<davexunit>may I present to #guile preview version of guile-2d's webpage:
<nalaginrut>morning guilers~
<nalaginrut>unfortunately, I have to work on Sunday today...
<davexunit>oh no :(
<nalaginrut>well, positively, I have received a bunch of reports for my stupid bugs in Artanis again. I feel happy~
<mark_weaver>Sleep_Walker: the first argument to 'call-with-values' should be a thunk (i.e. a procedure that takes no arguments)
<mark_weaver>so you want (call-with-values (lambda () (http-get "")) (lambda (response data) response))
<mark_weaver>although in this case, I see that you only want the first value, so you don't need to use 'call-with-values' at all.
<mark_weaver>davexunit: hey, I like the guile-2d logo! :)
<nalaginrut>davexunit: oh you got a logo?!
<nalaginrut>I haven't prepared the real logo of Artanis, since designers I known are very busy these days...
*nalaginrut nalaginrut has no painting talent...
<mark_weaver>nalaginrut: I finished my implementation of SRFI-43 for Guile.
<nalaginrut>43 contains vector-append ?
<mark_weaver>I just need docs and tests now, but it passes Shiro Kawai's test suite for SRFI-43 anyway.
*nalaginrut can't remember each srfi number for its functions
<mark_weaver>it's the vector library.
<mark_weaver>so it will probably end up with 2.0.10 after all.
<nalaginrut>Can I claim it's definitely in 2.0.10 now?
<nalaginrut>in my tutorial
<mark_weaver>well, I'd say "most likely"
<mark_weaver>"definitely" might be a bit strong.
<nalaginrut>well, please tell me when you decide to merge to stable-2.0 ;-P
<nalaginrut>then I could claim it
<mark_weaver>okay, I'll let you know.
<nalaginrut>yeah, thanks
<nalaginrut>hmm...Gnutella is not GNU software...
<olkol>starting gnucash i get an error beginning with "Throw without catch before boot" where guile seems to be the cause
<olkol>gnucash 2.6.0 and guile 2.0, reverting to guile 1.8.8 and previous gnucash works again
<Sleep_Walker>is there command doing nothing?
<Sleep_Walker>(like pass in python, : in bash ...)
<olkol>i do not understand, without changing the environment it runs fine with 1.8.8
<davexunit>good morning guilers
<davexunit>nalaginrut: I took my logo from a freely available set of art on
<davexunit>see here for a preview of the site I am making:
<Fishlord_Murloc>I often use the idiom to define a function which has to take one or more arguments of (define (f x . xs) {define xs (cons x xs)) <body> ), this in guile binds xs in the body to an improper list whose final cdr is <unspecied> is this a bug?
<Fishlord_Murloc>Not shadowing xs any more with itself solves this.
<wingo>it is not really a bug -- your code is equivalent to (define (f x . xs) (letrec ((xs (cons x xs))) <body>))
<wingo>so you can see that the xs in the cons refers to the new binding you declared
<wingo>ideally that should signal an error (accessing a letrec binding before it is bound) but that is not currently the case
<wingo>so your code has a bug, and guile's lack of reporting is somewhat of a bug also
<Fishlord_Murloc>wingo, hmm, it works in other implementations, I was of the impression that with value bindings it would be identical to a let and shadow but with function bindings be recursive.
<Fishlord_Murloc>Maybe I misread something.
<Fishlord_Murloc>wingo, is there a way to let a shadow exist over the remaining scope?
<Fishlord_Murloc>Different from set! because it can't be done conditionally.
<Fishlord_Murloc>And without using let which would mean creating a new scope.
<wingo>there is no difference between values and functions in this case
<wingo>it's a letrec; and the initializers are in the scope of the new bindings
<wingo>and otherwise i don't know what you are trying to do :) if you want the old xs on the right-hand-side there is no way out of using `let'
<Fishlord_Murloc>wingo, I'm bad at explaining, what I mean is:
<wingo>sorry, don't have time to look right now
<wingo>i suggest you review the section of the r5rs about internal definitions
<Fishlord_Murloc>Aww. =(
<Fishlord_Murloc>I might as well just ask in #scheme
<Sleep_Walker>mark_weaver: thank you for the explanation yesterday
<mark_weaver>you're welcome@
<wingo>woo, precise stack marking
<wingo>civodul: precise stack marking in master :)
<wingo>good evening btw!
<civodul>hello wingo!
<civodul>oh precise stack marking
<wingo>heya :)
<civodul>like it doesn't mark past the current SP?
<wingo>like stack slots that are dead once a call has begun are not marked
<wingo>so the hottest frame is marked conservatively, as before
<wingo>but other frames have gc maps recorded in the elf file for all return points
<wingo>those maps are consulted at gc time to avoid marking dead data
<wingo>see the comments in vm.c
*wingo afk for a bit
<guest`>in;a=blob;f=doc/ref/api-evaluation.texi;h=aa3729c1fe6d3323f8f6a8e76c389f5802fbdd86;hb=HEAD, how lines 241 and 242 can match?
<civodul>guest`: very good point
<civodul>looks like there's a "1" missing
<mark_weaver>guest`: I fixed that very recently.
<mark_weaver>cky brought it to my attention a while ago.