[R6RS] Position on list of issues
Manuel Serrano
Manuel.Serrano
Wed Mar 31 03:12:14 EST 2004
================================================================
DELETIONS from R5RS
- remove transcript-{on,off}
Yes, let's remove them.
- remove FORCE and DELAY
Yes, let's remove them too.
- remove multiple values
No, let's keep them. If we keep them in the language, we can design a
construction that enables compilers to handle MV without allocation structures
on the heap. If it is only a library, I'm afraid this would be nearly
impossible.
================================================================
INCOMPATIBLE CHANGES to R5RS
- make syntax case-sensitive
YES!!! Strongly yes.
================================================================
EXTENSIONS that would break implementation-specific extensions
- specify evaluation order
I'm rather neutral. I agree that a left-to-right evaluation order is intuitive
and I agree that for portability enforcing an evaluation order is important.
- support for processes
Yes.
- support for network programming
Yes.
- object-oriented programming
No. I don't think that we can arrive at a consensus in a reasonably short
period.
- external representation for records
Neutral.
- serialization
Let's take care about this. What would it mean to serialize a
compiled closure? I'm in favor of serialization if we accept to
exclude some date types (such as procedure). I'm against it if the
serialization is supposed to support all values.
================================================================
EXTENSIONS to R5RS (controversial and probably unnecessary)
- pattern matching / destructuring
Yes. Having pattern-matching and redesigning variable arity functions
could help the compiler.
- abstract data type for continuations
Let's get rid of continuation ;-)
- support composable continuations
Against.
- add box types
What for? Against.
- uninterned symbols
vs. Chez's globally unique names
Neutral.
- extended symbol syntax
Yes.
- add LETREC*, define internal DEFINE in terms of it
Neutral.
- optional and keyword arguments as in DSSSL
Well, well. I support this but I hope that we will be able to improve
a little bit the semantics of DSSSL arguments.
================================================================
EXTENSIONS to R5RS (controversial or difficult but necessary)
- module system
Yes.
- non-hygienic macros
I *strongly* support this.
- records
Yes.
- mechanism for new primitive types
I support this. Contrarily to Marc I think that not only records should
define new types. I think that this feature is important when it comes to
the foreign interface.
- Unicode support
I'm afraid we have to deal with unicode
- errors and exceptions
I *strongly* support this.
- require mode where "it is an error" means "an error is signalled"
I agree with Marc,
> I support this for most errors (some errors are too hard to detect).
> I think the standard should explicitly say which exception is raised
> by each type of error.
================================================================
EXTENSIONS to R5RS (probably not terribly controversial)
- multiline comments
Yes.
- external representation for circular structures
Neutral. I think this is tightly related to serialization.
- #!eof
I'm not sure to understand the meaning of #!eof. Does it means that when
the reader will read #!eof it will return an object satisfying the R5Rs
eof-object? predicate? If this interpretation is correct I'm against it.
- more escape characters
Yes.
- require that #f, #t, and characters be followed by a delimiter
Yes.
- CASE-LAMBDA
I'm against.
- add COND-EXPAND
Yes.
- allow the name of the macro being defined in SYNTAX-RULES to be
arbitrary (or _)
Neutral because, I repeat my self, I'm in favor of non hygienic macros
*and* pattern matching.
- allow continuations created by begin to accept any number of values
I don't understand the motivation here so I'm neutral.
- tighten up specification of EQ? and EQV? (or otherwise address their
portability problems)
Neutral.
- tighten up specification of inexact arithmetic
Neutral.
- add +0, -0, +inf, -inf, +nan
Yes for +inf, -inf, +nan. Neutral for +0, -0.
- add bitwise operations on exact integers
Yes.
- SRFI 4 homogeneous numeric vectors
I think that this issue should be related to the possibility of defining
new types and to the serialization. I think that this is more complex than
it looks like.
- specify dynamic environment
What for? Multi-threading for instance? I don't understand thus I'm neutral.
- operations on files
I strongly in favor of this.
- binary I/O
or: new I/O subsystem entirely
I strongly in favor of this.
- string code
What doe it mean?
- regular expressions
Yes.
- command-line parsing
Yes.
- hash tables
Yes.
- library for dates
Yes.
- system operations
Yes.
================================================================
EDITORIAL CHANGES
- split language into core and libraries
I still don't have an opinion...
================================================================
--
Manuel
More information about the R6RS
mailing list