[r6rs-discuss] One vote

From: David Van Horn <dvanhorn>
Date: Tue, 14 Aug 2007 03:38:37 -0400

On 8/13/07, Aubrey Jaffer <agj at alum.mit.edu> 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
Received on Tue Aug 14 2007 - 03:38:37 UTC

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