[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

#scheme IRC relating SRFI-86



By Googling, I happened to see #scheme IRC, and all schemers benefit the
internet community.

1. The following are excerpts relating to "SOMEWHAT SLOW UNDER SOME
   CIRCUMSTANCES" in Rationale of SRFI-86.
		
2006-04-05

09:36:19 <Riastradh> Wow, Soo's benchmarks demonstrating the relative efficiency of MU/NU and CWV/VALUES are so completely bogus I'm not sure whether to be amused or not.
09:38:14 <Riastradh> (And, yow, this is very, very slow.  Ten per cent packet loss for eleven hops to the machine where my IRC client is.)

2006-04-06

19:37:03 * Riastradh writes up a mail to the SRFI 86 list completely discrediting JCS's `benchmarks.'
19:37:07 <Riastradh> (even moreso than Clinger)
19:37:10 <astecp> minion: more sarahbot
19:37:11 <minion> sarahbot me harder
19:37:36 * astecp finds JCS's thinking on that list impenetrable

20:23:50 <Riastradh> T is a wee bit faster than Scheme48.
20:24:38 <Riastradh> What ten times takes ten seconds in T, takes one hundred fifty seconds in Scheme48 0.57.
20:24:46 <Riastradh> (on a 333 MHz UltraSPARC)
20:25:53 <levi> Nice.
20:26:12 <Riastradh> ...only one time in Scheme48, I forgot to add.
20:26:27 <levi> So, you just need to get it ported now. :)
20:26:53 --- join: somegeek (i=levin@unaffiliated/somegeek) joined #scheme
20:27:41 --- join: lilo (i=levin@freenode/staff/pdpc.levin) joined #scheme
20:29:14 <joshcryer> Or use Gauche...
20:29:22 <Riastradh> ?
20:29:29 --- quit: sarahbot (Read error: 104 (Connection reset by peer))
20:34:08 <levi> Riastradh: Obviously, you'll get no respect for T unless you benchmark it against Gauche, Gambit, Chicken, etc... ;)
20:34:21 <Riastradh> I'm going to run Gambit, too.
20:34:28 <Riastradh> Chicken doesn't count because it doesn't optimize CWV at all.
20:34:44 <Riastradh> I'm hoping Gambit does, but I'm too lazy to delve into Feeley's awful code to find out.
20:34:57 --- quit: Khisanth ("Leaving")
20:35:10 --- join: Khisanth (n=Khisanth@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
20:35:22 <Riastradh> Oops.
20:35:25 <Riastradh> Nope, Gambit doesn't, argh.
20:35:47 <Riastradh> Hmmmm.
20:35:53 * Riastradh pokes about for another Scheme that does.
20:35:59 <levi> CWV?
20:36:05 <Riastradh> (Gauche has a primitive compiler in which RECEIVE performs differently from CWV.  Bletch.)
20:36:09 <Riastradh> CALL-WITH-VALUES
20:36:56 <Riastradh> Ah, RScheme does.
20:37:03 <Riastradh> ...uh...now how do I run RScheme's compiler?
20:38:16 --- quit: somegeek_ (Connection timed out)
20:39:09 <Riastradh> Anyone happen to have a machine with Chez on it which I could use briefly?  (Full Chez, not Petite.)
20:41:55 --- join: yome (n=ber@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
20:42:03 <yome> minion, chant!
20:42:03 <minion> MORE THAN
20:42:17 --- quit: arcus (Read error: 104 (Connection reset by peer))
20:42:31 --- quit: easy4 (Remote closed the connection)
20:43:51 --- join: easy4 (n=ez4@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
20:47:41 <Riastradh> foof: ping
20:48:58 <foof> pong
20:49:20 <Riastradh> foof, does Gauche implement multiple return values in any better way than just wrapping them in a list with a special tag?
20:49:47 <foof> yes, it puts them directly on the stack
20:49:51 <Riastradh> OK, good.
20:50:30 <Riastradh> There are remarkably few Scheme systems that have effective implementations of it, I am sorry to say.  The only ones I can find are T, Scheme48, Chez, and Gauche.
20:53:01 <Riastradh> ...oh, and RScheme.
20:53:18 * Riastradh builds Gauche on that machine.
20:54:23 <Riastradh> Pfhoo.  rscheme.org is down.
20:55:37 <Riastradh> (Gambit, Chicken, MIT Scheme, Larceny, SXM (don't ask), Chez, and MzScheme have stupid representations of multiple values.)
20:57:27 <foof> and Stalin has none
20:59:14 --- quit: drewr (Connection timed out)
20:59:51 * yome asks.
20:59:57 <Riastradh> ?
21:00:05 <yome> SXM?
21:00:25 <jonphilpott> i saw ex-president gorbachov(sp?) today
21:00:35 <jonphilpott> (Stalin reminded me of the event)
21:00:37 <Riastradh> Some totally random Scheme implementation written by some totally random Schemer which has absolutely no qualities to recommend itself and which I happen to have installed on this machine.
21:00:59 <Riastradh> jonphilpott, don't worry about the Latinized spelling; it's properly spelt with Cyrillic anyway.
21:01:15 <jonphilpott> ah
21:01:18 <yome> Ã��Â��Ã��¾Ñ��€����±����°��‘��‡��‘��‘����²
21:01:23 <jonphilpott> i was dropping my dad off at LAX, and he was there
21:01:52 --- nick: gowlin -> cowkiller
21:02:07 <Riastradh> Uh, wow, that crashed and burned.
21:02:40 <yome> http://www.malgil.com/sxm/
21:03:05 <Riastradh> foof:
21:03:10 <Riastradh> [rias@sol Gauche-0.8.6]% ./src/gosh
21:03:10 <Riastradh> ld.so.1: ./src/gosh: fatal: /usr/local/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32
21:03:13 <Riastradh> zsh: killed     ./src/gosh
21:03:23 <yome> "supports all features of the R5RS Report on Scheme" <-- Does it have TRANSCRIPT-ON and TRANSCRIPT-OFF ?
21:04:00 <Riastradh> In fact, it does.
21:04:06 <yome> Nice.
21:04:47 <foof> hmmm
21:05:00 <Riastradh> It, T, and MIT Scheme are the only ones I know of that support it.
21:05:01 <yome> btw, ~4 SRFIs should hit srfi.schemers.org soon, written by Feeley.
21:05:11 --- nick: cowkiller -> gowlin
21:05:11 <foof> ooh, cyrillic
21:05:31 --- quit: Khisanth ("Leaving")
21:05:46 --- join: Khisanth (n=Khisanth@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
21:06:15 <foof> Riastradh: 64-bit machine?
21:06:16 <joshcryer> yome, what implementation is that?
21:06:24 <Riastradh> foof, yeah.
21:06:41 <foof> OK, I've built Gauche on sparcs, but not ultra-sparcs
21:06:45 <yome> joshcryer, the one Riastradh mentioned.
21:07:06 <joshcryer> SXM?
21:07:08 <foof> It works on other 64-bit platforms though, so shouldn't be hard to get compiled.
21:07:12 <Riastradh> foof, any SPARC-9 is 64-bit.
21:07:24 <joshcryer> n/m, went to the site and got a confirmation. :)
21:08:r46 <joshcryer> What do you mean by stupid representations of multiple values Riastradh?
21:08:48 <Riastradh> Anyone here know how to use RScheme?
21:09:01 --- join: sarahbot (n=siscbot@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
21:09:03 <Riastradh> joshcryer, (define (values . vs) (cons values-tag vs))
21:09:09 <Riastradh> (define (call-with-values producer consumer)
21:09:14 <Riastradh>   (let ((v (producer)))
21:09:22 <Riastradh>     (if (and (pair? v) (eq? (car v) values-tag))
21:09:26 <Riastradh>         (apply consumer (cdr v))
21:09:30 <Riastradh>         (consumer v))))
21:09:32 --- quit: easy4 (Remote closed the connection)
21:09:34 * joshcryer head begins to swell up
21:09:56 <yome> Riastradh, bah, I simply use SRFI-86.
21:09:58 <foof> Riastradh: I'm using a Sun Blade 100, 32-bit
21:10:07 --- part: decaf left #scheme
21:10:09 <joshcryer> Riastradh, so those implemenations would give an incorrect result?
21:10:14 <Riastradh> joshcryer, no.
21:10:19 <jonphilpott> i wanted to get a picture with him, but i feared if the feds saw it, i'd never get my residency
21:10:19 <Riastradh> That's a correct implementation of multiple return values.
21:10:43 <Riastradh> jonphilpott, hey, he's more popular in the West than in the Soviet Union!
21:10:50 <jonphilpott> hehe
21:11:01 <jonphilpott> maybe he could have sponsored me
21:11:37 <jonphilpott> reminds me of the begining of naked gun, when he says "I have the Americans thinking I'm a nice guy"
21:11:53 --- quit: lilo (Nick collision from services.)
21:11:54 <Riastradh> ...heh, I was just about to mention that.
21:12:09 <gnomon> .
21:12:11 <joshcryer> jonphilpott, I think you totally dated yourself.
21:12:51 --- join: lilo (i=levin@freenode/staff/pdpc.levin) joined #scheme
21:12:55 <jonphilpott> i haven't seen that movie in a long time
21:12:58 <joshcryer> Oh wait, hahaha, I thought you saw freaking STALIN at LAX.
21:13:02 <joshcryer> What is wrong with me. God.
21:13:04 <jonphilpott> haha
21:13:09 <jonphilpott> that would have been neat
21:13:58 <joshcryer> That's what happens when I try to understand Riastradh's code (which btw, he probably typed in IRC in real time).
21:14:33 <Riastradh> I did.
21:14:38 <joshcryer> Freak~!
21:15:18 --- join: somegeek_ (i=levin@unaffiliated/somegeek) joined #scheme
21:16:26 <joshcryer> (that was a joke, for the record, I mean nothing but good intentions to the geniuses that inhabit this channel)
21:16:52 * Riastradh builds Gauche and RScheme with -m32 for the sake of expedience.
21:17:07 <Riastradh> (In fairness, T and Scheme48 are running as 32-bit programs too.)

22:33:36 * Riastradh sends off his debunkery of the performance arguments on the SRFI 86 list.

22:35:44 <Riastradh> (SRFI 86 is funny.)
22:37:00 <joshcryer> Oh, is it a new April fools SRFI?
22:37:13 <Riastradh> I don't think that was the intent, but it is a pretty good extended April fools' joke.
22:37:22 <Riastradh> Just take a look at some of the `benchmarks' Soo proposes.
22:37:46 <Riastradh> (time (for-each (lambda (x) (m list)) (make-list 100000 1)))    ; This is supposed to test the performance of M -- not FOR-EACH, not MAKE-LIST.
22:37:57 <joshcryer> (internet is crapping out on me right now which is why I asked rather than looked)
22:38:09 <foof> Riastradh: CWV in Gauche assumes the general case of a function call, and doesn't check to see if the receiver is a lambda (Gauche is still pre 1.0 and has a very simple compiler).
22:39:44 <Riastradh> foof, yeah, that's what I suspected.
22:40:07 <Riastradh> But I never let slip opportunities for disparaging remarks like that about the quality of compilers!
22:40:16 <joshcryer> Haha
22:40:30 <joshcryer> Gauche is still faster than S48, and performance is all that matters!!!
22:41:10 <Riastradh> Slower for MU.
22:41:49 <Riastradh> I surprised myself by trying to maintain politeness and levity in the last paragraph.  I narrowly avoided a stinging characterization of the previous benchmarks.
22:42:20 <joshcryer> I have no idea what is even going on, so it's okay.
22:42:31 <Riastradh> Soo posted some totally bogus benchmarks.
22:42:41 <joshcryer> Oh, Soo is a person?
22:42:42 <Riastradh> Clinger showed how to reinterpret them to lift the bogosity.
22:42:43 <joshcryer> Haha
22:42:47 <Riastradh> Well, maybe.
22:43:02 <Riastradh> I then posted some replacement benchmarks that are, of course, vastly superior and more accurate to the truth.
22:43:04 <foof> What Scheme does Soo use?
22:43:11 <joshcryer> Where did he post them? c.l.s?
22:43:13 <Riastradh> (cough cough benchmarks cough cough hiccup hiccup burp vomit)
22:43:16 <Riastradh> The SRFI 86 mailing list.
22:43:25 <Riastradh> foof, he tried Scheme48, MzScheme, Chicken, MIT Scheme, & Petite Chez.
22:43:45 <joshcryer> Oh. I see now. (Internet is working again.) Sorry. Heh
22:43:49 <Riastradh> I do not know, though, whether he ran the code interpreted or compiled in Chicken and MIT Scheme.
22:43:52 --- quit: jonphilpott (Remote closed the connection)
22:44:06 <Riastradh> Nor do I know whether he allowed integration of primitives in Scheme48.
22:44:21 <foof> No, I mean in general, his preferred implementation.
22:44:28 <Riastradh> Oh.  Scheme48, I think.
22:44:34 <Riastradh> But I'm only guessing.
22:44:41 <Riastradh> My other guess would be MzScheme.
22:45:39 <elibarzilay> 1:32 into the call.  We're done with the ceremonial search for the "Start" button, with making sure that the connected computer is rally connected, and we're done reading menu entries, and whole dialogs.  I have managed to convince the service-bot that the router is faulty.  I get the honor of replacing it.  Of course that requires creating a new record for the replacement operation, and that requires that he re-type everything again.
22:46:03 <foof> OK, who's going to post the benchmarks showing CPS to be faster than anything else?
22:46:07 <joshcryer> elibarzilay, holy crap man.
22:46:16 <Riastradh> foof, SRFI 86 *is* CPS.
22:46:19 <joshcryer> foof, who's going to write the code?
22:46:36 <joshcryer> SRFI 86 looks like it was created by a machine.
22:46:44 <elibarzilay> It took 1.5 minutes to go over the spelling of "M-a-s-s-a-c-h-u-s-e-t-t-s"
22:46:46 <Riastradh> (or rather, SRFI 86's MU)
22:46:59 <Riastradh> And I just showed that using multiple values runs faster by a factor of nearly three.
22:47:17 <Riastradh> No, a factor of about three; in one case, less, and in another, more.
22:47:37 <joshcryer> elibarzilay, I really fucking hate (sorry for the language) when they make you go through a billion steps that you've already done before calling them.
22:48:10 <foof>  MU generates an intermediate closure and uses apply.
22:49:44 <Riastradh> Nope.
22:50:09 <Riastradh> Well, it generates an intermediate closure, but it doesn't use APPLY, and the usage of CPS procedures requires intermediate closures anyway.
22:50:30 <foof> (or rather, NU uses APPLY)
22:50:36 <Riastradh> Right.  NU doesn't matter.
22:51:11 --- quit: jewel (Remote closed the connection)
22:51:17 <Riastradh> Anyway, I said I wanted to sleep tonight in the email, so I'm going off to bed.
22:51:23 <gnomon> elibarzilay, that's totally unacceptable. Have you been escalated to his/her supervisor yet?
22:51:27 <gnomon> Sleep well, Riastradh .
22:51:32 <joshcryer> 'night Riastradh
22:54:29 <joshcryer> To be fair to this Soo's guy, whatever he's doing seems to help optimize implementations that... aren't optimized.
22:55:07 * gnomon mumbles something about premature optimization
22:55:38 <vegai> premature optimization is evil => efficient code is evil
22:55:40 * vegai hides.


2. The following are all the excerpts relating SRFI-86.

2006-04-04

13:49:52 <Riastradh> Oh, NO...another `Joo ChurlSoo' SRFI...
13:50:31 <michaelw> Riastradh: do you know about thinlisp?
13:50:36 <Riastradh> No?
13:51:17 <michaelw> it seems like a Pre-CL, similar to Pre-Scheme
13:51:34 --- quit: bitmonki ("Ennui")
13:52:11 <Catfive> sarahbot, Joo ownz j00.
13:52:11 <sarahbot> Mmmm.....really?
13:52:41 <zbigniew> minion, more beat
13:52:41 <minion> beat me harder
13:53:15 <yome> Why do people bother submitting SRFIs like this?
13:53:22 <Riastradh> I don't get it, yome.
13:54:06 <yome> It's better to simply do a crappy post on c.l.s about it then polluting the SRFI process.
13:54:12 <yome> s/then/than/
13:55:15 <zbigniew> Maybe it's an April Fool.
13:55:22 <edw> URL?
13:55:30 <zbigniew> http://srfi.schemers.org/srfi-86/srfi-86.txt
13:56:00 <yome> sarahbot, SRFI-86 is "MU and NU simulating VALUES & CALL-WITH-VALUES, and their related LET-syntax" <http://srfi.schemers.org/srfi-86/>
13:56:01 <sarahbot> I'll keep that in mind.
13:56:09 <Catfive> sarahbot: yow.
13:56:10 <sarahbot> TONY RANDALL!  Is YOUR life a PATIO of FUN??
13:57:11 <edw> Maybe someone wants to pad their CV by claiming a role in shaping Scheme.
13:57:11 --- quit: yome ("bbl")
13:57:41 <zbigniew> Yeah, check out the shape of that define-syntax %alet.
13:58:25 * edw can't stop eyes from glazing over.
13:59:06 <Riastradh> How does he *write* that??
13:59:46 <zbigniew> (wow-check! 'this-out 'yo)
14:02:47 * zbigniew would have named the macros MU and MU-TWO
14:03:41 <Catfive> the author's name makes the correct name obvious
14:03:47 <Catfive> moo

14:35:51 <astecp> arg. remind me to not get curious in future when you guys are boggling at the ugliness of an srfi
14:39:04 <Riastradh> You see, there are very good reasons why we boggle at the SRFIs we boggle at.
14:39:14 <Riastradh> Joo ChurlSoo is one of those very good reasons.
14:39:35 --- quit: shachaf (Read error: 104 (Connection reset by peer))
14:39:42 <astecp> I remember reading about MU and NU a while ago .. probably on c.l.s
14:40:00 <astecp> it seemed kind of pointless to me then, but not entirely as wrong-headed
14:41:22 <astecp> oh well. I'm sure Xah will submit an srfi before long
14:41:29 <Riastradh> MU & NU have been used for a number of things.
14:42:53 <astecp> so, why does APPLY take the multi-argument form anyway?
14:43:45 --- quit: therp_zivi ("Zzz")
14:43:49 <Riastradh> Convenience.

2006-04-05

00:42:24 <Riastradh> Oh, boy, SRFI 86 will be funny.
00:42:46 <forcer> Joo ChurlSoo strikes again!
00:44:12 * forcer also yays for Abdulaziz Ghuloum.
00:44:59 <tizoc> forcer, the typed Scheme guy?
00:45:08 <foof> Marcin posted the first thing that came to my mind.
00:45:11 <yome> Maybe it was meant as an April fools joke?
00:45:16 <forcer> foof: Yeah.
00:45:35 <foof> If it were anyone but Joo ChurlSoo...
00:48:03 --- quit: sludge_factory ()
00:48:10 * forcer just re-read SRFI 51.
00:48:15 <forcer> Together with the very long discussion list.
00:48:57 <yome> What an idiot.
00:49:12 <Catfive> sarahbot: yow.
00:49:12 <sarahbot> All of life is a blur of Republicans and meat!
00:49:16 <forcer> yome: Hm?
00:49:33 <yome> forcer, Joo...
00:49:49 <forcer> yome: Why "idiot"?
00:50:00 <yome> sarahbot, dictionary idiot
00:50:02 <sarahbot> Idiot \Id"i*ot\, n. [F. idiot, L. idiota an uneducated,
00:50:03 <sarahbot> ignorant, ill-informed person, Gr. ?, also and orig., a
00:50:04 <sarahbot> private person, not holding public office, fr. ? proper,
00:50:05 <sarahbot> peculiar. See {Idiom}.]
00:50:06 <sarahbot> 1. A man in private station, as distinguished from one
00:50:07 <sarahbot> holding a public office. [Obs.]
00:50:08 <sarahbot> St. Austin affirmed that the plain places of
00:50:09 <sarahbot> Scripture are sufficient to all laics, and all
00:50:10 <sarahbot> idiots or private persons.            --Jer. Taylor.
00:50:11 <sarahbot> 2. An unlearned, ignorant, or simple person, as distinguished
00:50:12 --- mode: ChanServ set +o Riastradh
00:50:12 <sarahbot> from the educated; an ignoramus. [Obs.]
00:50:14 <sarahbot> Christ was received of idiots, of the vulgar people,
00:50:16 <sarahbot> and of the simpler sort, while he was rejected,
00:50:17 --- mode: Riastradh set +b %sarahbot!*@*
00:50:33 <tizoc> xD
00:50:37 <forcer> He has weird ideas, and I have a vastly different opinion on style as he does, but why "idiot"?
00:50:53 <tizoc> I prefer... misunderstood genius :P
00:50:55 <Riastradh> My SRFI submission was a good April fools' joke, but this is just too elaborate.
00:51:03 <Riastradh> He must be taking himself seriously!
00:51:23 <Riastradh> (...and ow, I managed to burn my hand.)
00:51:37 <foof> the Earl strikes back!
00:52:35 <forcer> Since I just decided to drop the lecture, I might just as well do the right thing and make a pot of tea.
00:53:13 <Riastradh> I apologize, and do not claim responsibility, for any absurd statements made in this conversation in my state.
00:53:32 --- mode: ChanServ set +o forcer
00:53:35 <Riastradh> Have you seen Soo's mumblage on the Scheme48 mailing list?
00:53:35 --- mode: forcer set -b %sarahbot!*@*
00:53:42 --- mode: forcer set -o forcer
00:53:52 <forcer> Riastradh: Yeah
00:54:04 <Riastradh> Apparently the fact that Scheme48 evaluated arguments in an order contrary to what he expected means that Scheme48 is buggy and has a `lambda inconsistency.'
00:54:25 <forcer> Riastradh: Have you seen the third email on the SRFI-86 list?
00:54:28 <Riastradh> The rationale in SRFI 86 is riddled with holes and poorly thought-out ideas.
00:54:29 <foof> sarahbot: dictoinary get
00:54:30 <sarahbot> How do you like the weather in Atlanta?
00:54:33 <Riastradh> Egner's?
00:54:38 <forcer> Yeah
00:54:42 <Riastradh> I have.
00:55:03 <Riastradh> I expect a diatribe of irrelevant randomness and some really, really painful code examples from Soo.
00:55:47 * foof wonders what the A stands for in ALET
00:55:51 <Riastradh> Absurd
00:55:54 <forcer> foof: For "a"
00:55:56 <forcer> This is "a let"
00:56:02 <forcer> ;-)
00:56:13 <forcer> He should have called it xilet.
00:56:18 <Riastradh> I don't think I have seen a more complex macro than %ALET since I fiddled with syntax-lib.
00:56:20 <gnomon> "*A*nyone seen my LET? I know I left it around here somewhere..."
00:56:23 <foof> xahlet?
00:56:26 <Riastradh> (which was basically SRFI 53)
00:56:55 <Riastradh> Oh, actually, I guess 57 had some pretty hairably horrible macrology too.
00:57:45 <Riastradh> (But then that contained half of syntax-lib/SRFI 53 anyway, and it was more readable than %ALET, too.)
00:57:51 <foof> Well, he included a full pattern matcher...
00:57:59 <Riastradh> Who, Soo or Tonder?

01:08:02 <yome> forcer, yeah, "idiot" is probably too harsh.  But I'm a bit pissed about irrelevant SRFIs polluting what could be a useful process.

09:36:19 <Riastradh> Wow, Soo's benchmarks demonstrating the relative efficiency of MU/NU and CWV/VALUES are so completely bogus I'm not sure whether to be amused or not.
09:38:14 <Riastradh> (And, yow, this is very, very slow.  Ten per cent packet loss for eleven hops to the machine where my IRC client is.)

2006-04-06

19:37:03 * Riastradh writes up a mail to the SRFI 86 list completely discrediting JCS's `benchmarks.'
19:37:07 <Riastradh> (even moreso than Clinger)
19:37:10 <astecp> minion: more sarahbot
19:37:11 <minion> sarahbot me harder
19:37:36 * astecp finds JCS's thinking on that list impenetrable

20:23:50 <Riastradh> T is a wee bit faster than Scheme48.
20:24:38 <Riastradh> What ten times takes ten seconds in T, takes one hundred fifty seconds in Scheme48 0.57.
20:24:46 <Riastradh> (on a 333 MHz UltraSPARC)
20:25:53 <levi> Nice.
20:26:12 <Riastradh> ...only one time in Scheme48, I forgot to add.
20:26:27 <levi> So, you just need to get it ported now. :)
20:26:53 --- join: somegeek (i=levin@unaffiliated/somegeek) joined #scheme
20:27:41 --- join: lilo (i=levin@freenode/staff/pdpc.levin) joined #scheme
20:29:14 <joshcryer> Or use Gauche...
20:29:22 <Riastradh> ?
20:29:29 --- quit: sarahbot (Read error: 104 (Connection reset by peer))
20:34:08 <levi> Riastradh: Obviously, you'll get no respect for T unless you benchmark it against Gauche, Gambit, Chicken, etc... ;)
20:34:21 <Riastradh> I'm going to run Gambit, too.
20:34:28 <Riastradh> Chicken doesn't count because it doesn't optimize CWV at all.
20:34:44 <Riastradh> I'm hoping Gambit does, but I'm too lazy to delve into Feeley's awful code to find out.
20:34:57 --- quit: Khisanth ("Leaving")
20:35:10 --- join: Khisanth (n=Khisanth@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
20:35:22 <Riastradh> Oops.
20:35:25 <Riastradh> Nope, Gambit doesn't, argh.
20:35:47 <Riastradh> Hmmmm.
20:35:53 * Riastradh pokes about for another Scheme that does.
20:35:59 <levi> CWV?
20:36:05 <Riastradh> (Gauche has a primitive compiler in which RECEIVE performs differently from CWV.  Bletch.)
20:36:09 <Riastradh> CALL-WITH-VALUES
20:36:56 <Riastradh> Ah, RScheme does.
20:37:03 <Riastradh> ...uh...now how do I run RScheme's compiler?
20:38:16 --- quit: somegeek_ (Connection timed out)
20:39:09 <Riastradh> Anyone happen to have a machine with Chez on it which I could use briefly?  (Full Chez, not Petite.)
20:41:55 --- join: yome (n=ber@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
20:42:03 <yome> minion, chant!
20:42:03 <minion> MORE THAN
20:42:17 --- quit: arcus (Read error: 104 (Connection reset by peer))
20:42:31 --- quit: easy4 (Remote closed the connection)
20:43:51 --- join: easy4 (n=ez4@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
20:47:41 <Riastradh> foof: ping
20:48:58 <foof> pong
20:49:20 <Riastradh> foof, does Gauche implement multiple return values in any better way than just wrapping them in a list with a special tag?
20:49:47 <foof> yes, it puts them directly on the stack
20:49:51 <Riastradh> OK, good.
20:50:30 <Riastradh> There are remarkably few Scheme systems that have effective implementations of it, I am sorry to say.  The only ones I can find are T, Scheme48, Chez, and Gauche.
20:53:01 <Riastradh> ...oh, and RScheme.
20:53:18 * Riastradh builds Gauche on that machine.
20:54:23 <Riastradh> Pfhoo.  rscheme.org is down.
20:55:37 <Riastradh> (Gambit, Chicken, MIT Scheme, Larceny, SXM (don't ask), Chez, and MzScheme have stupid representations of multiple values.)
20:57:27 <foof> and Stalin has none
20:59:14 --- quit: drewr (Connection timed out)
20:59:51 * yome asks.
20:59:57 <Riastradh> ?
21:00:05 <yome> SXM?
21:00:25 <jonphilpott> i saw ex-president gorbachov(sp?) today
21:00:35 <jonphilpott> (Stalin reminded me of the event)
21:00:37 <Riastradh> Some totally random Scheme implementation written by some totally random Schemer which has absolutely no qualities to recommend itself and which I happen to have installed on this machine.
21:00:59 <Riastradh> jonphilpott, don't worry about the Latinized spelling; it's properly spelt with Cyrillic anyway.
21:01:15 <jonphilpott> ah
21:01:18 <yome> Ð��ор��±��°��‡��‘��²
21:01:23 <jonphilpott> i was dropping my dad off at LAX, and he was there
21:01:52 --- nick: gowlin -> cowkiller
21:02:07 <Riastradh> Uh, wow, that crashed and burned.
21:02:40 <yome> http://www.malgil.com/sxm/
21:03:05 <Riastradh> foof:
21:03:10 <Riastradh> [rias@sol Gauche-0.8.6]% ./src/gosh
21:03:10 <Riastradh> ld.so.1: ./src/gosh: fatal: /usr/local/lib/libgcc_s.so.1: wrong ELF class: ELFCLASS32
21:03:13 <Riastradh> zsh: killed     ./src/gosh
21:03:23 <yome> "supports all features of the R5RS Report on Scheme" <-- Does it have TRANSCRIPT-ON and TRANSCRIPT-OFF ?
21:04:00 <Riastradh> In fact, it does.
21:04:06 <yome> Nice.
21:04:47 <foof> hmmm
21:05:00 <Riastradh> It, T, and MIT Scheme are the only ones I know of that support it.
21:05:01 <yome> btw, ~4 SRFIs should hit srfi.schemers.org soon, written by Feeley.
21:05:11 --- nick: cowkiller -> gowlin
21:05:11 <foof> ooh, cyrillic
21:05:31 --- quit: Khisanth ("Leaving")
21:05:46 --- join: Khisanth (n=Khisanth@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
21:06:15 <foof> Riastradh: 64-bit machine?
21:06:16 <joshcryer> yome, what implementation is that?
21:06:24 <Riastradh> foof, yeah.
21:06:41 <foof> OK, I've built Gauche on sparcs, but not ultra-sparcs
21:06:45 <yome> joshcryer, the one Riastradh mentioned.
21:07:06 <joshcryer> SXM?
21:07:08 <foof> It works on other 64-bit platforms though, so shouldn't be hard to get compiled.
21:07:12 <Riastradh> foof, any SPARC-9 is 64-bit.
21:07:24 <joshcryer> n/m, went to the site and got a confirmation. :)
21:08:46 <joshcryer> What do you mean by stupid representations of multiple values Riastradh?
21:08:48 <Riastradh> Anyone here know how to use RScheme?
21:09:01 --- join: sarahbot (n=siscbot@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
21:09:03 <Riastradh> joshcryer, (define (values . vs) (cons values-tag vs))
21:09:09 <Riastradh> (define (call-with-values producer consumer)
21:09:14 <Riastradh>   (let ((v (producer)))
21:09:22 <Riastradh>     (if (and (pair? v) (eq? (car v) values-tag))
21:09:26 <Riastradh>         (apply consumer (cdr v))
21:09:30 <Riastradh>         (consumer v))))
21:09:32 --- quit: easy4 (Remote closed the connection)
21:09:34 * joshcryer head begins to swell up
21:09:56 <yome> Riastradh, bah, I simply use SRFI-86.
21:09:58 <foof> Riastradh: I'm using a Sun Blade 100, 32-bit
21:10:07 --- part: decaf left #scheme
21:10:09 <joshcryer> Riastradh, so those implemenations would give an incorrect result?
21:10:14 <Riastradh> joshcryer, no.
21:10:19 <jonphilpott> i wanted to get a picture with him, but i feared if the feds saw it, i'd never get my residency
21:10:19 <Riastradh> That's a correct implementation of multiple return values.
21:10:43 <Riastradh> jonphilpott, hey, he's more popular in the West than in the Soviet Union!
21:10:50 <jonphilpott> hehe
21:11:01 <jonphilpott> maybe he could have sponsored me
21:11:37 <jonphilpott> reminds me of the begining of naked gun, when he says "I have the Americans thinking I'm a nice guy"
21:11:53 --- quit: lilo (Nick collision from services.)
21:11:54 <Riastradh> ...heh, I was just about to mention that.
21:12:09 <gnomon> .
21:12:11 <joshcryer> jonphilpott, I think you totally dated yourself.
21:12:51 --- join: lilo (i=levin@freenode/staff/pdpc.levin) joined #scheme
21:12:55 <jonphilpott> i haven't seen that movie in a long time
21:12:58 <joshcryer> Oh wait, hahaha, I thought you saw freaking STALIN at LAX.
21:13:02 <joshcryer> What is wrong with me. God.
21:13:04 <jonphilpott> haha
21:13:09 <jonphilpott> that would have been neat
21:13:58 <joshcryer> That's what happens when I try to understand Riastradh's code (which btw, he probably typed in IRC in real time).
21:14:33 <Riastradh> I did.
21:14:38 <joshcryer> Freak~!
21:15:18 --- join: somegeek_ (i=levin@unaffiliated/somegeek) joined #scheme
21:16:26 <joshcryer> (that was a joke, for the record, I mean nothing but good intentions to the geniuses that inhabit this channel)
21:16:52 * Riastradh builds Gauche and RScheme with -m32 for the sake of expedience.
21:17:07 <Riastradh> (In fairness, T and Scheme48 are running as 32-bit programs too.)

22:33:36 * Riastradh sends off his debunkery of the performance arguments on the SRFI 86 list.

22:35:44 <Riastradh> (SRFI 86 is funny.)
22:37:00 <joshcryer> Oh, is it a new April fools SRFI?
22:37:13 <Riastradh> I don't think that was the intent, but it is a pretty good extended April fools' joke.
22:37:22 <Riastradh> Just take a look at some of the `benchmarks' Soo proposes.
22:37:46 <Riastradh> (time (for-each (lambda (x) (m list)) (make-list 100000 1)))    ; This is supposed to test the performance of M -- not FOR-EACH, not MAKE-LIST.
22:37:57 <joshcryer> (internet is crapping out on me right now which is why I asked rather than looked)
22:38:09 <foof> Riastradh: CWV in Gauche assumes the general case of a function call, and doesn't check to see if the receiver is a lambda (Gauche is still pre 1.0 and has a very simple compiler).
22:39:44 <Riastradh> foof, yeah, that's what I suspected.
22:40:07 <Riastradh> But I never let slip opportunities for disparaging remarks like that about the quality of compilers!
22:40:16 <joshcryer> Haha
22:40:30 <joshcryer> Gauche is still faster than S48, and performance is all that matters!!!
22:41:10 <Riastradh> Slower for MU.
22:41:49 <Riastradh> I surprised myself by trying to maintain politeness and levity in the last paragraph.  I narrowly avoided a stinging characterization of the previous benchmarks.
22:42:20 <joshcryer> I have no idea what is even going on, so it's okay.
22:42:31 <Riastradh> Soo posted some totally bogus benchmarks.
22:42:41 <joshcryer> Oh, Soo is a person?
22:42:42 <Riastradh> Clinger showed how to reinterpret them to lift the bogosity.
22:42:43 <joshcryer> Haha
22:42:47 <Riastradh> Well, maybe.
22:43:02 <Riastradh> I then posted some replacement benchmarks that are, of course, vastly superior and more accurate to the truth.
22:43:04 <foof> What Scheme does Soo use?
22:43:11 <joshcryer> Where did he post them? c.l.s?
22:43:13 <Riastradh> (cough cough benchmarks cough cough hiccup hiccup burp vomit)
22:43:16 <Riastradh> The SRFI 86 mailing list.
22:43:25 <Riastradh> foof, he tried Scheme48, MzScheme, Chicken, MIT Scheme, & Petite Chez.
22:43:45 <joshcryer> Oh. I see now. (Internet is working again.) Sorry. Heh
22:43:49 <Riastradh> I do not know, though, whether he ran the code interpreted or compiled in Chicken and MIT Scheme.
22:43:52 --- quit: jonphilpott (Remote closed the connection)
22:44:06 <Riastradh> Nor do I know whether he allowed integration of primitives in Scheme48.
22:44:21 <foof> No, I mean in general, his preferred implementation.
22:44:28 <Riastradh> Oh.  Scheme48, I think.
22:44:34 <Riastradh> But I'm only guessing.
22:44:41 <Riastradh> My other guess would be MzScheme.
22:45:39 <elibarzilay> 1:32 into the call.  We're done with the ceremonial search for the "Start" button, with making sure that the connected computer is rally connected, and we're done reading menu entries, and whole dialogs.  I have managed to convince the service-bot that the router is faulty.  I get the honor of replacing it.  Of course that requires creating a new record for the replacement operation, and that requires that he re-type everything again.
22:46:03 <foof> OK, who's going to post the benchmarks showing CPS to be faster than anything else?
22:46:07 <joshcryer> elibarzilay, holy crap man.
22:46:16 <Riastradh> foof, SRFI 86 *is* CPS.
22:46:19 <joshcryer> foof, who's going to write the code?
22:46:36 <joshcryer> SRFI 86 looks like it was created by a machine.
22:46:44 <elibarzilay> It took 1.5 minutes to go over the spelling of "M-a-s-s-a-c-h-u-s-e-t-t-s"
22:46:46 <Riastradh> (or rather, SRFI 86's MU)
22:46:59 <Riastradh> And I just showed that using multiple values runs faster by a factor of nearly three.
22:47:17 <Riastradh> No, a factor of about three; in one case, less, and in another, more.
22:47:37 <joshcryer> elibarzilay, I really fucking hate (sorry for the language) when they make you go through a billion steps that you've already done before calling them.
22:48:10 <foof>  MU generates an intermediate closure and uses apply.
22:49:44 <Riastradh> Nope.
22:50:09 <Riastradh> Well, it generates an intermediate closure, but it doesn't use APPLY, and the usage of CPS procedures requires intermediate closures anyway.
22:50:30 <foof> (or rather, NU uses APPLY)
22:50:36 <Riastradh> Right.  NU doesn't matter.
22:51:11 --- quit: jewel (Remote closed the connection)
22:51:17 <Riastradh> Anyway, I said I wanted to sleep tonight in the email, so I'm going off to bed.
22:51:23 <gnomon> elibarzilay, that's totally unacceptable. Have you been escalated to his/her supervisor yet?
22:51:27 <gnomon> Sleep well, Riastradh .
22:51:32 <joshcryer> 'night Riastradh
22:54:29 <joshcryer> To be fair to this Soo's guy, whatever he's doing seems to help optimize implementations that... aren't optimized.
22:55:07 * gnomon mumbles something about premature optimization
22:55:38 <vegai> premature optimization is evil => efficient code is evil
22:55:40 * vegai hides.

2006-04-07

14:39:44 <forcer> What exactly didn't Mr. Soo get about Riastradh's (paraphrased) "all benchmarks lie"?
14:40:22 --- quit: gonz ("Acumulando stress 24/7")
14:42:15 <Riastradh> I haven't the foggiest idea.
14:44:55 <acon> Why bother with srfi-86? For entertainment?
14:45:47 <Riastradh> At the moment, yes, it is very entertaining.
14:47:09 <acon> I haven't actually read the srfi. The shape of it was to scary for my fragile little mind.
14:47:38 <forcer> I actually do think that MU and NU are useful idioms. I just don't think that they're useful idioms for multiple values.
14:48:49 <forcer> I also think the names suck big time.
14:48:51 <forcer> ;-)
14:49:52 <yome> Riastradh, not available :(
14:51:25 <yome> "As I don't think that the <some unspecified order> of LET means a pure random order that is neither sequential from left to right nor sequential from right to left, I wonder what the rationale for <unspecified order> evaluation of LET is."
14:51:26 <Riastradh> Hm?

14:54:13 <r2q2> forcer: They are also implemented in another srfi as cut.
14:54:56 --- quit: bpt (Read error: 104 (Connection reset by peer))
14:54:56 <yome> r2q2, what's "They" ?
14:55:03 <r2q2> forcer: And cut apply.
14:55:08 <r2q2> yome: mu and nu.
14:55:21 <forcer> r2q2: I have read mmmdonuts's posting as well, yes.
14:55:50 <forcer> r2q2: In the same way, you can argue that CUT is already implemented as LAMBDA.
14:56:10 <r2q2> Heh.
14:56:19 <yome> forcer, it's jensa's post.
14:56:26 <forcer> yome: Really?
14:56:27 <forcer> Oops.

2006-04-08

06:27:19 <Riastradh> Wow, Soo is totally missing the point.

06:47:09 <Riastradh> CAR is sometimes faster than CDR!
06:47:25 <Riastradh> (depending on circumstances and/or your Scheme implementation)
06:48:15 <forcer> :-)
06:49:56 <Riastradh> I hope he gets the point this time.
06:50:11 <forcer> Hehe
06:50:15 <Riastradh> (not that I *expect* him to)
06:52:35 --- quit: easy4 ()
06:54:56 --- quit: HET2 ("This computer has gone to sleep")
07:07:28 <gnomon> Riastradh, I've often heard you complain about Soo's nonsense, but I haven't really known why until I read over the SRFI-86 commentary.
07:08:48 <forcer> His formatting SRFI had been there for a long time.
07:09:13 <Riastradh> And his `handling rest list' SRFI.
07:09:36 <Riastradh> There is a certain magnificence to his SRFIs.
07:09:39 <gnomon> Which were those?
07:09:42 <gnomon> Wait, never mind.
07:09:58 <gnomon> I'll look 'em up myself. No sense troubling you[p].
07:11:17 <forcer> SRFI 54 :-)
07:16:47 <Riastradh> It's a similar sort of magnificence to that which pervades the world of SYNTAX-CASE.
07:17:35 <bitwize> you mean the magnificence of excessive unnecessary cruft?

07:59:14 * Riastradh explodes violently.
07:59:27 <Riastradh> Soo + Schlie <-> matter + antimatter
08:00:29 <bitwize> kuh!!!!
08:00:30 <Riastradh> WHY?
08:00:39 <bitwize> I don't know! *sobs*
08:01:09 <r2q2> This? http://srfi.schemers.org/srfi-86/mail-archive/msg00027.html
08:01:52 <bitwize> *head explodes*!!!
08:02:44 --- join: HET2 (n=diman@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
08:03:15 <forcer> WAHHHHHHHHHH!
08:03:25 <forcer> I _HOPE_ that guy is joking to make fun of the SRFI!
08:03:52 <arcus> Schlie is always nigh-incomprehensible
08:04:09 <Riastradh> There is one reassuring thought.
08:04:23 <Riastradh> No implementor in his right mind would listen to these madmen.
08:04:47 <arcus> that doesn't _exactly_ say that no implementor _will_ listen to these madmen...
08:06:41 <Riastradh> (But no, forcer, I am pretty sure that Schlie does not joke about these matters.)
08:08:13 --- part: positrone left #scheme
08:11:39 <z0d> possibly a late april's fool
08:12:39 <Riastradh> No, it's not.
08:16:14 * arcus hates to think what it might be like in Schlie's head. 

2006-04-09

07:11:18 * Riastradh boggles at Soo's latest response.
07:11:41 <astecp> you weren't already boggled?
07:11:52 <Riastradh> It's a slope of increasing bogglement.
07:12:00 <Riastradh> Actually, it may be a curve.
07:12:31 <foof> Exponential?
07:13:21 --- join: vimalk (n=vimal@xxxxxxxxxxxxxx) joined #scheme
07:13:26 <Riastradh> Soo certainly is an amazing fellow in this regard.
07:14:59 * astecp starts to wonder if there's a school somewhere giving extra credit on an introductory scheme class for submitting an srfi
07:18:32 <Riastradh> Just to be sure, may I ask whether I seem to be making sense in my emails?
07:27:04 <foof> You seem to be saying that if one is to discuss the theoretical performance of MV, it only really makes sense to consider systems that have actually implemented it efficiently.  I have no idea what Soo is trying to say.
07:28:03 <petekaz> What mailing list is this?
07:28:21 <Riastradh> The SRFI 86 mailing list.
07:28:31 <petekaz> Thanks.
07:28:37 <Riastradh> foof, well, my overarching point is that performance is not worthwhile to discuss in the rationale.
07:28:51 --- join: serhei (n=user@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
07:29:14 <foof> Oh, I wasn't getting that... and I would have to disagree :)
07:29:36 <Riastradh> foof, or rather, it's not worthwhile for *Soo* to discuss.
07:30:49 <Riastradh> If this were a reasonable discussion, I should certainly argue that CWV is more potentially performant than MU, because it need not hit the GC; the lambdas that are its operands need only dynamic-extent closures, not arbitrary-extent closures.
07:33:36 --- quit: mifunez ("Disconnected by the government")
07:34:17 <Riastradh> Even ignoring the performance of Scheme, this is particularly important in, say, Pre-Scheme, where arbitrary-extent closures *cannot* exist.
07:34:29 <Riastradh> (or a hypothetical extension to C for multiple return values)
07:34:55 <foof> Scheme should not in any way be constrained by what is possible or convenient in Pre-Scheme.
07:35:05 <Riastradh> I didn't say that.
07:35:22 <foof> ... or other underlying implementation.
07:36:16 <Riastradh> My words are extremely precise; I apologize if I seemed to indicate a relation between those two messages beyond a common theme of multiple return values.
07:40:11 --- quit: sad0ur ("leaving")
07:40:26 --- join: sad0ur (i=sad0ur@xxxxxxxxxxxxxxxxxxxxx) joined #scheme
07:42:37 --- quit: vimalk (Read error: 110 (Connection timed out))
08:03:24 <foof> Actually, apart from the names and the hideous syntax of ALET, I kind of like the general idea of SRFI-86.
08:03:40 <Riastradh> You mean, you like MU & NU?
08:04:19 <foof> Yes (though not the names).
08:04:47 <Riastradh> I agree that the idiom can be useful, although I'm not sure why we need a SRFI for (LAMBDA (F) (F x y z)).
08:04:50 --- join: sludge_factory (n=sjr@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
08:05:45 <foof> We don't.  We need the SRFI for the ALET syntax, but not as it is.
08:12:22 <foof> Hmmm... direct CPS is slightly faster in Chicken though.
08:12:46 <Riastradh> I explained part of why that is the case on the SRFI 86 mailing list.
08:13:02 <foof> Why direct CPS is faster than MU?
08:13:19 <Riastradh> ...sorry, no, why MU is faster than multiple values.
08:13:28 <Riastradh> What exactly do you mean by `direct CPS?'
08:13:45 --- quit: Bobstopper (Read error: 113 (No route to host))
08:13:50 <Riastradh> (lambda (x y z k) ... (k ...) ...) instead of (lambda (x y z) ... (lambda (k) (k ...)) ...)?
08:14:13 <foof> Take a standard MV producer (one that calls VALUES).  Add VALUES as the first (or last) parameter.
08:14:34 <Riastradh> Sorry?
08:15:32 <foof> (define (mv-quotient&remainder n d) (values (quotient n d) (remainder n d)))
08:15:41 <foof> (define (cps-quotient&remainder values n d) (values (quotient n d) (remainder n d)))
08:15:52 <foof> Note the body stays entirely the same.
08:15:52 <Riastradh> OK.
08:16:14 <Riastradh> The reason that runs faster than MU is probably just that it involves one fewer closure allocation than the equivalent MU code would.
08:16:33 <foof> ... but extra parameter passing (it's slower in Gauche).
08:17:04 <Riastradh> I can't imagine that tacking on one more parameter would significantly hurt performance of this.
08:17:16 <Riastradh> (and Gauche is a slow interpreter anyway, so what does that matter!)
08:17:17 * Riastradh ducks.
08:17:49 <foof> Well, as interpreters go Gauche is pretty fast.  On the other hand, benchmarking interpreters is fairly meaningless.
08:18:13 --- join: Nshag (i=user@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
08:19:04 <foof> Oh, nevermind, bug in my benchmark.  Gauche does the CPS faster.
08:19:53 * foof debates adding this to the benchmark hall of horrors on the SRFI-86 list.
08:20:16 <Riastradh> I'd be surprised if Gauche did MU faster, since it involves more closure allocation, and allocation in Gauche is very expensive compared to systems with stop & copy GCs like Chicken.
08:20:41 <Riastradh> (unless Gauche moved away from a non-moving, conservative GC since the last time I looked)
08:21:05 <foof> Nope, Boehm.
08:21:21 <foof> ... and likely to remain so as Gauche emphasizes C friendliness.
08:21:22 <Riastradh> Right, that's what I remembered.
08:22:01 * isomer` wonders why people don't build semi-space collectors, or even generational copying collectors
08:22:08 <Riastradh> C-friendliness bugs me.  C ought to be friendly to Lisp, not vice versa!
08:22:11 <Riastradh> isomer, huh?
08:22:30 <isomer`> incremental copying gc, not stop&copy
08:23:09 <Riastradh> Generational GCs can still be, and usually are, based on stop & copy...
08:23:47 <isomer`> well, most smalltalks have very small pause times -- tens of ms typically
08:23:49 * foof can't decide what GC to use
08:23:52 <isomer`> or less
08:24:22 <Riastradh> foof, Perry Cheng's incremental, concurrent, & parallel GC!
08:24:34 * foof googles

2006-04-12

15:01:14 <elibarzilay> Riastradh: yes, they do have the same number of cons cells -- and I'm always amused at how this comes as a revelation in these arguments.
15:01:38 <elibarzilay> Soon enough you'll get someone to write some micro benchmark and claim that one is faster to deal with than the other.
15:02:10 <elibarzilay> And if you talk about parentheses-don't-matter you'll get the obvious "But I see dots!" guy jumping up and down.
15:02:21 <Riastradh> Oh, we already wasted lots of time doing that for SRFI 87 or whatever Joo ChurlSoo's latest absurdity is.
15:02:32 <elibarzilay> It's such a chewed up thing.
15:03:24 <elibarzilay> A joo?
15:03:28 --- join: mejja (n=chatzill@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) joined #scheme
15:03:38 <mejja> sarahbot: srfi-90?
15:03:39 <sarahbot> Oh, you are a poet.
15:05:27 <mejja> Received: 2006/04/01 ... :-)
15:07:10 <mejja> minion: chant
15:07:10 <minion> MORE TANGENTIAL
15:07:42 <forcer> Hm. My short hope that it was all an elaborate April Fool Joke was wasted, wasn't it.
15:08:55 <astecp> mine, too
-- 
Joo ChurlSoo