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

Reply via email to