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