[racket-dev] Cross-phase persistent modules

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Apr 6 09:51:30 EDT 2013

At Fri, 5 Apr 2013 07:31:03 -0400, Carl Eastlund wrote:
> Most importantly, as far as I can tell, cross-phase persistent modules are
> currently an internal silent heuristic for turning modules into persistent
> ones.  I'd really like a way to explicitly declare that I want a module to
> be persistent across phases.

I agree. So far, the ways I've considered adding a declaration would
mean changing the grammar of fully expanded modules --- and changing
that grammar is a pain for several maintainers. Any ideas?

> These seem great.  I'd like to build a macro that defines cross-phase
> persistent structures, so that I can make structs that can be quoted in
> syntax reliably.  For that, I'd like a little more built-in support.

Yes, and I think marshaling and unmarshaling syntax in bytecode needs
to be part of the story, and I don't yet know how that works.

I agree with your other comments about the allowed content for a
cross-persistent module.

Posted on the dev mailing list.