[racket] Help On User Libraries - The Basics

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

Hi Matthew,


On Sun, Aug 21, 2011 at 1:49 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:

> At Sun, 21 Aug 2011 13:34:14 -0400, Ray Racine wrote:
> > 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"?
>
> I don't like setting PLTCOLLECTS, and I have been considering adding a
> `raco link' command that is analogous to `raco planet link', but for a
> collection instead of a Planet package.
>
> Planet was supposed to play the role that you have in mind for a
> collection, which is why nothing like `raco link' currently exists. But
> I think we're moving into a mode were we experiment with plain
> collections, instead.
>
> > First is confirmation that
> > compile-collection-zos is broken as shouldn't the tiny example in the
> > original post have worked?
>
> Yes -- I've pushed a repair. (I guess no one noticed the problem before
> because we all use `raco setup'.)


I've been down this path and remember hitting some issues that I can't
recall and reversed course.  If this is the best practice I'll move back in
that direction again.

Can I assume that when you say everyone uses racket setup that the arching
strategy here is for a local library/collection to be established as as a
planet lib associated with a development link and use raco as the make-build
system for the local collection?


> > Second, how do I tell racket to give a full
> > stack trace?
>
> It's on by default, but it works less well on some platforms. What
> platform are you using?
>
>
Linux Fedora 15.  Straight ./configure and make install from github master.

So using my example all I see is the following.

[ray at ray rktlib]$ rlwrap /usr/local/racket/bin/racket -i  -S /code/rktlib
Welcome to Racket v5.1.3.3.
> (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>

 === context ===
/usr/local/racket/collects/compiler/compiler-unit.rkt:199:13: for-loop
/usr/local/racket/collects/racket/private/misc.rkt:87:7

Thanks again in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110821/76ffdecf/attachment.html>

Posted on the users mailing list.