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 [email protected] "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 [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
