MLton runs fine on the Sparc architecture.
Notes
-
When compiling for Sparc, MLton targets the 32-bit Sparc architecture (i.e., Sparc V8).
-
When compiling for Sparc, MLton doesn’t support native code generation (
-codegen native). Hence, performance is not as good as it might be and compile times are longer. Also, the quality of code generated bygccis important. By default, MLton callsgcc -O1. You can change this by calling MLton with-cc-opt -O2. We have seen this speed up some programs by as much as 30%, especially those involving floating point; however, it can also more than double compile times. -
When compiling for Sparc, MLton uses
-align 8by default. While this speeds up reals, it also may increase object sizes. If your program does not make significant use of reals, you might see a speedup with-align 4.
Known issues
-
Bootstrapping on the Sparc architecture is so slow as to be impractical (many hours on a 500MHz UltraSparc). For this reason, we strongly recommend building with a cross compiler.