[racket-dev] [plt] Push #26372: master branch updated

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Feb 27 09:07:12 EST 2013

At Wed, 27 Feb 2013 07:53:16 -0500 (EST), "J. Ian Johnson" wrote:
> I should mention that the literature on staged metaprogramming calls this 
> "cross-stage persistence," (CSP) so I second Carl's proposal of cross-phase.

All module declarations are cross-phase persistent (unlike module
instantiations), so I still don't think that (as suggested by Vincent,
originally) is the right description of a declaration.

"Cross-phase-persistence-inducing" would be an accurate description,
but that's a mouthful. Is there a short variant that connects to
existing terminology better than "phase-collapsing"?

> From: Carl Eastlund <cce at ccs.neu.edu> [...]
> First of all, thanks very much, Matthew, for implementing this!  This looks
> like a great feature to me.  I have often been frustrated that users' data
> structures aren't easy to quote or to manipulate in macros in the same way
> as pairs or vectors; this should go a long way to improving the situation.

I don't know whether this is going to be a solution to the problem of
making new kinds of data quotable, but it may be a piece of the puzzle.

> An amusing but probably not too informative name: "one-phase-fits-all".  ;)


> On Wed, Feb 27, 2013 at 4:58 AM, Norman Gray <norman at astro.gla.ac.uk> wrote:
> > Greetings.
> >
> > On 2013 Feb 27, at 01:14, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> >
> > > I think part of the problem is distinguishing "module declarations"
> > > (which don't have a phase) from "module instantiations" (which are
> > > normally phase-specific).
> >
> > If 'which don't have a phase' is the key phrase, how about:
> >
> > phase-neutral
> > phase-independent
> > unphased
> > phase-exempt

That phrase "which don't have a phase" is meant to be about all module
declarations. We're looking for a phrase that refers only to the new
kind of module declaration. The adjectives above might reasonably apply
to the module instantiations, but I don't think they're right for
module declarations.

Posted on the dev mailing list.