[racket] Local Development

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Sat Sep 25 14:20:28 EDT 2010

Richard Cleis wrote at 09/25/2010 01:48 PM:
> Where should modules and docs, developed for local use, be located? 
I do it one of two ways, depending on the project:

* An arbitrary directory, with a subdirectory for each of what I loosely 
consider a 'package', and each such subdirectory having a PLaneT 
*development link* to it.  Actually, I like to have these correspond to 
potential future PLaneT packages or future versions of existing PLaneT 

(Note: if you do it this way for internal code, by default there is a 
security weakness, in that there are multiple situations in which a 
"require" intended for your internal code winds up going to the PLaneT 
repository, which can result in untrusted code being evaluated.  I think 
that a good solution for this relatively low risk will fall out of some 
other deployment and security enhancements for PLaneT that people have 
started talking about.)

* An arbitrary directory, with a subdirectory for each Racket 
*collection*, and then setting the "PLTCOLLECTS" environment variable to 
include that directory.  This is the pre-PLaneT way to do it, and it 
still has its uses.

The main drawback to this is that you need "PLTCOLLECTS" to be set 
appropriately for all your tools, which can be a headache if you need to 
change "PLTCOLLECTS" depending on what project or version control 
workspace you're working on that hour.  Although, if your projects don't 
all use the same version of Racket, you might as well have your 
"Makefile" set "PLTCOLLECTS" when it runs the tools with the full paths 
to the appropriate versions of the tools for that project.


Posted on the users mailing list.