[racket-dev] Failure when using `lazy-require` in `match`

From: Ryan Culpepper (ryan at cs.utah.edu)
Date: Mon Jul 16 13:56:44 EDT 2012

On 07/14/2012 06:31 PM, Sam Tobin-Hochstadt wrote:
> I'm trying to use `unstable/lazy-require` to load time compile-time
> portion of `match` on-demand; the attached patch implements what I
> think should be the right thing.  However, when I try to run 'raco
> setup' with this, I get:
>
> raco setup: bootstrapping from source...
> write: cannot marshal value that is embedded in compiled code
>    value: #<resolved-module-path:"/home/samth/sw/plt/collects/racket/match/define-forms.rkt">
>
> Is this a bug in lazy-require?  A problem in racket? Is using this
> trick not allowed in the dependencies of `raco setup`?

The patch didn't include stxtime.rkt, so I couldn't verify this, but the 
error is what I would expect if you used relative-path requires from 
transformation modules to residual modules.

See http://macrologist.blogspot.com/2011/10/lazy-module-loading.html and 
search for "Use absolute module paths in all requires between the 
different kinds of modules."

Ryan

Posted on the dev mailing list.