On 2009-09-03, at 18:50, Aaron W. Hsu wrote:
> On Thu, 03 Sep 2009 19:02:48 -0400, John Cowan <[email protected]> wrote:
>
>> "Why make a particular
>> identifier a required part of the standard?"
>
> I really question why we need a single standard at all. I'm inclined
> to
> want nearly everything to be optional, so long as any given feature
> that
> *is* implemented will be provided by some standard interface. So I'm
> fine
> and like the idea of having many separate standards for each thing,
> and
> maybe meta standards defining libraries that collect commonly used
> procedures together.
I really hope we don't go down this path; if implementation A
implements features
x, y, and z, while implementation B implements features u, v, and w,
you end up
with essentially no portability. Cobol did that, with its subsets, and
the
results weren't very good: vendors ended up implementing a common core
of subsets,
and the ones that only a few (or no) implementations provided merely
ended up
vanishing from the language.
My vote is essentially for what the Steering Committee seems intent on
doing
- (a) a small language
- (b) a larger language that is a proper superset of the smaller
language
- (c) clear permission to implement features beyond the standard
- (d) frequent use of `unspecified' in the standard for those cases
where
implementations may reasonably behave differently
This is not a new strategy. In the 1960s, there was a case of 3 nested
languages:
ANSI Subset Fortran IV, ANSI Fortran IV, and IBM Fortran G, which had
many
extensions. (IBM kindly put gray boxes in their manuals over all the
extended
features, so you'd know instantly if you were using a standard or an
extended
feature.) IBM's strategy of extending Fortran was seen as anti-
competitive, until
other vendors realized that they could treat IBM's Fortran G manual as
a specification,
and implement that.
In cases where something is a genuine option, take it outside the
standard, and
then develop a separate standard. Again, this is not a new idea. I
believe that
US govt Federal Information Processing Standards often say words to
the effect
of `our standard comprises this other standard, with unspecified
behavior Alpha
defined to behave as follows, along with libraries Aleph, Beth, and
Gimel'.
But if an implementation claims to implement R7RS Super-Dooper Scheme,
that
should be a full implementation, not merely the set of features the
implementer
felt like providing.
-- v
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss