# [racket-dev] [plt] Push #25698: master branch updated

On 11/16/2012 04:43 PM, Neil Toronto wrote:
>* On 11/16/2012 02:10 PM, mflatt at racket-lang.org wrote:
*>>* 9a48e5d Matthew Flatt<mflatt at racket-lang.org> 2012-11-16 14:03
*>>* :
*>>* | math: avoid import at unnecessary phase
*>>* |
*>>* | This repair avoids using at compile time external libraries that
*>>* | are needed at run time.
*>>* :
*>>* M collects/math/private/matrix/matrix-sequences.rkt | 4 +---
*>* >
*>* > [...]
*>* >
*>>* collects/math/private/matrix/matrix-sequences.rkt
*>>* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*>>* --- OLD/collects/math/private/matrix/matrix-sequences.rkt
*>>* +++ NEW/collects/math/private/matrix/matrix-sequences.rkt
*>>* @@ -5,9 +5,7 @@
*>>* in-column)
*>>*
*>>* (require math/array
*>>* - (except-in math/matrix in-row in-column)
*>>* - (for-syntax (except-in math/matrix in-row in-column))
*>>* - (for-template (except-in math/matrix in-row in-column)))
*>>* + (except-in math/matrix in-row in-column))
*>*
*>* Was this the only necessary change? If so, it's a little weird, because
*>* libmpfr isn't supposed to be loaded until its first export is used. The
*>* constants are all delayed (their names are bound to macros that expand
*>* to uses of `force'), and every function and delay thunk is wrapped with
*>* code that loads the external library. IOW, this:
*>*
*>* (require math/bigfloat)
*>*
*>* doesn't load libmpfr, but this does:
*>*
*>* pi.bf
*>*
*>* Also, I have no idea what it all has to do with a typed submodule in
*>* "math/special-functions.rkt", which is apparently what the error was
*>* complaining about. I can't work out the dependency chain. Help?
*>*
*>* (FWIW, you're right about libmpfr not being needed at compile time.
*>* Well, it shouldn't be. I used Eli's nifty interaction-fakery code forms
*>* in the `math/bigfloat' docs, for example.)
*
If you made bigfloats serializable, you could also use
'make-log-based-eval' from unstable/sandbox as an alternative to
'eval:alts'.
Ryan