On 8/13/07, Aubrey Jaffer <[EMAIL PROTECTED]> wrote: > In the R5.97RS introduction: > > Scheme demonstrates that a very small number of rules for forming > expressions, with no restrictions on how they are composed, suffice > to form a practical and efficient programming language that is > flexible enough to support most of the major programming paradigms > in use today. > > This was true of R3RS and R4RS, but not for R5RS and R5.97RS. In R3RS > and R4RS there were a small number of rules for forming expressions: > > DEFINE, QUOTE, LAMBDA, IF, SET!, BEGIN, COND, AND, OR, CASE, LET, > LET*, LETREC, DO, DELAY, QUASIQUOTE, and combinations.
Why doesn't it suffice to define a library that exports only DEFINE, QUOTE, LAMBDA, IF, SET!, BEGIN, COND, AND, OR, CASE, LET, LET*, LETREC, DO, DELAY, and QUASIQUOTE? Arguably the draft defines a language with even fewer rules for forming expressions, namely combinations and self-evaluating syntactic data (numbers, booleans, etc). If you want more forms, you have to import them explicitly. David _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
