<daviid>lloda: I wrote '... I order to 'save distro ...' I meant '... In order to 'save distro' ...' :) I hope nobody got me wrong here <sneek>daviid, civodul says: it's share/guile/site/@GUILE_EFFECTIVE_VERSION@ <daviid>sneek: later tell civodul right, thanks. <daviid>lloda: you need to update doc/Makefile.am (guile-cairo) in order to give a proper path to the XML files that gtk-doc produces <daviid>lloda: though guile-gnome depends on g-wrap, and guile-cairo does not, I beleive the way these projects build (at least when the did build) their doc is very similar <daviid>lloda: I see it is explained in doc/README in guile-cairo, did you read it? <daviid>lloda: texinfo is now guile core, so you don't need guile-lib anymore, I think, but to regenerate the doc, you need guile-gnome ... the thing is you generate the .texi files that are distributed with the lib, so users can build the doc locally ... <daviid>once you have guile-gnome, updated the path to cairo gtk-doc xml files, you try by typing 'make generate-defuns' in the doc/ subdir of course ... HTH good luck <daviid>lloda: there is a release file in doc/ as well: it lists all the steps that one should do to actually do a release, very cool. of course I can still help but it's all there ***ozzloy_ is now known as ozzloy
<manumanumanu>ArneBab_: apparently arthur gleckler liked the transducers so much he wants me to make it a SRFI. <manumanumanu>Hey btw everyone: I have library that includes a file. ,reload seems to only work if I change the library, but it doesn't seem to reload the module if the included file changes <Sleep_Walker>I'm sorry for so elementary question, but I am a bit lost <Sleep_Walker>I have (define (kernel-versions key) (cdr (assq key '(("doom" . "sw2") ("vulture" . "sw1"))))) <Sleep_Walker>calling `(kernel-versions "doom")` leads to `In procedure cdr: Wrong type argument in position 1 (expecting pair): #f` <Sleep_Walker>but `(cdr (assq "doom" '(("doom" . "sw2") ("vulture" . "sw1"))))` works as expected <djcb`>I have some procedures that can take options as lists of flags, say '(foo bar cuux). <djcb`> Each of those is a symbol, with some value (through scm_c_define) <djcb`>now, I'd like to fold that list using logior to the flags for my c-code <djcb`>Can I do that without `eval`? <Sleep_Walker>I wanted something like `(define (generate name) (define-public (string->symbol name) (write "name")))` so I could later in the module call (generate something) <Sleep_Walker>my use case is generating some similar packages for guix <manumanumanu>but you can't introduce global bindings witout doing voodoo <rekado>Sleep_Walker: for generating similar packages in Guix it’s better to use a procedure that returns package values. ***chrislck1 is now known as chrislck
<roelj>Has anyone ever been able to write to a file faster than ~5MB/s with Guile? It seems in my scripts Guile can't go faster than that.. <cmaloney>and measure it however you're measuring the speed now. :) <cmaloney>You might also check doing something like cat /dev/zero to a file on your disk and see how fast that is <cmaloney>though you'll fill up disk rather quickly so be cafeful <roelj>Using dd if=/dev/zero of=~/test.bin: 1048576000 bytes (1.0 GB, 1000 MiB) copied, 3.23998 s, 324 MB/s <roelj>I could use a counter in Guile, but that would affect its speed. <roelj>Pretty much, it peaked at 309MB/s actual disk write. <cmaloney>how big is the file that you're writing in guile? <roelj>It's two lines: (define (write-recursively port) (write "...." port) (write-recursively port)) <roelj>(call-with-output-file "/dev/null" write-recursively) <roelj>Then replace /dev/null with an actual file. So it just keeps going until I kill it. <roelj>I also tried compiling it first :) <cmaloney>Hm. I'm not familiar enough with Guile to know if what you're doing is intrisically slow <roelj>Oh oh! Adding dots actually makes it faster. <cmaloney>You're actually writing dots to the file? <roelj>Yes.. Just dots.. Just making things as simple as possible.. :) <cmaloney>So what you're doing is essentially print statements to the file <roelj>Ok.. I now reached a peak of ~18 MB/s. <cmaloney>that is going to be a little slower than just writing a bunch of zeroes. :) <cmaloney>specifically I believe a print statement is going to wait for the buffer to clear before printing the next statement <cmaloney>though I'm not sure. You'll want to test that <cmaloney>but yeah, you're not I/O bound, you're statement bound. :) <roelj>I'd expect to be able to get up to at least ~100MB/s, but ~18 MB/s is the max.. <cmaloney>You might want to look into some other file I/O statements in guile, like streams <rekado>roelj: you can improve I/O performance by playing with setvbuf and by using bytevectors. ***guile-guest8 is now known as rcm
<rain1>certainly would be fun.. wait didn't one get made for testing the async librayr <rain1>oh my bad I mixed up MOOC and MUC :p <rain1>is there software to build a mooc? i.e. we would only have to produce the teaching material <rain1>or would you have to build a whole web app system to make users, track progress, .. <OrangeShark>rain1: hmm good question, haven't heard of any mooc free software systems <rekado>moodle isn’t quite the same as a MOOC, though, is it? <rekado>It’s a platform for posting articles, fora, tests, and course materials, whereas the MOOCs I’ve seen are much more video-centric. <stis>I'm compiling python modules in guile <stis>stress testing the compiler <stis>hard work mainly, but I love the debugging phase, strange me <manumanumanu>stis: I was thinking about how to compile scheme to python. That seems rather unpretty <stis>yeah and you cane use schemish constructs versions of python ideoms <rain1>maybe you could compile shceme to python bytecode <stis>nah python bytecode does not supprort delimited continuations, tail calls etc <daviid>wingo, I'm editng the guile-gnome page on fsf dir, your email is apwingo at eos ncsu dot edu, should I change that? if yes, let me know which one