<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Aug 31, 2013 at 4:21 PM, Stephen De Gabrielle <span dir="ltr"><<a href="mailto:stephen.degabrielle@acm.org" target="_blank">stephen.degabrielle@acm.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div dir="ltr"><div>Hi, </div><div><br></div><div>I'm starting to fiddle with DrRacket plugin ideas (again), and I was wondering if any tool developers can share their processes for developing tools, </div>
<div><br></div><div>What I used to do was dump my tool in a collects directory and run 'raco -L toolname', followed by restarting-the-Doctor. If it failed I would remove the tool from /collects/ and restart again.</div>
</div></div></div></blockquote><div><br></div><div>You don't need to remove it from collects but just recompile it with `raco setup -D my-tool` (-D to avoid building the docs and save a few seconds).<br></div><div>But you still need to restart DrRacket.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div dir="ltr">
<div></div><div>This is a bit frustrating as it can be quite time consuming, and I disable as many tools as possible to make restarts quicker.</div></div></div></div></blockquote><div><br></div><div>It probably depends on what the tool does, but on some occasions you may just need a well-placed `dynamic-require' in your tool, then you only need to recompile the `dynamic-require'd modules without restarting DrRacket (but these cases are meant to be covered by the script-plugin).<br>
<br></div><div>There are also cases where you can test the tool with a gracket frame instead of the full DrRacket (look for `frame:text%' in the framework).<br><br></div><div>You can also try to use `drracket:frame:basics-mixin', which should give you a full DrRacket frame to play with, but it's of course longer to load.<br>
</div><div><br></div><div>For the other cases, you probably need to restart DrRacket.<br><br></div><div>HTH,<br></div></div>Laurent<br></div></div>