[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Scheme-reports] Draft 3 Comments: Chapter 1


As I had some time to spare, I thought I'd use it to review the first 
chapter of the third draft and write up some comments section by section 
(taking inspiration from Andy Wingo, who has done an outstanding job 
reviewing all of draft 2). I hope my comments are helpful for the next 
draft. Let's start:


Nice to see my name here! Now I'm finally a historic person. ;)

1.3.1 Base and optional features

Nice "module-aware" replacement for the original R5RS section.

IIRC it was said in the WG1 newsgroup that the notion of "optional" in 
the report was going to be precised to mean "mandatory except if the 
implementation is constrained by its environment" (e.g., missing 
floating-point on some embedded systems). However, I do not find such 
language in this section. Was the idea dismissed after all? Or simply 

1.3.2 Error situations and unspecified behavior

The new paragraph on an error being signalled as if by "raise" is placed 
somewhat unfortunate position, as the next paragraph starting with "For 
example" is logically connected with its original previous paragraph. I 
would rather roll this information into the first paragraph. Also, I 
don't think that it has to be mentioned that the raised object need not 
be fresh; "implementation-dependent" actually says everything. Lastly, a 
reference to where "raise" is defined would be nice, given that this is 
its first mention and it is described 5 chapters later. A proposal:

"When speaking of an error situation, this report uses the phrase “an 
error is signalled” to indicate that implementations must detect and 
report the error by raising a non-continuable exception, as if by the 
procedure raise (see section 6.5). If such wording does not appear..."

Everything else in this chapter seems to be fine. I like it so far. :)


Scheme-reports mailing list