I use a separate instance of racket to do the tool stuff, though you probably know that already.;)
The quitting and restarting of DrRacket can be a lot quicker if you disable a few tools from the preferances screen. I noticed there is a 'Minimal DrRacket' at http://www.cs.utah.edu/plt/snapshots/ that may also be an option. HTH Stephen On Fri, Oct 10, 2014 at 2:00 PM, Adam C.M. Solove <[email protected]> wrote: > Thanks! Moving the gui code separate from the tool has made development a > lot more pleasant. > > On Fri, Oct 10, 2014 at 7:40 AM, Robby Findler < > [email protected]> wrote: > >> There should be no way to cross between a program running inside >> DrRacket and the implementation of DrRacket (there are known bugs that >> make it possible to cross, but they aren't going to lead to a pleasant >> REPL experience). >> >> You can ask DrRacket to make a simpler REPL for you via the PLTDRREPL >> environment variable. >> >> As far as units go, you need to be able to satisfy the imports to be >> able to get at the insides of the unit. And for the unit you have in >> particular, you would need to essentially provide the entire >> implementation of DrRacket to satisfy the imports. >> >> But, some of your functions may no depend on DrRacket proper, but only >> on, say, GUI controls or other things like that. In that case, you can >> move them outside of the unit and test and run them and just have >> small amounts of code that calls into those functions from inside the >> unit. I find that to be a useful mode of development for some things I >> add to DrRacket. >> >> hth, >> Robby >> >> >> On Thu, Oct 9, 2014 at 9:51 PM, Adam C.M. Solove <[email protected]> >> wrote: >> > Thank you for the clarification. >> > >> > Before I abandon myself to working this way, let me try another >> possibility. >> > I'd like to interactively try out the functions I'm writing, but I run >> into >> > two conceptual blocks that expose some of my ignorance on Racket. >> First, as >> > the functions are wrapped in a unit which has some imports, I can't >> seem to >> > "get at" those functions from the repl, though I have a reference to the >> > unit itself. Second, I assume that even if I could get to the functions >> in >> > the repl, they would be running within the user program space rather >> than >> > the DrRacket UI space. Is there any way to cross that bridge? >> > >> > On Thu, Oct 9, 2014 at 10:30 PM, Robby Findler < >> [email protected]> >> > wrote: >> >> >> >> Unfortunately, there is not. Depending on what your plugin does, it >> >> isn't clear that it is really possible. In particular, if you're >> >> mixing something new into the DrRacket frame then it is hard to know >> >> what to do with all of the old frames now they should have a new >> >> class. >> >> >> >> I agree it can be tedious, tho, and there could be a better design of >> >> an extension API that would make that kind of thing easier (and also >> >> make it easier to dynamically stop and start plugins) but we're not >> >> there yet. >> >> >> >> Robby >> >> >> >> >> >> On Thu, Oct 9, 2014 at 8:09 PM, Adam C.M. Solove <[email protected]> >> >> wrote: >> >> > Hello all, >> >> > >> >> > I'm new to the Racket ecosystem and poking around with the plugin >> system >> >> > to >> >> > see how hard it would be to build a minikanren debugger tool in >> >> > DrRacket. >> >> > But first, a much more basic question: >> >> > >> >> > Is there a good way to interactively write and test DrRacket plugins? >> >> > >> >> > I'm currently going through the plugin docs by making a small change, >> >> > quitting and restarting DrRacket, seeing that it doesn't quite work, >> >> > making >> >> > another small change, etc. It's a bit frustrating. Is there a way to >> >> > simply >> >> > reload the plugin I'm working on while leaving my DrRacket session >> >> > alive? >> >> > >> >> > Thanks, >> >> > >> >> > Adam >> >> > >> >> > ____________________ >> >> > Racket Users list: >> >> > http://lists.racket-lang.org/users >> >> > >> > >> > >> > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > >
____________________ Racket Users list: http://lists.racket-lang.org/users

