<div dir="ltr"><div>Good point. This is all achievable with the cond-expand approach, the compiler can accept a flag to explicitly disable contract checks.</div><div><br></div><div>-- vyzo<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 27, 2019 at 4:45 PM Marc Feeley <<a href="mailto:feeley@iro.umontreal.ca">feeley@iro.umontreal.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
> On Nov 27, 2019, at 9:10 AM, Dimitris Vyzovitis <<a href="mailto:vyzo@hackzen.org" target="_blank">vyzo@hackzen.org</a>> wrote:<br>
> <br>
> When the compiler detects that it is in a safe context (absence of a local or prelude (not safe) declaration), then it<br>
> can emit a (define-cond-expand-feature|gerbil-runtime-checks|) for gsc, and compile in the contract checks.<br>
> <br>
<br>
BTW I don’t think you should conflate the presence of a (not safe) declaration and avoiding contract checks.  The two are closely related, but maybe you want finer control to disable them separately.<br>
<br>
Marc<br>
<br>
<br>
</blockquote></div>