[racket] Help On User Libraries - The Basics

From: Ray Racine (ray.racine at gmail.com)
Date: Sun Aug 21 13:34:14 EDT 2011

Hi Robby,

Given the example of a small collection of library utility code, how do I
tell raco where it is located.  I know of the
PLTCOLLECT environment variable trick but is that "the way"?

[ray at ray rktlib]$ /usr/local/racket/bin/raco setup rktlib
collection-path: collection not found: #<path:rktlib> in any of:
(#<path:/home/ray/.racket/5.1.3.3/collects>
#<path:/usr/local/racket/collects>)

Also there are two sub-goals here besides learning "the best practice way"
of maintaining a local code library.  First is confirmation that
compile-collection-zos is broken as shouldn't the tiny example in the
original post have worked?  Second, how do I tell racket to give a full
stack trace?


2011/8/21 Robby Findler <robby at eecs.northwestern.edu>

> I think there might be confusion between "raco make" and "raco setup"?
>
> Robby
>
>
> On Sunday, August 21, 2011, Ray Racine <ray.racine at gmail.com> wrote:
> > Yes.
> > raco make either makes the entire racket default collection (and the one
> in you home path which will ignore for now).  Or one can tell it to only
> make a single library in the default collection,
> > e.g., raco make compiler
> > So by default raco doesn't "see" my collection at /code/rktlib.
> > One trick is to planet "link" it, even though I'm not really using planet
> libraries.
> >  /usr/local/racket/bin/raco planet link rktlib  c1.plt 1 0
> /code/rktlib/c1
> > Then a raco make seems to first scan through all the racket collections
> and then finally compiles my rktlib.  But most time I just want to raco make
> my rktlib quickly.  However, trying to tell raco to just build my rktlib
> fails.  "raco make rktlib" fails as it can't find my collection.
> > The problem here is raco doesn't take any sort of arg parameter which is
> the path to my rktlib collection.  Now I can work around this by setting the
> PLTCOLLECTION environment var but I'm already 2 kludges deep into a rather
> simple thing.  To compile a simple local collection, I first trick it as
> some sort of planet development link and then stumble across that there is
> this environment variable backdoor.
> > In the past, I just shrug, go with it and figure I'm just missing
> something.  This time I want to figure out where I keep wandering off the
> reservation.
> > On Sun, Aug 21, 2011 at 12:33 PM, Jens Axel Søgaard <
> jensaxel at soegaard.net> wrote:
> >>
> >>
> >> 2011/8/21 Ray Racine <ray.racine at gmail.com>
> >>
> >>>
> >>> Works, so now compile it to zos.
> >>
> >> ...
> >>>
> >>> > (require compiler/compiler)
> >>> > (compile-collection-zos "c1")
> >>> for-each: expects type <proper list> as 2nd argument, given: #<void>;
> other arguments were: #<procedure:.../compiler/cm.rkt:594:4>
> >>
> >> ...
> >>>
> >>> Next question, what am I doing wrong?
> >>
> >> Have you tried using "raco make c1.rkt" to compile the files?
> >> http://docs.racket-lang.org/raco/make.html?q=raco%20make <
> http://docs.racket-lang.org/raco/make.html?q=raco%20make>
> >> --
> >> Jens Axel Søgaard
> >>
> >>
> >
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110821/19a66a7f/attachment.html>

Posted on the users mailing list.