On Thu, Jan 23, 2014 at 3:47 AM, Marc Nieper-Wißkirchen < [email protected]> wrote:
> > If there is a feature (like the import of record type bindings or > parameter objects) that is of undoubtedly benefit for real-life code and if > this feature is uniformly implemented in all existing and likely > implementations, this feature deserves to be specified in the report (of > the small language) to allow portable code to use it. (Here, again, I use > portable in the true sense of the word, not in the sense of being portable > for all practical purposes.) > The problem is people can never agree on the exact set of things which are important to specify. I think it's odd to consider it essential to specify something like this in a language for which even (+ 2 2) is unspecified (due to having no bounds on the size of supported numbers). In practice, all implementations will give the same result here, but then there are cases for which implementations actually differ: (/ 1 3) (* 2 (expt 2 32)) (sqrt -1) These are the cases that should be nailed down for practical portable code, and this is one of the goals of the large language. The number of times a library is loaded also differs in practice, so we cannot specify this in the small language. We could include some verbiage about the runtime bindings being the same, but I suspect it would be a confusing and incomplete definition, leaving a full discussion of phasing, low-level macros and separate compilation to the large language. With regards to multiple program imports, I agree that it's ugly and in fact voted against it, but lost. The arguments are far from clear cut, and the WG members still disagree. -- Alex
_______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
