Opened 8 months ago

Last modified 4 weeks ago

#1343 new defect

Unable to create R7RS libraries which don't import quote

Reported by: ashinn Owned by:
Priority: major Milestone: someday
Component: unknown Version: 4.11.0
Keywords: Cc:
Estimated difficulty: hard


Trying to define an R7RS library which doesn't import quote (e.g. an aggregate library which just re-exports from other libraries), results in the following warning and fails to compile:

Warning: reference to possibly unbound identifier `quote'
Warning:    suggesting one of:
Warning:    (import r5rs-null)
Warning:    (import r4rs-null)
Warning:    (import scheme)
Warning:    (import r4rs)

Change History (3)

comment:1 Changed 8 months ago by ashinn

This may be more complicated than I thought. The example is:

(define-library (chibi iset)
  (import (chibi iset base)
          (chibi iset iterators)
          (chibi iset constructors))
   %make-iset make-iset iset? iset-contains? Integer-Set
   iset iset-copy list->iset list->iset!
   iset-adjoin iset-adjoin! iset-delete iset-delete!
   iset-union iset-union! iset-intersection iset-intersection!
   iset-difference iset-difference!
   iset-empty? iset-fold iset-fold-node iset-for-each iset-for-each-node
   iset-map iset->list iset-size iset= iset<= iset>=
   iset-cursor iset-cursor? iset-cursor-next iset-ref end-of-iset?))

with the 3 imported libraries as implemented in chibi, all of which build successfully. However, attempts to create a smaller example have failed.

comment:2 Changed 8 months ago by ashinn

The code in question is at:

The same quote bug also occurs in if the (cond-expand ((library (srfi 33)) (import (srfi 33))) (else (import (srfi 60)))) precedes (import (scheme base)).

comment:3 Changed 4 weeks ago by sjamaan

  • Estimated difficulty set to hard
Note: See TracTickets for help on using tickets.