[plt-scheme] best practices for directory structures

From: Robby Findler (robby at cs.uchicago.edu)
Date: Thu Apr 17 14:38:22 EDT 2003

At Thu, 17 Apr 2003 14:09:12 -0400 (EDT), "David A. Herman" wrote:
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> 
> > >   export PLTHOME=$PLTHOME:/your/collection/dir
> >
> > PLTCOLLECTS not PLTHOME
> 
> The documentation (PLT MzScheme: Language Manual Ch. 16) says that both
> variables are used to find collections:
> 
> (current-library-collection-paths
>  (path-list-string->path-list
>   (or (getenv "PLTCOLLECTS") "")
>   (or (ormap (lambda (p) (and p (directory-exists? p) (list p)))
>              (list (let ([v (getenv "PLTHOME")])
>                      (and v (build-path v "collects")))
>                    (find-executable-path program "collects")
>                    (find-executable-path
>                     program
>                     (build-path 'up "collects"))
>                    (find-executable-path
>                     program
>                     (build-path 'up 'up "collects"))))
>       null)))
> 
> In fact, I can't get either to work (Win2K): when I set the PLTCOLLECTS
> variable, MzScheme fails even to start up because it can't find the core
> libraries. When I set the PLTHOME variable, it ignores it.

You need to include the default collection. Set PLTCOLLECTS to:

  /my/collects:

or

  :/my/collects

The first if you want your collection to override the built ins, and
the second if you want the built ins to override your collections.

Robby


Posted on the users mailing list.