[r6rs-discuss] [Formal] Declarations do not belong in the report

From: Abdulaziz Ghuloum <aghuloum>
Date: Thu Nov 16 00:18:15 2006

---
This message is a formal comment which was submitted to formal-comment_at_r6rs.org, following the requirements described at: http://www.r6rs.org/process.html
---
Name        : Abdulaziz Ghuloum
Email       : aghuloum at cs.indiana.edu
Type        : defect
Priority    : critical
Component   : Declarations
Version     : 5.91
One sentence summary:  Declarations have no reliable semantics and
should be dropped from the report.
Description:
A big problem with declarations is that the way they're specified,
they do not follow any scoping rules.  This is especially true in
the presence of macros: when one library with one declaration
exports a macro that is used in another library using a different
set of declarations.  There is just no meaningful way in which the
programmer can specify the extent of a declaration or know how a
single declaration in one library is going to affect the rest of the
program.
Another problem with declarations is that they are very very
implementation specific.  The current set declarations may be
useless for some implementations, while other implementations may
need a different set.  There is no one-size-fits-all set.
There is no way in which one can use declarations reliably, safely,
and in a portable way.  The original goal of R6RS was portability
and code sharing.  Declarations, as they stand in the report, do not
help accomplishing that goal and may indeed hinder it.
Recommendation:
Implementation-specific features (including declarations) should be
implemented as implementation-specific libraries and not be mandated
by the report.
Received on Wed Nov 15 2006 - 21:54:21 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:00 UTC