[racket] Help understanding error: compile: access from an uncertified context to unexported variable from module

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Fri Jun 17 08:19:45 EDT 2011

On Fri, Jun 17, 2011 at 7:36 AM, Marijn <hkBst at gentoo.org> wrote:
>
> My understanding so far is that `macro' expands to a use of the `link'
> constructor which is somehow not allowed. All my attempts to duplicate
> with simpler code failed to reproduce this error.

Here's a simpler version, with the same bug:

#lang racket/load
(module macro racket
  (provide dlist)
  (define-syntax (dlist stx)
    #`(shared ([x (link x)])
        x))
  (struct link (l)))

(module use racket
  (require 'macro)
  (dlist 3))

I think this is a bug in `shared' used in concert with `struct'.
-- 
sam th
samth at ccs.neu.edu


Posted on the users mailing list.