Given this F# library code
From Main
open FileMaint
let log_file = FileMaint.fm.generate_log_file
From library
module FileMaint
.
.
.
[<AutoOpen>]
(* return_unique_file_name just returns as close to a unique file name piece based on clock time. *)
module fm =
(* Checks for presense of a file name. *)
let is_file_present file_name =
let rc =
if File.Exists file_name then
true
else
false
rc
(* Initialize a log file. *)
let generate_log_file =
let log_file_name =
if File.Exists(base_log_file) then
test_and_reset_unique_file_name local_dir base_log_file
else
base_log_file
use fH = new StreamWriter(log_file_name, true)
fH.WriteLine(generate_time_stamp + ": " + log_file_name + " initialized.")
From my "main", I can step into call is_file_present
, but I cannot step into, nor will generate_log_file
execute.
However, after defining parenthesis on the generate_log_file
library function, like this generate_log_file ()
, and then calling it, the function executes (and I can step into the function).
So, it seems like empty parentheses indicate a placeholder when a function has no parameters. Is that correct?