<div dir="ltr">I get the same thing.  Also, the error message is particularly unhelpful.  It does not give the name of the module, a source location, or any indication of what part of the module did not match what part of the grammar in what way.  This is pretty much impossible to debug without searching for every use of #%declare in the code base, and tracking down every macro that can possibly expand into it.<br>

</div><div class="gmail_extra"><br clear="all"><div>Carl Eastlund</div>
<br><br><div class="gmail_quote">On Mon, Jul 22, 2013 at 5:14 PM, Stephen Chang <span dir="ltr">&lt;<a href="mailto:stchang@ccs.neu.edu" target="_blank">stchang@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

When compiling a fresh git head clone, I still get some cross-phase<br>
persistence errors (see below). Is this my fault, or are some packages<br>
still missing the declaration?<br>
<br>
<br>
raco setup: --- checking package dependencies ---<br>
raco setup:<br>
raco setup: error: during making for<br>
&lt;pkgs&gt;/errortrace-doc/errortrace/scribblings<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/errortrace-lib/errortrace<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/errortrace-lib/errortrace<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/errortrace-lib/errortrace<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/errortrace-lib/errortrace<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/errortrace-lib/errortrace<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/errortrace-lib/errortrace/lang<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/algol60<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/drscheme<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/drracket<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/drracket/private<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/scribble/tools<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/scribblings/tools<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/scribblings/tools<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/scribblings/tools<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/scribblings/drracket<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/drracket/private<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/scribblings/drracket<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
raco setup:<br>
raco setup: error: during making for &lt;pkgs&gt;/drracket/drracket/private<br>
raco setup:   module: does not satisfy cross-phase persistent grammar<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Jul 22, 2013 at 12:18 PM, Matthew Flatt &lt;<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>&gt; wrote:<br>
&gt; As of v5.90.0.2 (pending), to declare a cross-phase persistent module,<br>
&gt; the module body must include<br>
&gt;<br>
&gt;  (#%declare #:cross-phase-persistent)<br>
&gt;<br>
&gt; If the module declaration fails to meet the syntactic and import<br>
&gt; constraints of a cross-phase persistent module, then a syntax error is<br>
&gt; reported.<br>
&gt;<br>
&gt; This change is backward-incompatible in two ways:<br>
&gt;<br>
&gt;  * Module declarations that are intended as cross-phase persistent<br>
&gt;    won&#39;t be, anymore, until a `#%declare&#39; form is added.<br>
&gt;<br>
&gt;    I think cross-phase persistence is new enough --- and the old, quiet<br>
&gt;    inference of persistence is sufficiently distressing --- that this<br>
&gt;    won&#39;t be much of an issue.<br>
&gt;<br>
&gt;  * The grammar of fully-expanded modules now includes `#%declare&#39;<br>
&gt;    forms.<br>
&gt;<br>
&gt;    Programs that process fully-expanded modules are not common, but I<br>
&gt;    expect that they exist outside of the main distribution. Those<br>
&gt;    programs will need to be updated. Meanwhile, they won&#39;t break until<br>
&gt;    they see a module that has a `#%declare&#39; form, which won&#39;t happen<br>
&gt;    often (at least for the near future).<br>
&gt;<br>
&gt; Although `#:cross-phase-persistent&#39; is the only keyword recognized by<br>
&gt; `#%declare&#39; initially, we&#39;ll add more. One possibility is a declaration<br>
&gt; that corresponds to `compile-enforce-module-constants&#39;.<br>
&gt;<br>
&gt; I named the form `#%declare&#39; instead of `declare&#39; to avoid conflicts,<br>
&gt; and also because I expect the form to be used more often in macro<br>
&gt; expansions than directly, so it seems like a &quot;#%&quot; kind of form.<br>
&gt;<br>
&gt; _________________________<br>
&gt;   Racket Developers list:<br>
&gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></div></blockquote></div><br></div>