[racket-dev] Unable to expand cross-phase persistent module

From: Sam Tobin-Hochstadt (samth at cs.indiana.edu)
Date: Wed Jul 30 02:08:02 EDT 2014

Great, thanks.
On Jul 29, 2014 10:34 PM, "Matthew Flatt" <mflatt at cs.utah.edu> wrote:

> Sorry that I lost track of this one. I've pushed a repair.
>
> At Tue, 29 Jul 2014 16:26:21 -0700, Sam Tobin-Hochstadt wrote:
> > Here's a simpler version of this problem:
> >
> > #lang racket
> > (parameterize ([current-namespace (make-base-namespace)])
> >   (expand (datum->syntax
> >            #f
> >            '(module m '#%kernel
> >               (#%declare #:cross-phase-persistent)))))
> >
> > Sam
> >
> > On Wed, Jul 16, 2014 at 12:59 PM, Sam Tobin-Hochstadt
> > <samth at cs.indiana.edu> wrote:
> > > Running `expand` on the module defined in `racket/tcp` errors.
> > >
> > > In transcript form:
> > >
> > > -> (define p (open-input-file
> > > "/home/samth/sw/plt/racket/collects/racket/tcp.rkt"))
> > > -> (define mod (read-syntax (object-name p) p))
> > > -> (parameterize ([current-namespace (make-base-namespace)])
> > >      (expand (namespace-syntax-introduce mod)))
> > > ; /home/samth/sw/plt/racket/collects/racket/tcp.rkt::2: module: cannot
> be
> > > ;   cross-phase persistent due to required modules
> > > ;   in: (#%module-begin (#%require (all-except (quote #%network)
> > tcp-addresses)
> > > ;     (rename (quote #%network) c:tcp-addresses tcp-addresses))
> (#%provide
> > > ;     tcp-connect tcp-connect/enable-break tcp-listen tcp-close
> > > ;     tcp-accept-ready? tcp-accept tcp-accept-evt tcp-accept...
> > > ; [,bt for context]
> > >
> > > I don't know why it would do this. The same thing happens with the
> > > minimal module that's declared cross-phase persistent.
> > >
> > > Sam
> > _________________________
> >   Racket Developers list:
> >   http://lists.racket-lang.org/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20140729/29a1e6aa/attachment.html>

Posted on the dev mailing list.