[r6rs-discuss] One vote

From: Aubrey Jaffer <agj>
Date: Wed, 15 Aug 2007 13:32:28 -0400 (EDT)

 | Date: Mon, 13 Aug 2007 23:04:16 -0400
 | From: John Cowan <cowan at ccil.org>
 |
 | Aubrey Jaffer scripsit:
 |
 | > I have 70,000 lines of mathematical, scientific, engineering,
 | > database, and scripting software written in (R4RS) Scheme showing
 | > that this small number of rules is "flexible enough to support
 | > most of the major programming paradigms in use today."
 |
 | Lapack, which is just a small part of Netlib, is more than ten
 | times as large as SLIB, demonstrating even more conclusively that
 | an even smaller number of Fortran 66 constructs suffice.

Are most major programming paradigms supported by Lapack? Where are
the object-oriented libraries? Database programming? Functional
programming? SAX? DOM?

 | > The significance of this achievement by R4RS is not widely
 | > appreciated. Procedure are sufficient to create nearly any new
 | > features. Even new control features do not require new syntax.
 |
 | No syntax other than (DEFINE foo ...), LAMBDA, SET!, IF, and QUOTE
 | is actually *required* at all. Why not confine yourself to those?

I agree with R4RS' claims that its rules are "flexible enough to
support most of the major programming paradigms in use today." If you
want to assert that about some smaller set of rules, that's your
right.

 | > The effect of adding macros to Scheme has been the proliferation of
 | > mutually incomprehensible language dialects.
 |
 | The effect of underspecifying Scheme has been the proliferation of
 | mutually *incompatible* language dialects. This is just as true of
 | RRRS, R3RS, and R5RS as of R4RS.

SLIB provides a uniform presentation (other than numerics) on all the
R4RS-compliant implementations. With SLIB, it is not difficult to use
these Scheme dialects in a compatible fashion.

 | In addition, it is no accident that every Scheme implementation
 | beginning with Steele's has provided macros.

User-defined new language constructs are not necessarily the
motivation for implementing macros. Macros can be useful internally
to an implementation and for implementing session debugging tools like
TRACE and BREAK.
Received on Wed Aug 15 2007 - 13:32:28 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC