[r6rs-discuss] [Formal] Lexical determination of phases

From: Andre van Tonder <andre>
Date: Tue Nov 14 18:57:33 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        : defect
Priority    : medium
Component   : libraries
Version     : 5.91
Pages       : 23
Dependencies: None
Summary:
--------
The current spec does not specify whether the phases in which 
bindings are available are determined lexically.
Description:
------------
The following example may or may not be an error according to the
current draft:
    (library foo
      (import r6rs)
      (export f)
      (define (f) 1))
    (library bar
      (import r6rs
              (for foo expand))  ;; This is the wrong level !
      (export g)
      (define-syntax g
       (syntax-rules ()
         ((_) (f)))))    ;; used at level RUN
    (library main
      (import foo bar)   ;; Imports f for level RUN
      (display (g)))     ;; not specified if this is error
I believe the reference implementations all say that this is
an error, so there should not be any technical issue in
specifying it to be one.
Suggestion:
-----------
Allowing the above to not be an error would be in conflict with
lexical scoping of phases.  Leaving it unspecified invites
portability problems.
Received on Tue Nov 14 2006 - 13:32:07 UTC

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