[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] [scheme-reports-wg2] Installing the floor of the R7RS-large numeric tower
Faré scripsit:
> (1) it must be easy for the user to specify the requirements for her
> programs and trust the results.
> (2) the defaults should make sense. Either minimal (only fixnum and
> flonum, only bignum) or maximal (what Common Lisp has and more).
I am not here concerned with user-level control of what's available in
a given implementation, but of what an implementation must provide in
order to count as an implementation at all. For R7RS-small, the bar
is very low: if you want numbers of a given type, be sure to choose
an implementation that provides them. For R7RS-large, we seem to be
converging on providing real exact and inexact numbers, though the votes
aren't all in yet.
> (3) Extensibility would be nice. Design-your-own-numeric-tower, anyone?
Until some implementations provide this, it isn't really feasible to
standardize it. I don't hold with standards that invent things out of
thin air.
> I admit I'm not impressed by the lack of first-class modularity in
> Scheme,
"Second-class" should not be identified with "bad". There are real
advantages in increased performance and reduced complexity to making
some things second-class. Scheme has first-class control and pays for it.
Racket has both first-class and second-class modules, and it's clear
that the latter see far more use.
> the huge collections of monomorphic functions, or sometimes
> unextensible ad hoc polymorphic functions.
That is done so that the user or implementer may supply their own
notions of polymorphism.
--
John Cowan http://www.ccil.org/~cowan cowan@x
"But I am the real Strider, fortunately," he said, looking down at them
with his face softened by a sudden smile. "I am Aragorn son of Arathorn,
and if by life or death I can save you, I will."
_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports