IRC channel logs


back to list of logs

***cky944 is now known as cky
<rain1>does guile have a library for making file system paths?
<rain1>right now I just do: (string-append path file-name-separator-string file-name)
<rain1>but if path ends in a / you get two folder//file.txt and it's annoying
<rain1>maybe I have to just copy this outt and fix it up
<civodul>Hello Guilers!
<Jookia>In a let statement, are the values bound to variable names evaluated multiple times or just once?
<wleslie>just once. what's going on?
<Jookia>I was just wondering
<taylan>Jookia: FYI (let ((x y) (z t)) ...) = ((lambda (x z) ...) y t)
<Jookia>Oh, I see
<lloda`>can I get the path of the current file somehow?
<janneke>lloda`: try (current-source-location)
<lloda`>thx janneke
<janneke>lloda`: ah, there's also (current-filename) :-)
<lloda`>yeah I should have tried ,a current ;p
<paroneayea>wingo: o/
<paroneayea>wingo: I'm going to the emacs meetup thing with John Wiegley tonight, bringing a copy of guile-emacs with me
<amz3>héllo you :)
<janneke>paroneayea: sounds great ... /me missed `the emacs meetup thing'
<lloda`>would like something like diff --show-c-function (or what they have in git diff) for Scheme
<alezost>can anyone tell me how is a named match-let supposed to work?
<alezost>I understand a usual match-let: (match-let (((first rest ...) '(1 2 3))) (cons 0 rest)) => (0 2 3)
<alezost>But I don't understand how to use a named match-let: (match-let loop (??) ??)
<stis_>evening guilers!
<amz3>+1 alezost
<wingo>paroneayea: fun :-)
<stis_>why dosn't someone make a parser framework ontop of minikanren?
<stis_>alezost: named let signature is (_ loop ((pat expr var) ...) () . body)
<stis_>(let loop ((var expr) ...)
<stis_> (match-let ((pat var) ...)
<stis_> . body)))
<alezost>stis_: thanks, I looked at the source, but could you give any example; I always got "source expression failed to match any pattern"
<alezost>actually I think there is a bug in the source code of match-let, but I'm not competent enough to be absolutely sure
<stis_>((@@ (ice-9 match) match-named-let) lp (((x . l) '(1 2 3) p)) () (pk x) (if (pair? l) (lp l)))
<stis_>prints 1 2 3
<stis_>another possibility is ((@@ (ice-9 match) match-named-let) lp () (((x . l) '(1 2 3))) (pk x) (if (pair? l) (lp l)))
<stis_>prints also 1 2 3
<stis_>note the need to have an empty () not so beutiful
<stis_>I would add another macro that get's rid of that one
<stis_>then it would probably do what you expect
<stis_>alezost: ^^
<alezost>stis_: this is not fair!! I asked about "match-let"; "match-named-let" is not exported!
<stis_>oh I missed that, sorry
<alezost>ACTION is very close to be sure that "match-let" form is bugged
<stis_>yes an empty paranthesis is missing in the application of the named let.
<stis_>I will poke foof to fix the bug upstream
<alezost>stis_: thanks!
<nalaginrut>ACTION got lua function works all fine, and `print' primitive accepts argument as multi-var returned function
<wingo>nalaginrut: nice!
<nalaginrut>wingo: ;-)
<nalaginrut>wingo: btw, few years ago I've reported the inefficient problem of `format', although ludo had a patch to increase 30% performance, you have a better solution to make it better. But we ignored it at that time. And I feel we do need faster `format' to handle strings in some projects, especially Artanis ;-)
<wingo>i remember vaguely :)
<wingo>i probably suggested compiler integration ?
<wingo>what kind of approach are you interested in? :)
<nalaginrut>wingo: I'm not familiar with the implementation of `format', but once you've described a method to wrap all the string parsing context into a closure to save time, dunno, I don't remember the exact detail, something similar I think ;-P
<nalaginrut>anyway, I think it's worth to make format faster and faster if we want to use it for web programming
<wingo>using it for web programming is not a goal of mine, i think. but if it's a goal of yours that's cool :)
<nalaginrut>oh, the ball goes to me ;-O
<rain1>good morning
<nalaginrut>well, it's time for me to sleep
<wingo>me too :)
<daviid>folks, please allow a [guile scheme] project autotool related problem quiz here, I'd like to see if 1 of you can help...
<daviid>I have a problem running make distcheck, which raises an bug saying: texi2dvi: etex exited with bad status, quitting.\\n Makefile:389: recipe for target 'foliot.dvi' failed
<daviid> in the doc folder of the project, I can run texi2dvi foliot.texi and it does not raises a bug: how can I debug this problem?
<daviid>I'll have to leave in a few min, then I'll get back later... if anyone has an idea/answer, ping me, thanks!