Well, I guess I have the most boring and irrelevant candidate statement
there is. Sorry about that, it's due to a misunderstanding. I thought
that the 250-word statement was supposed to be about why I'm qualified
to be on the steering committee, and everybody else apparently wanted to
use it to explain what direction they wanted to give the process.
I've been an outspoken critic of R6RS, on the following grounds:
1) It is unrealistic (or performance killing) to require detection
and signalling of many of the specific errors for which R6RS
requires detection and signalling. Even those implementors
who have conformed with this requirement have refused to make
it the default behavior.
2) R6RS makes it impossible to usefully implement scheme on
any machine whose native character set is not Unicode.
Unicode, in turn, requires either OS support or large tables,
either of which makes Scheme unsuitable for embedded systems
and both of which are utterly irrelevant for code that is
supposed to run on systems that, like most embedded systems,
do not use text.
3) There is no separation of libraries in R6RS. This makes
libraries as such pretty darn useless and restricts the
module system spec'd in R6RS to being useful for user code
only. There is no way to branch on library availability.
This makes it impossible to write code that configures itself
to what's available in a given environment. And there is no
way to *NOT* load large sets of functionality which may be
irrelevant to the task or system at hand (as in the above
example of an embedded system which does not use text).
Finally, if we have libraries at all, there are *many*
functions (I/O functions for starters) that should have
been moved from the core language into them but which were
not.
4) R6RS requires whole-program analysis before any code can
run. This is performance-killing and makes REPLs illegal.
It is reasonable to require a way to *invoke* whole-program
analysis, but it is not reasonable to require that it be
done all the time every time.
>From the perspective of the steering committee, I'd say the module
and library system needs a major overhaul in order to give scheme
programmers ways to specify programs that run with only subsets of
the standard libraries and to put functions into libraries that
properly belong there.
Otherwise, the job of the standard is to carefully eliminate
requirements that stop implementors from making implementations
adapted to their environments and requirements.
Bear
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss