Calling ML from C
Yes, under Lattice, you can optimize functions to keep things in registers
between calls which leads to the link-less subroutines you saw… in the
past, it was more common to see all subroutine calls begin and end with
link and unlink. Haven't you tried reading the Lattice manual about this?
The sections that describe the related areas of this (pragmas, command line
switches, etc.) describe what happens in terms of the generated code.