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

Re: some suggestions



On Wednesday, February 12, 2003 10:17 AM, Richard Kelsey [SMTP:kelsey@xxxxxxx] wrote:
>    Everyone who has seen a preliminary draft of this SRFI had the same
>    comment that it should be split into "essential" and "library" pieces,
>    but all had different ideas of where to make the split.
> 
> I don't care too much about where the split happens as long as the
> core part isn't too big.  A dozen or so procedures and macros should
> be enough to be useful while not being overwhelming.

Certainly NULL, CONS, CAR, CDR, NULL?, PAIR? and LAMBDA must be
in the core, since they all necessarily touch the underlying representation of
streams.  You probably want STREAM to build finite streams and ITERATE
to build infinite streams, and REF to access items other than the first.
MAP, FOR-EACH, FILTER and FOLD-LEFT are useful in their own right and
also as building blocks for numerous other functions.  That's fourteen.  Does
that make a useful core?
>
>    And what would you do with CADADR?
> 
> I would drop it and all its friends.  The C[AD]+R's beyond CAR and CDR are
> used more with general S-expressions than with proper lists.

You make a good point that the compositions of CAR and CDR are useful
with S-expressions but not with lists.  They are probably even less useful
than that with regard to streams, and I am amenable to dropping them from
the SRFI, unless someone objects.

Phil