(* I did consider mldoc, but decided to use NaturalDocs instead *) signature PASSWD_FILE = sig (* Class: passwd_file passwd_file is a password relation ADT. *) type passwd_file (* Function: mkPasswdFile Load a password relation from the CSV-format file "passwd.csv". Returns: A password relation abstract data type. See Also: *) val mkPasswdFile: unit -> passwd_file (* Function: getPasswdByName This function looks up a password entry and returns the password. Parameters: pwdf - The password relation ADT. login - The user name to look up. Returns: The password for user 'login'. *) val getPasswdByName: passwd_file * string -> string val appendEntry: passwd_file * string * string -> passwd_file val save: passwd_file -> unit (* Function: doit Run the unit tests *) val doit: unit -> unit end