[r6rs-discuss] Proposed features for small Scheme, part 1: a stake in the ground
Vincent Manis
vmanis at telus.net
Sat Sep 5 22:07:58 EDT 2009
On 2009-09-05, at 18:38, Aaron W. Hsu wrote:
>
> On the other hand, I agree that's it is a big pain to say, "We are
> Scheme + Extensions N through X ...," and I don't think we should do
> this. Instead, Meta or Collective standards should define a set of
> the primary standards which comprise an useful set of functionality
> that Scheme's will want to use. So, one meta standard might be a
> graphics or gaming collection, useful for writing graphical
> programs. This might include an FFI, OpenGL, and lots of floating
> point math.
I think there's a middle path here, and this extract from Aaron's
message hits it pretty well. Let's make Core Scheme and Ultra Scheme
(I worked in a branding-obsessed company for seven years) be standards
with no options. Either an implementation complies with one of these
standards, or it doesn't (such standards will have language in them
about not specifying such things as the maximum size of program that
can be executed or the maximum numeric values that can be processed).
Wherever there's sentiment for providing an option, the corresponding
WG should not include any language at all on that particular subject.
At the end, as well as the language reports, the Steering Committee
can publish a list of said `options' as an starting point for future
standardization. Implementers and users can then develop future
standards, e.g., `R7RS FFI for C-based Systems', or `R7RS OpenGL
Bindings' which can then be published under the aegis of the
committee, on their own schedules (I would insist that such add-ons
use the same format and typography as R7RS itself, but maybe that's
just because I love the ALGOL 60 Report so much :). I'm not sure if I
like the term `meta' or `collective' standard; to me, they're just add-
ons. But Aaron's point is really well-taken.
This sounds like the SRFI process, but there's an important
difference. R7RS should be normative, rather than descriptive. The
idea is that a user can select an implementation BECAUSE it complies
with R7RS Ultra Scheme and the R7RS Socket Layer, and expect a certain
set of functionality. In many cases, one of these add-on standards
will simply be a restatement of a SRFI; however, adoption as an R7RS
standard would require some kind of ratification vote, making it in
some sense official.
And if the community doesn't want to bother with these add-ons, well,
we're no worse than we are now.
So, here's asking the Committee not to solve problems by including
both solutions. Pick your solution, and present it for ratification.
Or say that that piece of the puzzle is outside the language
standards, but might be part of a future standard.
-- v
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.r6rs.org/pipermail/r6rs-discuss/attachments/20090905/23359496/attachment-0001.htm
More information about the r6rs-discuss
mailing list