[scheme-reports-wg2] Re: [Scheme-reports] Reformulated numeric-tower ballot
John Cowan 01 May 2014 14:33 UTC
Peter Bex scripsit:
> Good question. I guess it's a little arbitrary. I would say the main
> difference is in the size of the standard. r5rs or r7rs-small is a
> reasonable size to implement in full, even for smallish implementations.
> Requiring the whole of r7rs-large to be implemented seems overkill.
Sure. Which is why I want to thoughtfully draw a line between the required
and the optional parts of the standard.
> Since it's going to be so very large, I'm unsure whether *any* Scheme
> (except, perhaps, for Racket)
Alas, the Racketeers are not even interested in R7RS-small; they consider
Racket to be a post-Scheme language.
> will implement every part of it.
I have hopes rather for the Scheme implementations that already have
large libraries and mostly just need to repackage them, like Chicken.
> [I]t's a good idea to avoid baking in too many assumptions about
> which subset of r7rs-large is going to be implemented in any compatible
> Scheme system.
A standard is a contract between implementer and user. Too few assumptions,
and the user suffers; too many assumptions, and the implementer suffers.
It's a Goldilocks problem: not too large, or too small, but just right.
> [I]f things like "needs built-in bignum support" are added to the spec,
> that may cause trouble.
In principle. But the only Schemes that are aimed at general application
development that lack bignums are Chicken and Wraith, and for Chicken
there is a straightforward workaround. (The chance that Stalin will
ever advance beyond R4RS is practically nil. The development community
around Stalin is about the most dysfunctional one I've ever encountered;
there isn't even a mailing list to send patches to.)
> And if it doesn't cause trouble, those parts of the spec that work with
> Chibi turn out to not really need bignum support. So why would you
> arbitrarily require it for the entire spec, even if many libraries
> aren't dependent on it?
So that application developers can count on just having bignums, like they
can count on having call/cc or tail recursion. Lots of implementations
of other languages do tail recursion to some degree, but the fact that
Scheme *requires* tail recursion allows a different programming style.
> But it would only not be compliant because it was declared not to be,
> for no real reason.
Equally true of any other standard feature.
--
John Cowan http://www.ccil.org/~cowan cowan@ccil.org
Yes, chili in the eye is bad, but so is your ear. However, I would
suggest you wash your hands thoroughly before going to the toilet.
--gadicath
--
You received this message because you are subscribed to the Google Groups "scheme-reports-wg2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scheme-reports-wg2+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.