<atw>I'm unfamiliar with Scheme. Is there a facility for finding a powerset, given a set? Specifically, I'm trying to do something like (for-each (lambda (masks) (my-fun (apply logior masks))) (powerset my-masks)) <atw>hmm. Well, what I'm really looking for is a way to call my-fun with every combination of masks. Is there a better way? <daviid>obá! [guile 2.1.4] when I use error in a procedure, then test the exception is raised, I read this: "ERROR: In procedure scm-error:" ... why in scm-error and not the name of my procedure? (I think someone asked already, but I forgot) <MoronicAcid>I think I might have found a bug in Guile 2.0.11's "syntax-type." The expression "((if #t and or)" #t #f)" should evaluate to #f, but instead I am getting the error "source expression failed to match any pattern in form and." Unless of course it is a feature... ***holomorp1 is now known as holomorph
<rlb>Not sure if he's using that in git-annex and/or propellor. <rlb>paroneayea, davexunit: I was curious recently, and yes, rustc can be used without the packaging infrastructure (i.e. as a gcc-ish compiler), though it's not "normal", and it can generate shared libs that look just like C libs (at least as far as my toy example went). <rlb>There's also a flag you need to specify to avoid including the kitchen sink in the shared lib iirc. <rlb>davexunit: also, I was reading the new (gnu) make book the other day and was reminded just how tricky it can be (and how hard to do some simple things cleanly/safely), but that said, I have yet to find anything I'd recommend as an alternative. <rlb>OrangeShark: so in the fwiw category, a few weeks or so ago, I sat down and added support for libgit2 to bup, assuming that at a minimum, for simple git operations, it'd be much faster than bup's current aproach which uses a "CatPipe" to talk to a "git cat-file" subprocess. First pass, that turned out to be a complete waste of time. The current approach, even with encoding/decoding over the pipe was *much* faster than using libgit2. <rlb>I think I even tried to batch some of the work on the C side and keep the bulk data as C pointers (so the C <-> python traversal wouldn't slow things down), but it didn't help. <rlb>OrangeShark: that's not to say it won't be faster for you and your cases, but just thought I'd mention it. <rlb>OrangeShark: and I can think of a number of reasons why that might have been the case for bup, but the difference was still surprising. <zv>Hi guys, does anyone know how guile fetches it's 'extensions' or libraries? I have to manually set LD_LIBRARY_PATH=.../guile/extensions - is there any way I can do this without modifying my linker's configuration? <janneke>ACTION resent reproducible-.go mail to debbugs where it belongs <lluis>hi! I'm overloading some arithmetic and bitwise procedures to seamlessly work with a class I have. It works for '+' and 'quotient', but if I define generic methods for 'logand' or 'ash', I get an error during auto-compilation ("ERROR: #<procedure ash (_ _)> is not a valid generic function"), but still works. Any ideas why? <ArneBab>lluis: did you (define-generic ash)? <davexunit>rlb: I have similar feelings. autotools are bad but leaps and bounds better than anything else. <lluis>ArnenBab: that did the trick, thanks. I guess it's because some other module already define-generic'd the other functions I'm overloading <amz3>hi OrangeShark I saw your message too late yesterday, got into meeting all the day <amz3>OrangeShark: Have you seen what I've pushed, it seems it overlaps with your code <OrangeShark>I am not sure how we should allow configuration for it. <amz3>Don't forget to add the header text to new files <amz3>I changed the licence to GPL3+ as we agreed previously <amz3>OrangeShark: what configurations? <amz3>what kind of configuration you are thinking about? <OrangeShark>well how in gitweb and other git web interfaces allow you to choose the location of repos, descriptions, etc <amz3>the thing is that gitweb can't take arguments, but our gitweb can take arguments <amz3>I was thinking about passing arguments like regular cli <amz3>you don't seem convinced <OrangeShark>it could potentially be a lot of arguments depending on how configurable it would be <amz3>I think we should start small, so we don't have arguments yet <amz3>and honestly I don't find the gitweb options very useful <amz3>I mean the only one that seems very important to me right now, is specifying the location of git repos <amz3>did you have a look at the mockup I made? <amz3>lighter like a white theme? <amz3>lighter means a white theme? <rlb>davexunit: yeah, the whitespace hacks like $(sp) come to mind, as an example, though there were some bits in the book that I'd no remotely considered. <rlb>daviid: btw, I realized my while loop was close, but a little different: time while GUILE_LOAD_PATH=. ./guile-test tests/00-initial-env.test tests/00-repl-server.test; do :; done <rlb>daviid: and I forgot to mention that I commented out the second test in that file, which I suppose could affect timing. <rlb>(if it's timing related) <rlb>i.e. commented out the "HTTP inter-protocol attack" test. <rlb>Also, on the buildd's it'll be testing current debian sid, and the machine I'm testing on is probably part stretch, part sid, but no idea if that matters. <rlb>daviid: and were you testing in a vm or native? I suppose if it is timing related, that might matter too... <daviid>rlb: I did not even looked at the test code, I merely dud run it here to see if I could reproduce, and I can not <daviid>rlb: linux capac 4.7.0-1-amd64 #1 SMP Debian 4.7.6-1 (2016-10-07) x86_64 GNU/Linux <daviid>rlb: can you try this instead: while ./check-guile 00-repl-server.test ; do : ; done <zv>Hey guys, is there a method to that gives '((a 1) b (c 6) (d 5)) => '(a b c d) that is not just (map (lambda (elt) (if (list? elt) (car elt) elt))) <zv>or is there a name for this idea that you want to omit 'configuration' for certain elements and still specify it for others? <zv>Similar idea, but this is for lists rather than #:optional arguments <dsmith-work>I've never heard of anything like that. (Don't mean much though) <zv>My question is really "Is this an established pattern for which there are functions for dealing with it ala alists" <zv>When I say "ala alists", I don't mean *exactly like* alists, I just mean do there exist functions for the set of useful things that you'd want to do on such a 'datastructure' <dsmith-work>zv: By that I mean is sounds like something CL might have. <zv>Well, they say you should just ask your real question when you ask, so here's my real question: <zv>I have a function & macro right now to make Chapter 5 of SICP a little simpler <zv>(define-register-machine newtons <zv> #:registers (x guess) <zv> #:ops ((good-enough ,newton/good-enough?) <zv> (improve ,newton/improve)) <zv> #:assembly ((assign guess (const 1.0)) <zv> (test (op good-enough) (reg guess) (reg x)) <zv> (branch (label end-newton)) <zv> (assign guess (op improve) (reg guess) (reg x)) <zv> (goto (label improve)) <zv>After this, I have to initialize the registers and start the 'virtual machine'. I would like registers to take something like '((x 6) guess), and then initialized x to 6 and leave guess untouched, in turn I would like ops to take something like '(+ < > = (improve newton/improve)), i.e assuming that the 'primitive' function is identical to the symbol passed unless otherwise specified <zv>This makes life a bunch simpler for me, because I've swapped out a bunch of guile code with C code *AND* I'm using guile-ncurses (and I've already 'committed' to setting %initscr *before* these registers machines are created, so I dont want to leave the UI hanging) <artyom-poptsov1>I recently started hacking on iCalendar (RFC 5545) format parser for Guile called Guile-ICS. <artyom-poptsov1>I'd love to hear any feedback, or you may just ignore this message as Guile-Spam. ;-) <paroneayea>artyom-poptsov1: nothing wrong with dropping by and showing your project! <artyom-poptsov1>I did some search on the internet and found implementations for Python and Elixir, but none for Guile. <paroneayea>artyom-poptsov1: I've looked at it but haven't used it. I'd like to try out the mit scheme version <paroneayea>I've considered porting it but it's unrealistic that I actually would <artyom-poptsov1>After making my way through the Alexey's and Sussman's paper and looking into their implementation, I have a feeling that this task may be quite hard to solve. <artyom-poptsov1>And no doublt there's lots of work put in this paper and the framework itself. <paroneayea>artyom-poptsov1: I'm not sure, it doesn't look like it would be hard to solve in guile? <paroneayea>I think it's a lot of "lambda glue", and lambda glue can be done in guile <artyom-poptsov1>paroneayea: Hmm, you're probably right. Anyway, it's hard to estimate complexity of the task for me for due to lack of related experience. <artyom-poptsov1>There's an idea that bothers me quite a while: AFAIU propagators may be distributed over a network, <artyom-poptsov1>so it may be possible to connect them using SSH protocol and probably some kind of RPCs over it. <paroneayea>artyom-poptsov1: sure; I think you could take a message passing approach to hook them together. <paroneayea>artyom-poptsov1: btw SICP has a kind of proto-propagators in it <paroneayea>artyom-poptsov1: and if you really want to learn more