<daviid>rotty: are you still maintaining guile-gnome-platform on debian? <daviid>rotty: I ment maintaining the debian package? or maybe it is someone else, I dont know <daviid>mark_weaver: I've just receivd an enail from debian saying <mark_weaver>and because of this, it is scheduled for autoremoval from testing. <mark_weaver>the 'news' section of that page also suggests that rotty's last upload was in 2012 <daviid>[2015-07-18] Accepted 2.16.2-2 in unstable (medium) (Andreas Beckmann) <mark_weaver>thread synchronization is quite expensive to add to otherwise simple operations like queue pops and pushes <mark_weaver>if you need to protect a data structure with a mutex, you might consider using the 'with-mutex' macro <mark_weaver>but if we put mutex locks into every operation of every data structure, then *all* users would have to pay the heavy cost of mutex operations, whether they need them or not. <taylan>wingo: thanks for the reminder :) I pinged the and-let thread and two debbugs threads that have patches available. more to come later... <daviid>mark_weaver: iiuc, the last commit before the 2.0.11 release is 972fb41f0ce124d97f5cf64bde1075510cd21e18, civodul, Thu Mar 20 21:21:21 2014 +0100 <daviid>but the next commit, 8d124d207738be0b43dfc235a5d72519a2ab5db9, is dated Thu Sep 19 14:02:26 2013 -0700 ??? then it fllows normal date sequencing again, just for info, no big deal <mark_weaver>the date is from when the commit was created. they may later be rearranged and cherry-picked, etc, before ending up in the main repo <mark_weaver>actually, I suspect that, like an email Date header, you can make it whatever you wish ***Bobbejaantje is now known as pehlivanlar
<madsy_>Test suite jobs are disabled until I get to work tomorrow and get a Windows instance up. <madsy_>My VHS didn't let me run QEmu + KVM, so Windows puked <taylan>BTW I'm unemployed now; does something need to be done re. the copyright assignment? I figure it's only relevant when I have a new employer... <wingo>just fix it up when you get a new employer <taylan>mark_weaver: do you have time to look into the "transform R6RS SRFI module names" patch? once that (and another issue on debbugs) is resolved, I will propose to merge r7rs-wip sans the "PRELIMINARY" commit into stable-2.0, which would give us 99% R7RS compliance, missing only support for circular data in read/write. <wingo>taylan: that patch looks fine to me fwiw <wingo>bah, i misapplied a couple patches; sorry taylan <taylan>heh, funny how git works. at least the changes are in. <taylan>wingo: BTW could the R6RS/SRFI patch also be applied to stable-2.0? though maybe it isn't so important if 2.2 is coming soon. <wingo>i dunno, i guess it doesn't break anything for anyone <mark_weaver>bah, R6RS hash tables are wrapped SRFI-67 hash tables which are wrapped native guile hash tables. three layers. terrible. <wingo>taylan: applied the and-let* patches; thanks :) <jlicht>How can one 'capture' the output of e.g. (system* "echo" "hi") in a string? Wrapping it in `with-output-to-string' does not seem to do the trick <davexunit>system* is for things where you are only concerned about the exit status <jlicht>how does system* actually print its output? <wleslie>it doesn't, it hands the stdout/err directly to the shell it creates <davexunit>jlicht: system* itself doesn't print anything <wleslie>well... the process forks before exec'ing a shell, and both processes have access to the same open stdio file descriptors. <jlicht>it seems that the docs do not mention this <jlicht>(not the technical details, but what actually happens to the output of the command you run) <wleslie>the whole posix section makes assumptions about existing knowledge <jlicht>I admit that my existing knowledge regarding posix is somewhat lacking :) <wleslie>for example, I get that many languages have features for starting a process with pipes in place of stdio are often given silly names like 'popen', but the section on pipes and functions like open-pipe are not what I'd have been looking for <wingo>updates to the documentation are welcome :) <wingo>is it a goal to support non-gnu make? <wingo>i guess we are open to patches but without follow-through from a reporter we can't do anything <wleslie>these aren't functions, they are vm instructions <civodul>kwrooijen: they get used automatically when the compiler deems it appropriate <civodul>you can check that at the REPL with ",compile" <kwrooijen>I thought add1 was part of the scheme standard <wingo>the guile form of "add1" is named 1+ <wingo>which is kinda weird, but there you go <wingo>sometimes i think we should change to recommend add1/sub1 <kwrooijen>wingo: Oh wow I was trying "+1" instead of "1+" haha <dsmith>wingo, real 52m27.666s building 2.1.3 on my 32bit box. Not too bad! Considering <davexunit>paroneayea: where I can find the version of (ice-9 json) that you snarfed for a project? <wingo>maybe prebuilt/ wasn't being loaded <wingo>dsmith: grep i686-pc-linux-gnu config.log <wingo>i wonder if maybe we're allocating a lot of bignums on 32-bit then <dsmith>grep i686-pc-linux-gnu config.log | wc -l <wingo>dsmith: is it a fast or a slow machine? <dsmith>model name : Intel(R) Pentium(R) M processor 1.70GHz <wingo>well maybe that is it. if you can -j8 on the x86-64 box or so and it's newer, maybe that can be a 10x difference <dsmith>Yeah, this is single code. That was a make -j2 <dsmith>config.status:3197: creating prebuilt/i686-pc-linux-gnu/Makefile <civodul>wingo: BTW, IWBN if 2.0 would skip invalid .go files, too <civodul>(to answer your question as to whether anything's blocking 2.0.12) <wingo>i'm not sure that any "IWBN" block 2.0.12; seems that's our particular failure mode <wingo>probably we brown-paper-bag it anyway :P <civodul>re skipping .go files, is your master patch likely cherry-pickable? <wingo>civodul: i think so, actually <wingo>if not precisely applicable, pretty close <wingo>it doesn't really mess with new stuff <paroneayea>though many of them were specific to my project, some weren't, like the pretty printer <davexunit>paroneayea: thanks, I'm just giving the code to jlicht as a short-term solution to his json woes <wingo>secret power tip: anyone can close a bug! if it's invalid that's the right thing to do :) <wingo>just mail NNN-done@debbugs.gnu.org with a kind message and you're good <wingo>if you have a patch, mail the list instead! <paroneayea>wingo: speaking of bugs, should I open a separate bug on the r6rs binary ports which the https/tls port support one requires? or do you think the other bug captures that enough <civodul>wingo: so what's the decoding bug for "+"? <wingo>civodul: that + should decode to space for HTTP POST <wingo>in the body of the HTTP POST request <wingo>so /foo/bar/baz+qux currently decodes to '("foo" "bar" "baz qux") <civodul>but decode-url is definitely for URLs, not for POST body <wingo>whereas the last element should be "baz+qux" <wingo>well it gets called for a few things, but yeah <civodul>so yeah, worth porting the fix to 2.0 IMO <wingo>i pushed some fixes to stable-2.0 <paroneayea>is there any nice indexing library kind of like xapian available for guile? <linas>wingo -- the API for scm_setvbuf changed from version 2.1.2 to version 2.1.3 and that ... was surprising. <linas>I see why it seems like a good change, but its not exactly compatible. <linas>(from what I can tell browsing git, I think maybe you're the one who changed it?) <linas>perhaps a backwards-compat thingy might be nice? Not sure I care that miuch, but thought I'd mention it <ecraven>wingo: running the benchmarks now :) <davexunit>I've been wanting to experiment with guile on windows sometime so that windows users can play my games <Madsy>davexunit: The builds also prints out the log from running the unittests on Windows <Madsy>Well, it will next on the next build iteration. I just finished setting up the VM and scripts. <nalaginrut>(while #t (format #t "~a" (integer->char (+ 9566 (random 14)))) (usleep 3000)) <nalaginrut>(while #t (do ((i 0 (1+ i))) ((= i 48) (newline)) (format #t "~a " (integer->char (+ 5024 (random 84)))) (usleep 4000))) <cmhobbs>is there a message queue that guile interacts with well? <cmhobbs>i saw there was a zmq module for guile but i never managed to get it working <cmhobbs>there wasn't much documentation, iirc <davexunit>if that didn't work well then I think the best thing is to write your own <cmhobbs>if something standard exists, i'd like to roll with that <cmhobbs>i've got a component of a pile of applications that i'm looking to build and i'd like to use guile <davexunit>libraries like that are things you usually end up writing yourself in Guile <cmhobbs>this particular part should take messages out of a queue, throw them at an MTA, take the responses from the MTA, and pass them back to the queue <davexunit>writing simple clients for those things might not be too bad. <davexunit>depending on the complexity of their protocols <wingo>i was sure #18583 was an expander bug, but it's really a compiler bug :) wheee <cmhobbs>davexunit: your comment does beg the question, what's the limit for guile? it seems like it could be pretty general purpose to me. what wouldn't you build with it? <cmhobbs>also, i feel like i (or we) have had this conversation before <davexunit>cmhobbs: I do pretty much everything with it. <davexunit>web programming, game programming, systems programming, etc. <cmhobbs>yeah, i'm trying hard to absorb the language <davexunit>I can use the C FFI when I need to use existing libraries, etc. <cmhobbs>ruby pays my bills but i don't like oop. i'd normally wield common lisp for my general purpose stuff but i like that guile is already on my systems and it's a gnu project <davexunit>CL is cool, too, though I much prefer Scheme from a PLT perspective. <janneke>cmhobbs: over the past couple of years guile has become my language of choice for pretty much anything <cmhobbs>i don't know that i prefer cl or scheme. less overhead is the main reason i've jumped into guile <cmhobbs>but this is my third time trying to really learn it <cmhobbs>i've written two or three small system things and utilities <janneke>obvious exceptions are programs in webbrowsers (hoping that may change some day) and programs in Emacs (that will change) <cmhobbs>and then i forget everything after going down a rabbit hole on some function <davexunit>but I'm currently writing Scheme code in the form of Guix packages to build some custom software so it looks like Scheme is also paying my bills. <cmhobbs>i wrote a couple of network services in guile for my $employer but i haven't used it with clients yet <cmhobbs>those network services are no longer being used but i can say i was briefly paid to write guile ;) <davexunit>cmhobbs: what's making it hard to learn Guile? <cmhobbs>and then just spend all the time i was going to devote to learning the language by focusing on that module <cmhobbs>so it's making it slow to learn guile <cmhobbs>i'd like to get to the point where i can just twitch and guile falls out like i do with ruby and other languages <cmhobbs>i also have a lack of ideas for things to build. no projects == no learning <cmhobbs>i don't have consistent time for projects, so i need stuff i can work on for a while and drop, then pick up again sometime later <davexunit>which I would hack on an hour or two at a time after work <cmhobbs>yeah my stuff is text processing and little network services <cmhobbs>i've never had much interest in writing games. i'm not creative enough <cmhobbs>ah, i did write a really shitty gnugo bot in guile <davexunit>I find Guile really nice for exploring new ways to write programs <cmhobbs>just a script that spoke gtp and picked arbitrary moves <davexunit>from coroutines to logic programming to functional reactive programming <cmhobbs>hm, a gtp library might be fun to write but i don't know how useful it'd be <cmhobbs>other than maybe a library to generate gtp strings <davexunit>I have a bunch of WIP projects that I poke at every now and then <cmhobbs>i'll probably start using the pomodoro technique to stay focused while studying guile <dsmith-work>cmhobbs: One approach is to find some thing already written and rewrite it in scheme/guile. <dsmith-work>cmhobbs: At first, you can just do a direct translation. But sooner or later, you start to see how scheme is more powerful, and how there are more elegant ways to solve the problem. <dsmith-work>cmhobbs: Eventually, you start wanting schemey things in other languages. And then you start getting really really annoyed you are not using scheme. <janneke>dsmith-work: my experiences exactly... <dsmith-work>cmhobbs: But the "porting" approch lets you focus on the problem at hand. <cmhobbs>eh, i use ruby all day. i already want common-lispy things in ruby but i don't have them :( <dsmith-work>While at the same time having a working reference implementation to compare against. ***micro` is now known as Guest36258
***amz31 is now known as amz3`
<amz3`>I think I'll throw away uav database from hyper <cmhobbs>http-get seems to have two return values? how can i operate off just the body of the document it returns? <cmhobbs>i say it returns twice because i get two prompts in the repl <amz3`>there is also a let-values I think that allows to do what is done in the snippet using receive <amz3`>you have to `(use-modules (ice9 receive))` to use receive <amz3`>basically http-get return two values <amz3`>which is different but similar to a list of two values <cmhobbs>web response gives me response-body-port as well <amz3`>cmhobbs: by the way, in that repository there is a snippet to http-get over https <cmhobbs>which yields $13 = #<input: r6rs-custom-binary-input-port 8bffe88> <cmhobbs>i have no idea how to work with that, though <amz3`>cmhobbs: what procedure are you calling to fetch a url? <amz3`>I think you are talking about a lower level procedure <cmhobbs>dammit... ERROR: no code for module (ice9 receive) <wingo>mark_weaver: interesting fallout on the #:select bug in master :) <wingo>it seems there was a wonky #:select usage in (test-suite lib) or something <cmhobbs>this kind of crap is what happens on slow days for me... <wingo>sad news people: a bytecode version bump <daviid>wingo: for info, I worked yesterday and I'm now working on NEWS for 2.0.12, will post or paste later today or tomorrow what I will have been written so far <amz3`>cmhobbs: aha fun stuff, kind of dangerous tho <cmhobbs>amz3`: more dangerous would be to just eval-string on the /raw url rather than /xml <cmhobbs> (eval-string (receive (_ body) (http-get (string->uri "SOME PASTE HERE")) body)) <dsmith-work>ACTION is working on getting geiser to work with 2.1 again <wingo>scheme@(guile-user)> (< (error)) <daviid>mark_weaver: is this fix user visible? guild disassemble: Use #:prefix instead of #:renamer [commit f2742bdd68619323da2c5f9f65f10684f6522e3c] <ijp>and the peasants rejoiced