IRC channel logs

2013-12-13.log

back to list of logs

<mark_weaver>tromey: I'd like to push your first three patches now (you said the fourth was obsolete), but I'd to apply patches 2 and 3 to stable-2.0, and I'd like to change the summary line of patch 2 to describe the change itself instead of "fix bug #14193". Any objections? Should I just go ahead and make those minor changes before pushing, or would you prefer to do it?
<mark_weaver>s/I'd to/I'd like to/
<mark_weaver>actually, we should just get you commit rights if you don't already have them. *looks*
<mark_weaver>ah, you already have them.
<mark_weaver>so yeah, modulo the above comments, please push! :)
<tromey>I still have commit access? that's funny
<tromey>mark_weaver: it's fine if you want to just do it yourself
<mark_weaver>okay, will do.
<mark_weaver>(mainly, I don't want to waste your time with tedium)
<tromey>it's no trouble for me, but I'm happy if you do it too :)
<nalaginrut>morning guilers~
<nalaginrut>b4283: have fixed your problem?
<b4283>morning
<b4283>nalaginrut: i tried to recreate the stack overflow but with no success, i'll just wait until that problem emerges again
<b4283>it's really hard to make a program stack overflow in scheme
<b4283>just kidding ;)
<nalaginrut>yeah
<davexunit>how do I find out if a variable named 'foo is bound in the current environment?
<nalaginrut>davexunit: defined?
<davexunit>nalaginrut: that only checks the top-level environment it seems
<mark_weaver>davexunit: out of curiosity, why do you want this?
<davexunit>mark_weaver: I'm trying to write a macro that will define a variable if it's not defined or set! it otherwise.
<davexunit>but I think this might be a silly idea.
<mark_weaver>and you want this to work within internal lexical environments too?
<davexunit>I was just curious what my options were. I think it's a bad idea now.
<mark_weaver>I'm just trying to understand how you'd use such a thing within a set of internal definitions.
<davexunit>I'm trying to come up with some macros to use with my time-varying values code I've written.
<davexunit>something like: (define-signal foo "foo")
<mark_weaver>ah, and you'd like to allow the same variable name to be bound more than once within a single internal block.
<davexunit>I was thinking about REPL interaction
<davexunit>you could use (signal-set! foo "bar")
<mark_weaver>well, at the top-level, you can just use 'define' and it will do what you were looking for, I think.
<davexunit>but it would be nice to just change the place where it's defined and eval it via geiser.
<mark_weaver>so why not just make (define-signal foo bar) expand to (define foo ???)
<mark_weaver>(I'm not sure what the ??? would be)
<mark_weaver>at the top-level, it would have the semantics you asked for.
<mark_weaver>within a lexical block, it would also work, but you'd be prohibited from binding the same name more than once within the same block.
<davexunit>yeah, I know that much, perhaps I should provide an example with regular variables and functions.
<nalaginrut>hmm...but time vary things could be solved by parameters, no?
<davexunit>I have some code: (define foo 1) (define (foo-plus-2) (+ foo 2))
<davexunit>in emacs, I can change (define foo 1) to (define foo 2) and eval it with geiser
<davexunit>the return value of foo-plus-2 changes.
<mark_weaver>oh, is the problem that you don't want it to use 'set!' if the variable isn't defined, but that you need to use 'signal-set!' so that the change will be propagated?
<davexunit>yes.
<mark_weaver>I see. hmm.
<davexunit>I don't even know if that is sane.
<davexunit>but it would be convenient from a developers point of view.
<mark_weaver>*nod*
<davexunit>signals are boxes for arbitrary values, like variables.
<mark_weaver>well, I can think of one way to do it, although it requires using an API that I lobbied against making public, heh.
<davexunit>haha
<davexunit>perhaps it's best not to mess with it, then.
<mark_weaver>I think what you are trying to do is reasonable. I feel like there should be a sane way to do it.
<mark_weaver>you should be able to make something like 'define'.
<davexunit>well, I could catch the unbound variable exception?
<mark_weaver>no
<nalaginrut>will it be efficient if you catch the exception?
<mark_weaver>within an internal environment, that error would happen before runtime.
<davexunit>okay.
<nalaginrut>ah
<mark_weaver>you need to expand into something different depending on whether you're at top-level or not.
<davexunit>scratch that plan then.
<davexunit>I see.
<mark_weaver>I think it's not unreasonable for a macro to be able to tell whether it's at top-level.
<mark_weaver>that's an API I wouldn't object to, but unfortunately it doesn't exist in that form.
<mark_weaver>instead there's a far more powerful way to find out the list of lexical bindings at macro-expansion time.
<davexunit>well for now I could write a macro that assumes its at the top-level.
<mark_weaver>yeah
<davexunit>that's the primary use-case anyhow.
<mark_weaver>'syntax-locally-bound-identifiers' is what you'd need, anyway.
<davexunit>okay. thanks mark_weaver.
<davexunit>how do I conditionally expand a macro?
<mark_weaver>hmm, well, I see there's a slight problem with that. you can be within a lexical environment even if there are no bound lexicals, e.g. within (let () ...)
<mark_weaver>if we ignored this little problem, then the following would suffice:
<mark_weaver>(use-modules (system syntax)) (define-syntax foo (lambda (x) (syntax-case x () ((foo) (null? (syntax-locally-bound-identifiers #'foo)) #'top-level) ((foo) #'not-top-level))))
<mark_weaver>sorry, that's hard to read.
<mark_weaver>(use-modules (system syntax))
<mark_weaver>(define-syntax foo
<mark_weaver> (lambda (x)
<mark_weaver> (syntax-case x ()
<davexunit>hmmm. well I'm going to have to punt on this for now then.
<mark_weaver> ((foo)
<mark_weaver> (null? (syntax-locally-bound-identifiers #'foo))
<mark_weaver> #'top-level)
<mark_weaver> ((foo)
<mark_weaver> #'not-top-level))))
<davexunit>thanks for the help.
<davexunit>I need sleep.
<mark_weaver>okay, good night!
<civodul>Hello Guilers!
<wingo>moin :)
<nalaginrut>heay
<nalaginrut>heya
<ArneBab_>moin!
***haroldwu is now known as haroldwu_home
<sbp>I ran a benchmark of naïve, non-TCO recursive (fib 40) yesterday
<sbp>here's what I got:
<sbp>total: 1:16.69 (1.8.8), 21:10.86 (2.0.9), 7:33.22 (2.1.0.537-812c8)
<sbp>so the 2.x branch is a lot slower on that, between about 5x (2.0) and 20x (git HEAD)
<sbp>and 76sec is very slow to begin with
<sbp>compare, say, racket which does it in about 6sec
<sbp>or LuaJIT, 3sec
<sbp>I think python compares similarly to 1.8.8, in the range of 70-80sec
<sbp>(standard CPython, that is)
<TaylanUB>sbp: Could it be that your benchmark used the interpreter and not compiler+VM ?
<sbp>could be. how do I make sure the compiler + VM is turned on?
<sbp>in any case, 1.8.8 was faster, before the VM
<TaylanUB>Putting code in a file and using `guile -s' should do I think.
<TaylanUB>sbp: AFAIK 1.x had a fast hand-baked C implementation for an interpreter, which 2.x thrashed and replaced with a simple Scheme implementation, since it's secondary and is a maintenance burden.
<TaylanUB>(Uh, s/hand-baked/finely-optimized/ or whatever, not that the Scheme implementation is being auto-generated. :P)
<sbp>how do I get it to keep the compiled output .go?
<TaylanUB>It does so by default.
<sbp>oh, it puts it in ~/.cache I see
<sbp>and how do I get it to load from the .go? -s won't accept it, seems to be scm source only
<wingo>usually it is automatically loaded
<TaylanUB>It will use it by default.
<wingo>you can test at the repl as well
<sbp>15.216 total, not bad!
<wingo>it sounds like you are using the interpreter, not the compiler
<wingo>ah good :)
<sbp>so, -c should probably use compile + eval
<wingo>maybe
<wingo>depends on what you are doing
<sbp>well, eval-compiled. what is the internal function for running compiled code?
<sbp>true
<wingo>check the manual :) (there are various things to compile and run; `compile' from (system base compile) is one of them)
<sbp>is the VM going to be standardised, or is it going to float around between versions?
<sbp>("going to be" could be way in the future)
<wingo>the vm may change between versions. it is different in 2.0 and 2.2.
<wingo>probably 2.4/3.0 will also be different also
<nalaginrut>wow, I heard 3.0 :-P
<sbp>-c with (compile '(begin (define (fib n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2))))) (display (fib 40)))) takes 16.117 total
<sbp>thanks for your help, TaylanUB & wingo!
<wingo>np :)
<wingo>of course you are measuring compilation time as well
<wingo>if that's something you wanted to measure
<sbp>yeah. the 15.216 above was sans compilation time
<sbp>now you just need a richer Hurd API in Guile, bipt to finish guile-emacs, and GNU OS could be touted in the media as a new lisp machine
<sbp>I like your Guile history posts on The Emacs Way, wingo. still digesting them
<wingo>tx!
*wingo remembers to pick up the stack machine papers from the printer
<sbp>I wonder if it means you plan to make Guile more embeddable?
<sbp>for example, if you want to include Lua or SQLite, it's basically a one-C-file job
<TaylanUB>Can Guile be any more embeddable ? :P
<TaylanUB>Oh
<sbp>*that's* embeddable :-)
<wingo>yeah, we probably are not going that way -- not right now anyway
<wingo>it is tricky
<wingo>lua is implemented in c
<wingo>guile is mostly implemented in guile
<sbp>fair enough. so how do you expect to facilitate Guile as an extension language?
<wingo>it's a good goal but not nearby :)
<sbp>are there other things you have on the agenda for that?
<wingo>guile is a shared library with stable abi/api guarantees and good documentation
*sbp nods
<sbp>makes sense
<wingo>so dynamic linking rather than static inclusion
<wingo>better for the lgpl anyway
<wingo>static linking can be rather tricky from a license perspective
*sbp looks at https://www.gnu.org/software/guile/manual/guile.html#Linking-Guile-into-Programs
<TaylanUB>sbp: BTW http://twistedmatrix.com/users/glyph/rant/extendit.html
<TaylanUB>With s/Python/Guile/g :P
*sbp tries the example
<sbp>scheme@(guile-user)> (my-hostname)
<sbp>$2 = #f
<wingo>evidently your $HOSTNAME is null
<sbp>"But most of my application is written in C! / Well, that must have been a lot of work! So why would you want to make MORE work for yourself by embedding Python rather than extending it?"
<sbp>$ HOSTNAME=yes-it-was ./simple-guile
<sbp>scheme@(guile-user)> (my-hostname)
<sbp>$1 = "yes-it-was"
<sbp>TaylanUB: thanks, interesting
<sbp>stack VM in 2.0.9 does the compile + run in 17.301, so about a 1s speedup in the putative 2.2 so far. on this single, naïve test...
<sbp>good for getting a feel of the orders of magnitude though
<wingo>that is a test of the stack :) test on loops and the difference is much more
<sbp>ooh, yes
<sbp>simple nested loop test: 2.0.9: 12.832s, HEAD: 3.907s
<sbp>about 3x faster
<sbp>racket got 2.154s on that
<sbp>and the CHICKEN compiled output was 6.085s
<sbp>so, faster than CHICKEN
<ArneBab_>sbp: there is a common lisp framework for interfacing with the Hurd. Maybe that can be leveraged for guile.
<ArneBab_>sbp: http://git.savannah.gnu.org/cgit/hurd/incubator.git/log/?h=clisp
<sbp>interesting, thanks! wonder why they chose CL?
<ArneBab_>sbp: I guess familiarity or so ☺ — the main problem with it is that the dev used CL libraries which are not packaged in debian, which is quite a roadblock for wider adoption.
<ArneBab_>(but more on this would be #hurd ☺ )
<sbp>oh man
<sbp>I get told off in #guix for talking about guile
<ArneBab_>sbp: folks there could have more info
<sbp>now I get told off in #guile for talking about hurd
<ArneBab_>sbp: this is not telling off: In #hurd more interested people should be around
*sbp joins *all* the GNU channels, that'll fix it
<sbp>yeah, I'm just being jocular :-)
<ArneBab_>
<ArneBab_>sbp: actually it would be nice, if we could simply link some posts in the channels.
<sbp>it's nice hopping about and learning things
<ArneBab_>→ dynamic discussions
<sbp>yeah
<ArneBab_>yepp
<sbp>tagged conversations, and subscription models, and... this should go in #reforming-irc though
<ArneBab_>(statusnet / GNU social has that to some degree, but not as chat)
<ArneBab_>bbl
<ArneBab_>*gg* (re #reforming-irc )
<civodul>does "GNU social" have a tangible existence?
<civodul>like code
<ArneBab_>civodul: yes, for example it runs this: sn.1w6.org
<ArneBab_>bbl
<civodul>ok
<TaylanUB>Does anyone else think it's kind of nasty that a syntax-rule pattern with multiple ellipsis doesn't raise an error, and seems to work and fail in pretty much arbitrary ways ?..
<TaylanUB>I suppose it's not a mistake one would do in practice though, given they actually know syntax-rules.
<civodul>can you send the example?
<civodul>ISTR it failed for me
<TaylanUB> http://sprunge.us/EUPZ
<civodul>ah you mean you'd like it to fail earlier, right?
<civodul>yeah, that'd be better
<civodul>dunno what it'd take though
<civodul>this is something for wingo or mark_weaver i guess :-)
<mark_weaver>the problem is that it's desirable and needed to sometimes have ellipses come out in the expanded output, for example when writing macros that expand into macro definitions.
<TaylanUB>BTW when the pattern is (test x ... y ...), then it just does greedy matching on x, never erring.
<mark_weaver>oh, nevermind what I just said. hmm. let me think on this a bit.
*mark_weaver looks in psyntax.scm
<mark_weaver>actually, I need to do some ellipsis work in psyntax soon anyway, to allow the ellipsis symbol to be specified explicitly (a nice feature of R7RS)
<civodul>ellipsis work
<TaylanUB>Perhaps it could be made to actually work on the erring example too. We would document greedy matching.
<civodul>mark_weaver is elliptic
<mark_weaver>:)
<kurohin>I am having trouble understanding (define-once ....) Is it not supposed to let me in once procedure define a variable that is accessable by other procedures in the same module?
<mark_weaver>When you wrote "once procedure" did you mean "one procedure"?
<kurohin>yes
<mark_weaver>no. 'define-once' is kind of like CL defvar. if the variable is already defined, it does nothing, and leaves the value unchanged.
<mark_weaver>it should be used at top-level only.
<kurohin>now i read the documentation again and I see that I was missunderstanding the documentation
<kurohin>I want to write a function that takes a list and creates top-level variables with names(with some suffix added) from that list, is that possible?
<mark_weaver>yes, it's possible, although it's considered bad form in most cases.
<kurohin>That I can understand, and maybe I should take a bus-ride and think about my problem a bit more.
<mark_weaver>'module-define!' is how you'd do it, though.
<mark_weaver>a macro might be more appropriate.
<mark_weaver>and 'symbol-append'
<kurohin>I will rethink the problem instead, I was going after how we did things in a old script, where constraints led us to do it that way. If I am writing a new thing it might be best to avoid doing the same misstakes.
<mark_weaver>sounds good!
<TaylanUB>I wonder if it would be worth trying to get the GuileEmacs branches to be hosted upstream, so they get a little more publicity and potentially new developers ? (Upstream is still bzr though, isn't it ..)
<TaylanUB>(I mean merely hosting in the upstream repo, not making it mainline.)
<TaylanUB>(For the meanwhile, that is.)
<ArneBab_>TaylanUB: I guess yes. If you have a VCS which can branch, not having improvements there looks like a strong detriment to me.
<sbp>migrate to git, host on github, post to Hacker News, done
<ArneBab_>sbp: result: now they suffer from git, too…
<sbp>heh, heh
<TaylanUB>Hrm, this article could be funny: http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/
<ArneBab_>sbp: if you work on a project, you should always push back to the VCS the project uses.
<TaylanUB>(Well, that's hg not bzr, so not really relevant I guess.)
<sbp>well, you have to push back to the VCS it uses. I preferred both darcs and mercurial, so I'm not proselytising for git. but if the discussion is "how do you get more eyes on a package", in this case guile-emacs, I think that the crowdthink solution is one that ought to be admitted to discussion
<sbp>and git is very trendoid, hipster-crowdthink right now. it's where the eyes are going
<ArneBab_>TaylanUB: bzr was spelled as bizarre by someone from the #neo community who did a bachlor thesis on DVCS.
<ArneBab_>sbp: I guess, just push it to bzr, then let someone create a git mirror which tracks it.
<TaylanUB>sbp: GuileEmacs is on bipt's git repo, it's Emacs itself that's on bzr. :P
<sbp>ah, I see
<sbp>well, I'll tell you what
<sbp>I'll get bipt to put his repo on github
<ArneBab_>sbp: but on git: try googling “I hate git” — or directly go here: http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/
<sbp>you guys work on the emacs maintainers... :-)
<sbp>fair division of labour
<ArneBab_>sbp: frustration by git is very widespread nowadays…
<sbp>I was writing about how much I hate git five years before that article, heh
<sbp>git the backend is great. git the frontend... ouch
<sbp>but that's one for #git... :-)
<ArneBab_>sbp: even git the backend sucks: you cannot push a branch into a repo which has the same branch checked out…
<mark_weaver>github is not a very nice service to promote for free software.
<ArneBab_>sbp: that one’s for #dvcs-wars ☺
<mark_weaver>gitorious is better.
<sbp>mark_weaver: agreed
<TaylanUB>"git is also extremely fast thanks to its C codebase." ... *cringe*
<sbp>depends how much you're willing to sell your values for progress, really
<sbp>I tend to vacillate between the poles of "rms is right wing, GNU is not free enough!" and "screw this, just ship it already"
<TaylanUB>Hrm, I didn't know Gitorious was better for software freedom. Maybe I should move over my repos to it.
<sbp>(example of where rms is right wing: the Raspberry Pi firmware issue. bad rms. BAD)
<mark_weaver>sdp: huh? please explain yourself.
<ArneBab_>TaylanUB: I have an old test of commit performance which actually shows that git is very bad for servers. The gitorious maintainers later told me that they have exactly the problems I prognosed there: http://draketo.de/proj/hg-vs-git-server/test-results.html — quite a bit outdated nowadays, though.
<mark_weaver>how is RMS wrong about the Raspberry Pi, and why does his position earn your label "right wing" ?
<mark_weaver>and what do you mean exactly by "GNU is not free enough" ?
<sbp>*b. rms says tha the Raspberry Pi boot drivers, which are housed in an opaque firmware blob, are okey dokey lokey with him because you can count them as virtual hardware and they don't affect the rest of the system. I think, in my most extreme-left moments, that this is misguided. he is, therefore, right of me in those moments. but note what I say: I vacillate from pole to pole...
<sbp>he also advocates CC by-nd-sa for his photos and stuff. right-wing! :-)
<mark_weaver>RMS does *not* think the Raspberry Pi is okay at all.
<sbp>(I'm not really complaining about rms)
<ArneBab_>sbp: by-nd, by-nd-sa does not exist ☺
<sbp>he said the firmware blob is okay. I dunno about any other aspects of the R-Pi
*TaylanUB presumes sbp's remarks are somewhat tongue-in-cheek ?
<sbp>absolutely
<TaylanUB>Internet communication! :)
<ArneBab_>sbp: RMS actually is not for free culture, only for free software. But I guess that’s reasonable: Don’t tackle the colossus (proprietary culture) when you didn’t yet manage to topple the giant (proprietary software)
<ArneBab_>he does not tell free culture enthusiasts that they are wrong, though. Just that he does not fight in their war.
<sbp>ought to parallelise
<mark_weaver>RMS specifically mentioned during his GNU 30th anniversary talk that the Raspberry Pi is "fatally flawed", because it cannot be used _at_ _all_ without loading a huge firmware blob, whereas other ARM boards are only "seriously flawed".
<sbp>as I say, though, I'm hardly pointing a finger at rms and judging. just saying that I can be in "extreme freedom" mode sometimes, and then at other times I can be arguing in #guile that guile-emacs should be hosted on github
<sbp>you know, swings and roundabouts
<sbp>mark_weaver: did he? huh, let me check my provenance then
<mark_weaver>he's also come around on the issue of free hardware designs, btw, in the same talk.
<sbp>ArneBab_: oh, it was CC-BY-NC-ND
<ArneBab_>sbp: I’m in the free culture field, but fighting for GPLv3 there… quite a hard battle…
<mark_weaver>he said that at some point we're going to have to build our own computers from designs that are free.
<ArneBab_>ugh… NC. With that he’s not actually participating in the commons of free culture → http://draketo.de/light/english/politics/free-culture-danger-noncommercial
<mark_weaver>yes, RMS believes that it's reasonable to prohibit distributions of modified versions of one's statements of opinion (e.g. essays and such).
<sbp>mark_weaver: interesting (30th anniversary). I'm furiously grepping logs looking for this earlier provenance
<ArneBab_>mark_weaver: I agree to that. But he’ll call them “functional designs”, and I disagree with the notion that art is not functional. Its function is just harder to measure
<sbp>perhaps he has, as you say, "come around" on it
<mark_weaver>the fact is, we don't yet have the ability to turn chip designs into physical chips.
<ArneBab_>mark_weaver: I understand his prohibiting of modification as something like wartime psychology: He’s fighting a battle against people who might twist his words, while free culture is about participating.
<mark_weaver>ArneBab_: exactly.
<ArneBab_>mark_weaver: as such I am not sure if his stance isn’t actually a reasonable one for his political statements - at least as long as the proprietary software folks have much more resources than the free software folks.
<ArneBab_>but for photos I think the stance is wrong
<sbp>unless he's holding up a sign of some sort in the photo
<ArneBab_>
<mark_weaver>ArneBab_: why don't you email him about it? his response will probably be short, but he's generally quite good about responding to emails.
<sbp>friend already did that
<sbp>let me dig out the response from rms
<ArneBab_>mark_weaver: I should do that - I also already got some responses from him.
<sbp>I use CC-ND for my articles of opinion and my speeches.
<sbp>I think it is a good license to use for works of that kind.
<sbp>— rms
<sbp>that was it. heh
<sbp>original question was rather longer
<mark_weaver>well, frankly I think he's right about articles of opinion and speeches.
<mark_weaver>I was suggesting that ArneBab ask him about photos.
<sbp>I went looking through the T3 Explorer lisp machine sources the other day
<ArneBab_>first I should investigate which license he actually uses.
<sbp>rms put a non-free license on some of his code from like 1980 or so... :-)
<mark_weaver>well, that was before he conceived the free software movement.
<sbp>yup
*ArneBab_ added a task for someday asking RMS about the license for photos.
<ArneBab_>sbp: I also published some unfree writings - before I learned about free licensing. People must have the freedom to learn ☺
<sbp>yeah, it was just odd to see
<sbp>like when you have a bald friend, who's always been bald
<sbp>and then he shows you a photo of when he had hair
<mark_weaver>if you want a more thorough explanation of his rationale for while different kinds of works require different levels of freedom, listen to his speech "Copyright and Globalization in the Age of Computer Networks". http://audio-video.gnu.org/audio/rms-speech-mit2001.ogg
<mark_weaver>s/while/why/
<ArneBab_>mark_weaver: thanks!
<sbp>since we're in #guile, how come apt-get doesn't install a .pc for guile-2.0?
<sbp>maybe that's more of a #debian or #pkg-config question, heh
<mark_weaver>(there's probably a more recent version of that same speech, but I made that recording myself, so I know it covers it :)
<mark_weaver>it's probably in the -dev package
<sbp>ooh, that'd make sense. trying it...
<mark_weaver>I just checked, and indeed it is.
<mark_weaver>guile-2.0-dev
<sbp>sweet, thanks. already installing it
<sbp>yep, /usr/lib/pkgconfig/guile-2.0.pc
<mark_weaver>what version is that?
<sbp>version of what?
<mark_weaver>what version of guile are you installing?
<sbp>2.0.9-deb+1-1
<mark_weaver>cool
<sbp>I was configuring guix... :-)
<mark_weaver>okay, I've been staring at this syntax-case code for a while, and it seems to be correct. it seems like it should report an error if more than one ellipsis is present in the same list. but it doesn't.
*mark_weaver resorts to using 'pk'
<mark_weaver>ah, I found it!
<mark_weaver>it was because the code was using 'pair?' on a syntax object, which is not reliable in general (you need to use syntax-case)
<mark_weaver>TaylanUB: FYI, I just pushed a fix (to stable-2.0) for the problem you discovered in the handling of multiple ellipses by syntax-case. http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=aa8630efb37e71db56430d2090b0aaabbbaf2df3
<mark_weaver>well, to be clear, it was just a problem with the reporting of errors.
<sbp>any way to load all available SRFI modules?
<sbp>like --use-srfi=* or --use-srfi=ALL or something?
<mark_weaver>that's not a good idea
<davexuni`>there's a lot of SRFIs, just load what you need.
<mark_weaver>anyone can make an SRFI. some of them are no good. sometimes two SRFIs do the same job. they might even have overlapping interfaces.
<mark_weaver>this is by design, and I think it's good.
<mark_weaver>basically, anyone can put an idea out there, and the users and implementers decide which ones to use and support. there's no central authority to weed out the bad ones, which is both good and bad, but personally I like it. that's part of why srfis are referenced by number and not name.
<madsy>mark_weaver: What if two people/groups choose the same number? :-)
<mark_weaver>heh :)