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

Re: a simple counter-proposal

This page is part of the web mail archives of SRFI 55 from before July 7th, 2015. The new archives for SRFI 55 contain all messages, not just those from before July 7th, 2015.

campbell@xxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:
On Mon, 30 Aug 2004, felix wrote:

campbell@xxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:

   (program (requires srfi-1))
   (display (iota 5))

which retains all existing functionality of SRFI 7 -- the feature
conditionalization -- and all brevity of SRFI 55's REQUIRE-EXTENSION --
it's only a single character longer, in fact --; furthermore, it is
still compatible with module systems such as that of Scheme48, because
the module data -- the configuration language -- is _still_ entirely
disjoint from Scheme, unlike the present SRFI 55's REQUIRE-EXTENSION;
the configuration language is very clearly separated from Scheme in
that the PROGRAM form is the first in the file, and every following S-
expression is Scheme.  I propose that SRFI 55 be revised to define this
amendment/extension to SRFI 7, which I expect will satisfy the demands
in brevity of Felix as well as retain the functionality of SRFIs 0 & 7,
and moreover still be as extremely portable as SRFI 7.

Just one question: what makes

(program (required srfi-1))
(display (iota 5))

more portable (in the sense of being compatible with S48's module system),

(require-extension (srfi 1))
(display (iota 55))


(provided SRFI-55 is changed in such a way that it's recommended
use is as the first expression in a file)

Felix, I spent a significant portion of my last paragraph there in
answering that question before you even asked it.  The PROGRAM form is
_not_ in Scheme; it's in an _entirely_disjoint_ configuration language.
REQUIRE-EXTENSION as you propose would become a part of the _Scheme_
language; it would essentially extend the <command or definition>
nonterminal in R5RS with a new option.

Yes, so what prevents `require-extension' to be such a disjoint config-language
form? If I understand correctly merely requiring that `require-extension' should
be the first form in the program text (directly, not as an expansion of another
macro) would make it compatible with Scheme48, right?