This is an -*- indented-text -*- document describing some of the technical details behind mosmlpm. Last mosdified by ken Friis Larsen July 15, 2000. Filenames --------- All filenames are transformed to be fullpath'ed so as they have a cannonical name. Source files handled by mosmlpm should have extension ".sml". Recompilation and cut-off ------------------------- We have tow cases for a .sml file: 1. When no .sig exists: Then .sml sould be recompiled if the context is dirty or .sml is newer than .uo or .ui or the pm file that contains .sml is newer than .uo or .ui and .{ui,uo} exists. If recompilation occurs then the following context is dirty. 2. When a .sig exists: Then .sig should be recompiled if the context is dirty or .sig is newer than .ui. And .sml sould be recompiled if the context is dirty or .sig is recompiled or .sml is newer than .uo Both .{sig,sml} should be recompiled if the pm file that contains .sml is newer than .uo or .ui and .{ui,uo} exists. The context is dirty if .sig is recompiled. A file f1 is newer than a file f2 if f2 don't exists or f1 has a newer/higher modification time than f2. (Assuming f1 exists).