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

R^5RS Proposal(s)



   Date: Wed, 20 May 92 11:41:42 PDT
   From: kend@data.rain.com (Ken Dickey)

   META-PROPOSAL

   I would like to propose a Trial Use Standard mechanism.  The basic
   idea is put up a target proposal, allow discussion, come up with a
   concrete proposal in a standard format which is then put in the Scheme
   Repository and published.  If "the idea catches on" then it gets a
   place in a R^nRS appendix, otherwise it falls into disuse or gets
   flushed for something better.

   By "published" I mean via rrrs-authors, comp.lang.scheme, and--if
   noteworthy--in Lisp Pointers.  By "idea catches on" I mean implemented
   in and used in some of the more `heavy duty' (i.e. compiled)
   environments and found to be useful by rrrs-authors.

There is a method for adding language features which ARE expressible
in standard scheme: SLIB.  I enforce some conformity for
documentation.  People can actually use a feature and gain experience
with it rather than just thinking about a proposal.  If people want to
make SLIB more official it would take a pressure off RnRS for
inclusion of features which are expressible in standard scheme.
Perhaps we could even remove procedures from RnRS which are
expressible in a subset (for instance substring, string-fill!, append,
reverse, list-tail, ...).

With Macros (which are supported by SLIB) even more new language
features can be accomodated.  Reductionism in this vein could leave
RnRS little more than a macro language.  I would resist this unless
R4RS macros can be made fast enough to be practical on my 10Mhz 68000.

   THE QUESTION

   I currently see R^5RS split into Core Language and Appendix sections.
   Should there additionally be a Trial Use Appendix or should this be a
   separate process?

   What thinkist thou?

I would like to see derivable programming utilities (like sort,
logior, random, and format) standardized in some section or appendix
of the report.  Differences between implementations in these functions
serve no one; they are not areas of research.  As the inclusion of
these capabilities into ANSI C shows, they are now part of current
programming vocabulary.