guile-devel
[Top][All Lists]
Advanced

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

Re: RFC: major change to argument processing.


From: Rob Browning
Subject: Re: RFC: major change to argument processing.
Date: 02 Jun 2001 12:34:41 -0500
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

Marius Vollmer <address@hidden> writes:

> I think I also treat eofs everywhere, no?

I thought I hadn't seen any handling in the whitespace code, for
example...

> Instead of reversing, you recurse.  I'd say that this is actually
> worse than reversing... ;>

So what's the problem with recursion?  I got fairly heavy
indoctrination into the "always use recursion and expect the
implementation to optimize for that case" (stream-style) school of
scheme programming starting out, but is that a bad idea with guile?

Hmm.  Come to think of it, I really don't have a good idea of which
things guile is better/worse at performance wise.  Actually, it might
be nice to have a documentation section detailing any of guile's
performance related implementation issues (if we know of any).

> Whichever you like better.  I don't think there is any difference
> between the two, except that you rely on left-to-right evaluation when
> recursing (which you shouldn't do) and that

Ouch.  Thanks for pointing that out.  I hadn't even thought about it
(obviously).  Unless I fix that nastiness, your code should be
preferred.

> you return an empty string at eof, which might be better flagged by
> the the-eof-object.  I use `eq?' to compare characters, but I should
> really be using `char=?'.

Ahh.  I didn't realize the-eof-object existed.

> The original code in script.c also does backslash expansion, as I
> noticed now.  That is, "\n" is replaced by linefeed, etc.  The shell
> doesn't do this, and we shouldn't either, I think.

Right.  It also does octal escaping.

-- 
Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930



reply via email to

[Prev in Thread] Current Thread [Next in Thread]