[racket] confusing behaviour of managed-compile-zo

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Fri Feb 1 19:29:35 EST 2013

There was a related problem that Sam noticed a while back about how the
same set of parameters (if not the same uses) leaked out into his program
and the best I came up with was the advice to disable the automatic
compilation in DrRacket (in the language dialog's "show details" section).

Robby

On Friday, February 1, 2013, Matthew Flatt wrote:

> I think the issue is that DrRacket sets `use-compiled-file-paths' to
> include "compiled/drracket/errortrace", and the installation doesn't
> includes compiled files there, so CM tries to add them.
>
> In other words, there's a collision between your use of CM via
> `managed-compiled-zo' and a use already in place for the load handler.
> You can work around the problem by setting `use-compiled-path-paths'
> back to just `(list "compiled")'.
>
> Meanwhile, I'm not sure which part of the system to blame. I think the
> pile of parameters and callbacks isn't right, since DrRacket interferes
> with your program, but I don't immediately see how to fix it.
>
> At Wed, 30 Jan 2013 18:15:48 +0100, "Jos Koot" wrote:
> > When compiling with managed-compile-zo, manager-compile-notify-handler
> and
> > manager-trace-handler, I see that parts of the racket directory are
> > (re)compiled, for example:
> >
> > TRACE: compiling: C:\Program Files
> > (x86)\Racket-Full-5.3.1.10\collects\racket\private\small-scheme.rkt
> >
> > Thìs even happens again when compiling again without modifying anything.
> Is
> > this expected behaviour?
> >
> > I do this with Window 7 Home Premium. Another odd thing is that sometimes
> > after installing new nightly build, DrRacket does not have all required
> > permissions in its collects directory. I sometimes have to grant these
> > permissions via the properties of the directory.
> >
> > Thanks Jos.
> >
> > PS
> > I compile from DrRacket with the following:
> >
> > #lang racket
> > (require compiler/cm)
> > (manager-compile-notify-handler (λ (str) (printf "NOTIFY: ~a~n~n" str)))
> > (manager-trace-handler (λ (str) (printf "TRACE: ~a~n~n" str)))
> > (managed-compile-zo "my-program.rkt")
> > (managed-compile-zo "my-other-program.rkt")
> > etc.
> >
> > ____________________
> >   Racket Users list:
> >   http://lists.racket-lang.org/users
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20130201/f1fd0508/attachment-0001.html>

Posted on the users mailing list.