[racket] confusing behaviour of managed-compile-zo

From: Jos Koot (jos.koot at gmail.com)
Date: Sat Feb 2 17:06:28 EST 2013

Thanks Matthew, I'll try your advice.

-----Original Message-----
From: Matthew Flatt [mailto:mflatt at cs.utah.edu] 
Sent: viernes, 01 de febrero de 2013 22:38
To: Jos Koot
Cc: users at racket-lang.org
Subject: Re: [racket] confusing behaviour of managed-compile-zo

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-\collects\racket\private\small-scheme.rkt
> Thìs even happens again when compiling again without modifying anything.
> 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

Posted on the users mailing list.