Thanks for the various comments on fixed precision integer. I've now
implemented two different mechanisms for compatibility with arbitrary
precision int.
There is a configure option --enable-intinf-as-int. This causes
polyimport to build the basis library with int as arbitrary precision
integer rather than fixed precision.
The second mechanism is to build a module. Calling
PolyML.loadModule "IntAsIntInf";
loads a module that sets the compiler's default overloading to arbitrary
precision and loads replacements for most of the basis library. I added
modules to Poly/ML 5.6 as a way of providing extensions to the existing
basis library and this is the first example. Note that this assumes
that "poly" has been installed using "make install" and the module has
been copied to its installation location. If you're testing it within
the build tree you need
PolyML.loadModule "modules/IntAsIntInf/IntAsIntInf";
There are a few cases that aren't covered but they are only likely to
affect a few people. Specifically, when installing pretty printers the
"depth" argument is always FixedInt.int. There may be a few other case
where functions are tightly integrated into the compiler. The
IntAsIntInf module covers most of the basis library but currently
excludes socket IO and a few other cases. It can probably be extended
as necessary.
David
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml