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

Re: Another alternative (Re: format strings are the Right Thing)

On Tue, Dec 30, 2003 at 08:48:43PM -0500, Taylor Campbell wrote:

> No.  It's against _badly_designed_ mini-languages, and _especially_
> those encoded in the totally wrong data structure: strings (which we
> still aren't particularly solid on the definition & usage of, with
> regard to character sets, Unicode, multi-byte stuff, et cetera).

The fact that Scheme doesn't have these things doesn't prohibit us
from writing useful SRFI's using strings, just as the fact that we
don't have a module system doesn't prohibit us from writing SRFI's at

> Marc Feeley had another point, too: that separating the directive
> and the argument to that directive is a bad idea.  You state that
> separating them is separating data from logic, but it is not: the
> data is the _combination_ of directive and input; the logic is what
> uses that data to produce the final output.

It's separating the template from the variables.  It's basically
writing a function of the variables using a template rather than
arbitrary Scheme code (as Tom Lord pointed out, everything indeed is a
function).  Why is this a bad idea?  If there are too many parameters
then it will look ugly, just as any Scheme function of too many
parameters is ugly.

> What do you mean by 'using arbitrary lists?'  I don't believe you've
> described this alternative in great detail, or if you have, my
> scouring of the archive has proven fruitless.

I made at least two references to Emacs mode-line format strings,
which don't have to be strings at all, and can be artbitarily nested
lists.  I'm trying to keep an open mind to all possibilities of
formatting here.  The author wants a minimal, CL compatible format for
this SRFI so within those contexts I was also providing feedback and
improvements, but since people want to discuss functional alternatives
on this list as well it seems as good a place as any to suggest other
template alternatives.  We can use the discussion here to help build
future SRFI's.

Translation between strings and lists is trivial, and is really a
minor point.  Given one you can create the other, so it's not worth
arguing heatedly.

Do you have specific arguments against the template-style of