This page is part of the web mail archives of SRFI 40 from before July 7th, 2015. The new archives for SRFI 40 contain all messages, not just those from before July 7th, 2015.
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