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

Reply via email to