plt/racket — pull request #138 by paddymahoney (2012-08-22 00:36:27+00:00)
Title: Frtime to racket

This pull request is for the frtime-to-racket branch. The goals for this branch:
-serve as a conservative migration of frtime to the Racket lang
-excise as much of the mzlib dependencies as possible
-small cleanup throughout the codebase.

At this point, these goals are fulfilled-the animations within the demos subdirectory, and in the gui/demo directory are functional and working.

Additions:
-develop-frtime.rkt - allows a developer to unlink the install frtime and link a specified src frtime collection.

Regression:
Expressions of the following form:
(require ...
(lifted module/sub import1 import2 import3) ...)

had to be changed to:
(require
(lifted (only-in module/sub import1) import1)
(lifted (only-in module/sub import2) import2)
(lifted (only-in module/sub import3) import3) ...)

Seemingly due to the difference between how the mzscheme rename and the Racket rename work, forms containing multiple lifted terms seemed to require the same imports multiple times, which lead to an error when frtime was made to extend racket rather than mzscheme. Future work will fix the frtime (require (lifted mod import1 import2)) form to avoid this problem by expanding into forms that don't require duplicate imports (this would be a fairly small change, but would violate my goal of keeping the changes to lang-core.rkt as small as possible for this branch).