using a SHA1 hash stored in the marshaled bytecode; this cache
lowers the cost of sandboxes or other uses of multiple namespaces
when the code inspector doesn't change; the caching is almost
transparent, but an eval handler might be called with compiled
code that cannot be written
Reverts commit fe60da72c8.
Something about the recfatoring was broken. For example, modify
"racket/contract.rkt" and then run `raco setup -D -j 1 racket'.
Another `raco setup -D -j 1 racket' re-builds a file in
"mred", but a second run shouldn't have built anything. (Using
`-j 1' demonstrates that it's not related to parallel builds.)
Reverting the refactoring fixes the problem.
I don't know what the bug was, but Kevin says that the refactoring
wasn't needed after all.
--- a reversal of opinion from my earlier commit; the problem
with syntactic simplification is that it may not refer to the
same file, due to soft links; given that true normalization is
impossible, simplify-path and simple-form-path provide a good
compromise between preserving paths as given and exanding
soft links as neede