[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