[r6rs-discuss] [Formal] Remove double phase semantics

From: Andre van Tonder <andre>
Date: Tue Nov 14 12:58:47 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        : Andre van Tonder
Email       : andre at het.brown.edu
Type        : simplification
Priority    : medium
Component   : libraries
Version     : 5.91
Pages       : 24
Dependencies: None
Summary:
--------
Libraries can be greatly simplified by removing current
double choice of phase semantics.
Description:
------------
The current phase semantics is very complicated and
the choice of two separate semantics hinders portability.
A simpler semantics is already effectively implemented by 
two of the reference implementations.  This semantics shares
one set of bindings between all the levels into which they
are imported.
The visit/invoke semantics becomes HUGELY simplified in
this case.
--------------------------------------------------
Note that the following is *equivalent* to the 
current draft when the bindings are shared.
It is what the "dybvig-ghuloum" and "vanTonder"
implementations already effectively do. 
--------------------------------------------------
To visit a library:
    * Visit any library that is imported by
      this library and that has not yet been visited.
    * For each k >= 1, invoke any library that is
      imported by this library for .... (meta k), and that has not
      yet been invoked.
    * Evaluate all syntax definitions in the library.
To invoke a library:
    * Invoke any library that is imported by this
      library and that has not yet been invoked.
    * Evaluate all variable definitions and expressions
      in the library.
Received on Tue Nov 14 2006 - 10:49:25 UTC

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