IRC channel logs

2016-10-25.log

back to list of logs

***karswell` is now known as karswell
<rlb>does anyone recognize this failure?
<rlb> Running 00-initial-env.test
<rlb> Running 00-repl-server.test
<rlb> FAIL: 00-repl-server.test: repl-server: simple expression - arguments: (expected-value "scheme@(repl-server)> $1 = 42\\n" actual-value "$1 = 42\\n")
<rlb> Running 00-socket.test
<rlb>
<rlb>From the i386 "Build-Attempted" here: https://buildd.debian.org/status/package.php?p=guile-2.0&suite=sid
<rlb>Looks like powerpc had the same problem, whatever it is.
***mario-go` is now known as mario-goulart
<civodul>Hello Guilers!
<civodul>wingo: re _IO*, i can see two issues:
<civodul>1. it brings very little but annoys developers in that there's no way to write code that runs with both 2.2 and 2.0 without warnings
<civodul>or no convenient way
<civodul>2. using symbols instead of variables means that you have no compile-time warnings if you use the wrong symbol
<civodul>and no completion, etc.
<wingo>re dev annoyance, point (1) is inevitable in general i think
<wingo>not quite inevitable but close
<wingo>like, there will be things that we want to deprecate in 2.2, basically. dunno
<wingo>we could use (buffer-mode none) i guess
<wingo>like r6rs does
<wingo>but in 2.0 that returns a symbol
<wingo>i really hate the names _IONBF or whatever that thing was tho :)
<wingo>so we should change in any case :)
<wingo>do you have any ideas about how to use not-terrible names?
<wingo>we could un-deprecate _IONBF of course
<wingo>i was bothered that we were following libc names and values when libc has an entirely different set of constraints, conventions, and a different implementation that we're not using
<civodul>wingo: initially setvbuf was just a bindings of that C function, so in that case it makes sense to follow libc IMO
<civodul>but yeah, now it's a bit different
<civodul>using R6-style enums would be inappropriate here IMO, because we've never done that for core interfaces
<wingo>we do for endianness
<civodul>maybe we could just define and advertise aliases for _IO*?
<civodul>like (define buffer-mode/unbuffered _IONBF)
<wingo>that can work
<civodul>dunno, just trying to be creative ;-)
<wingo>i wonder (and this is not a vote against :) about namespace bloat tho
<wingo>one day we should have all of this in modules of course :)
<civodul>or we could indeed start using R6-style enums
<civodul>yeah
<wingo>i think we can do it post-2.2 maybe
<wingo>if 2.2 gets modules for things, and those modules are used by boot-9
<wingo>i did that for threads a couple days ago
<civodul>ok
<wingo>anyway the migration strategy would be to deprecate using bindings without importing the module
<wingo>i took a look at hydra after making that change but it wasn't done building; have to check again...
<amz3`>héllo
<civodul>i think annoyance-avoidance is important: as a developer you don't want to change your code and write a compat layer and everything just because of "ugly names" :-)
<manumanumanu>I am sad. I am worknig through project euler in scheme, and I did something that I thought would be fast, however it is slow. Then I tried a naive brute force thing, and it is faster. Can someone maybe explain why?
<manumanumanu> http://pastebin.com/AkFCNeMW
<manumanumanu>both work, of course, but the one I thought would be fast runs in 0.5s, and the one I thought would be slow runs in 0.1s
<manumanumanu>and increasing the nth prime to 100000 yields an even bigger performance hit. 3s vs 50s
<manumanumanu>oh... I got it down 0.1s by not using destructive operations to count the number of primes...
<manumanumanu>is append! slow?
<thomasd>manumanumanu: not a scheme expert, but append! will have to traverse the list up to the final element
<thomasd>so building up a list of n elements by repeatedly appending becomes order n^2 I think?
<manumanumanu>the thing is, building the list using cons, I would start trying to divide using the last found prime (large) and then work myself downwards.
<manumanumanu>Doesn't reverse also iterate through the list?
<manumanumanu>hmmm. VLists seems like a nice option
<manumanumanu>thomasd: I solved it in a good way. Instead of append! I keep a pointer to last-cdr and simply use set-cdr!. Still mutating the list, but without having to go through each element
<manumanumanu>or rather, sjaaman over in #chicken pointed it out to me
<thomasd>ha... I should remember that trick.
<manumanumanu>yeah. I had no idea that was possible.
<rekado>I find myself in a situation where I’d really like to use Emacs-like dynamic binding to override a procedure for the duration of one expression.
<rekado>i.e. without the cooperation of the affected code.
<rekado>is there a “temporary” variant of “module-set!” that only modifies a binding for the current scope?
<davexunit>rekado: no, but if you look in (guix tests) I wrote a macro called 'mock'
<rekado>davexunit: ah, neat!
<rekado>it just so happens that I need this for Guix :)
<davexunit>I figured :)
<civodul>:-)
<rekado>I’m having trouble with match again. Is it possible to match multiple alist entries in arbitrary order?
<rekado>currently I’m using something like (match expr ((_ *** ('key a ...)) a))
<rekado>but I seem to only be able to use this once.
<amz3>what should we do to make guile more awesome?
<amz3>what can I do to make guile more awesome?
<OrangeShark>amz3: maybe more awesome software using guile and growing the community?
<amz3>yes!
<joolean>Hi Guilers!
<jmd>amz3: To make something awesome you need to fill it with awe.
<OrangeShark>jmd: where do we get some awe?
<jmd>What kind would you like? Iron? Gold? Uranium?
<joolean>civodul: You around?
***nafai1 is now known as Nafai
<civodul>joolean: hi!
<joolean>Hey! How’s it going?
<joolean>I was wondering whether I could interest you in applying that Ecmascript patch I submitted a little while ago
<civodul>which one was it?
<paroneayea>davexunit: https://twitter.com/RainerJoswig/status/790991424338685952 heh
<davexunit>paroneayea: that one hit real close to home
<paroneayea>davexunit: heh, here too
<OrangeShark>davexunit: paroneayea: https://news.ycombinator.com/item?id=12786368 the comment from HackerNews
<ArneBab>amz3: maybe awesome: I updated my three witches script. It now allows for natural script writing
<ArneBab>Witch One
<ArneBab>First Witch
<ArneBab> When shall we three meet again
<ArneBab>Enter : First Witch
<ArneBab>^ that’s the actual code, though Enter must come before the first use
<ArneBab>it allows for inline-code via unquote - i.e. ,(+ 1 2)
<joolean>civodul: http://lists.gnu.org/archive/html/guile-devel/2016-09/msg00008.html
<civodul>joolean: sure!
<civodul>damn it, more than a month old...
<joolean>Whoo! Thanks.
<rlb>ping wrt the i386 and powerpc test failure (same one): https://buildd.debian.org/status/package.php?p=guile-2.0&suite=sid
<rlb>I'll delve later, but just wanted to see if it was familiar to anyone here.
<rlb>(Click "Build-Attempted" for the log.)
<civodul>joolean: that's for 'master'?
<joolean>Yes please!
<joolean>That’s where I tested it.
<civodul>on 2.0 that leads to:
<civodul>ERROR: ecmascript.test: compiler: new Object; - arguments: ((misc-error #f "~A ~S" ("unrecognized tree-il" (call (@ (language ecmascript impl) new) (toplevel Object))) #f))
<civodul>i naively thought that this part hadn't changed between 2.0 and 2.2 :-)
<civodul>so i need to update/build my 2.1 tree, which will take a bit of time :-/
<lmat>What is scm_cons?
<joolean>civodul: Good luck! :)
<lmat>Oh wait, is this it? http://www.delorie.com/gnu/docs/guile/guile_120.html
<lmat>construct a pair. got it.
<paroneayea>davexunit: feel a bit better: https://twitter.com/mjt128/status/770278548175060992 :)
<civodul>joolean: checked and pushed, thanks :-)
<joolean>civodul: Thank you! I might poke at our ES a bit more. Hoping to get to a point where we can run some of the “official” ES test suite
<civodul>neat