[racket-dev] Math library pushed

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Nov 16 14:44:55 EST 2012

I'm seeing two build problems on Mac OS X:

 * No "libmpfr.dylib"

   This looks like a problem with `math/private/matrix/matrix-sequences'
   importing `math/matrix' at too many phases. Removing the `for-syntax'
   and `for-template' imports let me get past this one.

   (I won't be able to run `math' libraries without "libmpfr.dylib",
   but I should be able to compile them.)

 * require: unknown module
    module name: #<resolved-module-path:(submod 
    "/Users/mflatt/proj/plt/collects/math/special-functions.rkt" typed-module5)>

   So far, this one looks like a problem with finding a submodule in a
   ".zo" file --- that is, a bug that I will have to track down and

At Fri, 16 Nov 2012 11:59:59 -0700, Neil Toronto wrote:
> I've just made the initial commit for the math library. You will all 
> notice the build time increase. Some will notice that "(require math)" 
> imports a bunch of goodies that Racket didn't have before.
> About half is documented so far, and half has coverage in the test 
> cases. Some things are known to be broken, but not many. The most 
> egregious, which needs to be fixed very soon, is this one:
>    *****
>    Because of recent changes to how Typed Racket deals with Any types at
>    the contract boundary, typed/rackunit cannot now test higher-order
>    values, such as arrays.
>    *****
> A practical consequence is that "math/tests/array-tests.rkt" simply 
> doesn't run.
> One thing I'm not sure of is whether the FFI to libmpfr works on all our 
> supported platforms. Could I have all the devs run the following program 
> after your next compile?
>    #lang racket
>    (require math/bigfloat)
>    (parameterize ([bf-precision 8192])
>      pi.bf)
> Then reply with the last four digits printed. They should be "4888". If 
> the program doesn't run because Racket can't load libmpfr, it's an 
> opportunity to test the documentation. Please see if I've made the docs 
> for the `math/bigfloat' module clear enough to help you fix the problem.
> Thanks!
> Neil ⊥
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.