<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 25, 2013 at 9:24 PM, Daniel King <span dir="ltr">&lt;<a href="mailto:danking@ccs.neu.edu" target="_blank">danking@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">Hi all,<br>
<br>
I just submitted a bug report on the main racket bug report page; however, I&#39;d<br>
like some guidance/assistance as to how to mitigate that problem in the<br>
meantime.<br>
<br>
Along with the three fine gentlemen CC&#39;d (please CC them in later<br>
communications), I am working on a senior-year software development project at<br>
Northeastern. The project is essentially a reverse image search. In implementing<br>
this, we intend to take advantage of Racket&#39;s brand new math library and Typed<br>
Racket.<br>
<br>
We also intend to compile-to-executable the entire project. Mainly because our<br>
professor requests that the final product be an executable.<br>
<br>
The essence of the bug is that a program which depends on `math/matrix&#39; and is<br>
compiled-to-executable (`raco exe&#39;), will encounter run-time<br>
namespace/dependency problems (i.e. it will fail to run).<br>
<br>
<br>
To our problem:<br>
<br>
 - Can someone provide insight as to the pros and cons of compilation (to<br>
   executable)? </blockquote><div><br></div><div style>The pro is that it is easier to distribute. One con is that your program becomes platform-specific. Well, and bugs as you&#39;ve found....</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Do we lose a significant amount of performance by not compiling<br>
   (to executable)?<br>
<br></blockquote><div><br></div><div style>There is no real performance benefit.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 - How does compilation to executable compare to byte-code compilation?<br>
<br></blockquote><div><br></div><div style>The executable is made up of bytecode embedded directly into the executable. The </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 - Any ideas as to avoiding this issue in the first place? Forcing the compiler<br>
   to include the necessary dependency?<br>
<br></blockquote><div><br></div><div style>You could try putting a require to the affected module in some other file. It may be the case that the compiler cannot &quot;see&quot; that that module is needed at compile time even though it turns out to be needed. (This would be due to a bug -- if this is true, then something is doing a dynamic-require, but not leaving behind information at compile-time for the compiler to find so it can be ready for the dynamic-require in the executable).</div>
<div style><br></div><div style>This might not be the bug, tho.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
We have to hand in the project on Friday, so worst case we hand in an executable<br>
Racket &quot;script&quot; which uses the JIT.<br>
<br></blockquote><div><br></div><div style>(Just in case the above wasn&#39;t clear: the bytecode that is embedded into the executable is JIT compiled too. Executable creation is really only about distribution, not performance.)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks!<br>
<br>
<br>
---------- Forwarded message ----------<br>
From:  &lt;<a href="mailto:bugs@racket-lang.org">bugs@racket-lang.org</a>&gt;<br>
Date: Mon, Mar 25, 2013 at 10:12 PM<br>
Subject: Re: [racket-bug] all/13633: The math/matrix library doesn&#39;t<br>
compile to executable (raco exe) correctly<br>
To: <a href="mailto:danking@ccs.neu.edu">danking@ccs.neu.edu</a><br>
<br>
<br>
Thank you very much for your problem report.<br>
It has the internal identification `all/13633&#39;.<br>
You can check on the status of your problem report at<br>
  <a href="http://bugs.racket-lang.org/query/?cmd=view&amp;pr=13633" target="_blank">http://bugs.racket-lang.org/query/?cmd=view&amp;pr=13633</a><br>
<br>
If you wish to provide further information regarding this problem<br>
you can do so as a reply to this message.  (But please make sure<br>
that your mailer replies to both &quot;bugs&quot; and &quot;bug-notification&quot;.)<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Dan King<br>
College of Computer and Information Science<br>
Northeastern University<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</font></span></blockquote></div><br></div></div>