[racket-dev] Hacking on the collects

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Mon Dec 6 12:16:11 EST 2010

On Mon, Dec 6, 2010 at 12:04 PM, Jakub Piotr Cłapa <jpc-ml at zenburn.net> wrote:
> I added support for secure websockets to net/websocket/client and now I am
> wondering how I should make such changes in th future to easily integrate
> them back into racket?
> What I have tried:
> 1. Fork racket on github
> 2. Make a local copy
> 3. Compile everything fro scratch
> 4. Wait and awful lot of time
> 4. Change the file in collects
> 5. Run make install
> 6. Wait another awful lot of time for raco setup to recomplie everything
> 7. Test the changes
> 8. I was planning to create a pull request on github
> Is there a easier/faster way? Or should I just develop in the "live"
> collects tree and then endure the "raco setup" once for final testing?

Here are two things that I do:

(a) hack on the "live" collects
(b) just rerun 'raco setup' on the relevant collections (it takes
collection arguments on the command line)
(c) use the -D argument to 'setup' to skip rebuilding the documentation
(d) sometime, I don't rerun 'raco setup' at all, I just rely on
running from source.  This is slower to run, but avoid the setup time.

Of course, you should run setup on the whole tree before requesting a
pull or submitting a patch, but skipping the intermediate slowness
helps a lot.
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.