IRC channel logs

2014-10-20.log

back to list of logs

<davexunit>when was srfi-43 added to guile?
<davexunit>nvm, 2.0.10
<nalaginrut>morning guilers~
<dsmith-work>Morning Greetings, Guilers
<ArneBab>with the current merges of master-2.0 into the work branches, is a release coming up?
<dsmith-work>ArneBab: Work on master seems to be done in spurts.
<ArneBab>I guess that’s normal in volunteer projects
<dsmith-work>ArneBab: There are currently two known failing tests in "make check" which I *think* I remember wingo saying a proper fix would involve replacing or rewriting syncase.
<wingo>i have had work obligations that needed to be fufilled
<dsmith-work>That would be quite a task.
<ArneBab>wingo: no complaints
<wingo>and also on the side i'm messing with my web site :)
<ArneBab>(at least from me no complaints)
*wingo rewriting the photo gallery to allow for private photos, finally
<dsmith-work>wingo: Are you using master?
<wingo>i stopped taking pictures because i had nowhere to put them :P
<wingo>dsmith-work: yep
<dsmith-work>Cool. Good way to shake things out
<wingo>locally when i need to do anything, and on the serer
<wingo>*server
<ArneBab>wingo: I’m pretty busy with a paper and freenet myself, I was just curious when the new work will get online. Having the readline-with-linebreaks changes would be pretty useful for me :)
<dsmith-work>wingo: Saw the latest blog on https. Ugh!
<wingo>dsmith-work: haha it's amazing isn't it
<ArneBab>same for me - SSL is … … …
*wingo writing a binding for libjpeg now
<ArneBab>and all that while self-signed with a huge complaint in case it *changes* would already provide reasonable security.
<davexunit>wingo: you're a binding writing machine!
<wingo>been a while since i made a new one tho!
<wingo>i had kinda hoped i could survive with the jpeg parser in scheme, which works great, but i need to be able to resize jpegs in cairo, which i am not going to do in scheme :)
*wingo looking forward to (par-map resize-image images)
<davexunit>you should write one for SDL2. </jedi mind tricks>
<wingo>haha
<davexunit>that's on my long list of things to do
<wingo>i added support for raw pixel buffers to guile-cairo
<davexunit>ooh, par-map? parallel-map?
<wingo>davexunit: (ice-9 threads) i think
<davexunit>oh neat.
<wingo>you haven't tried that?
<davexunit>nope.
<wingo>works great
<davexunit>guile has goodies hiding all over.
<wingo>check out the code too, it's lovely:
<wingo>(define (par-mapper mapper cons)
<wingo> (lambda (proc . lists)
<wingo> (let loop ((lists lists))
<wingo> (match lists
<wingo> (((heads tails ...) ...)
<wingo> (let ((tail (future (loop tails)))
<wingo> (head (apply proc heads)))
<wingo> (cons head (touch tail))))
<wingo> (_
<wingo> '())))))
<wingo>(define par-map (par-mapper map cons))
<davexunit>that is a lot shorter than I thought it would be.
<davexunit>using match really helps
<wingo>hummm it probably helps
<davexunit>match is basically the best thing ever.
<wingo>though i think the ... pattern makes it n^2
<wingo>should use a tail pattern methinks
<davexunit>I was wondering about its complexity
<wingo>the first ... makes it n^2, the second is fine
<wingo>should be (match lists (((heads . tails) ...) <body>) (() '()))
<davexunit>why is it n^2 for the first ellipsis?
<wingo>because it checks list? on the tail for each elements
<davexunit>(not familiar with match's implementation)
<wingo>which is O(n) in length of tail
<davexunit>oh okay
<wingo>times n tails
<wingo>it may or may not cons a new list, also
<wingo>i don't know
<davexunit>ah, and using the dot notation avoids the list? check
<wingo>right
<adhoc>dot notation ?
<ft>(heads . tails)
<adhoc>oh ok
<adhoc>ta
<taylanub>ah, I looked at `par-mapper' before, puzzled, couldn't see anything wrong, thought it was the use of futures, which in turn use pthread locking mechanisms, which cause the extreme overhead in using `par-map' and `par-for-each'. guess that's not it then.