Rob's suggestion of using the export should do what you want:
PolyML.export("noprint-poly", ?(fn () => (PolyML.print_depth 0; ? ? ? ? ? ?PolyML.Compiler.prompt1 := ""; ? ? ? ? ? ?PolyML.Compiler.prompt2 := ""; ? ? ? ? ? ?PolyML.rootFunction ())) );
Then you can run to make the new ml binary: ?cc -o empty-top-level-poly noprint-poly.o -lpolymain -lpolyml
Sorry, I can not reproduce this on my computer, the compiling yields:
,------------------------------------------------------------- [hf@mail ~]$ cc -o empty-top-level-poly noprint-poly.o -lpolymain -lpolyml /usr/bin/ld: cannot find -lpolymain `-------------------------------------------------------------
Regards, Hong