Email list hosting service & mailing list manager

a preface soo (23 Mar 2004 16:18 UTC)
Re: a preface David Van Horn (24 Mar 2004 07:38 UTC)
Re: a preface soo (24 Mar 2004 12:19 UTC)
Re: a preface David Van Horn (24 Mar 2004 19:38 UTC)
Re: a preface soo (25 Mar 2004 12:32 UTC)
Re: a preface Francisco Solsona (24 Mar 2004 16:45 UTC)

Re: a preface David Van Horn 24 Mar 2004 07:38 UTC

soo wrote:
> Title
>
> Formatting

Although succinct, this is completely nondescript, as is the identifier fmt.

> Abstract
>
> This SRFI introduces the FMT procedure that converts any object to a string.
> Unlike the procedure called FORMAT, this FMT procedure takes one object as the
> first argument and accepts several optional arguments.

This abstract doesn't outline the need for, and design of, the proposal as
required by the SRFI Process Document.

> Rationale
>
> The FMT procedure provides a handy optional and functional interface.

This rationale is less than detailed.

> Specification
>
> (FMT <number> [[<width>] [<depth>] [<char>] [<radix>] [<plus>] [<exactness>]
> 	       [<space>] [<string>] ...])
> (FMT <others> [[<width>] [<count>] [<char>] [<show>] [<case>] [<space>]
> 	       [<string>] ...])

The SRFI document must contain a detailed specification.  This should be
detailed enough that a conforming implementation could be completely created
from this description.  I don't think that is true of the current specification.

Regardless, allowing arbitrary order and arbitrary omission of arguments seems
an especially fragile way to specify a procedure.  This is why you have to
stipulate things like: "<depth> or <count> can be defined only after <width> is
defined."  If we add more parameters to fmt this problem will blow up, quick.

Why does fmt have two very distinct behaviors?  Why not have two distinct
procedures?

Why have a <show> parameter when you can just apply that function to fmt's
result?  And further, why are you allowed to pass in only display or write?

Why have <string> parameters when you have string-append?

David