+++ /dev/null
-let rec assert_ng mapath ngpath =
- let to_be_compiled =
- if exists_file ngpath then
- let preamble = preamble_of_ngpath ngpath in
- let children_bad = List.exists assert_ng preamble in
- children_bad || date mapath > date ngpath
- else
- true
- in
- if to_be_compiled then
- if already_loaded ngpath then
- (* maybe recompiling it I would get the same... *)
- raise (AlreadyLoaded mapath)
- else
- begin
- compile mapath;
- true
- end
- else
- false
-
-and compile mapath =
- let oldstatus = status in
- let status = toplevel (new status) (content_of mapath) in
- salva_su_disco status;
- oldstatus
-
-and toplevel status testo =
- List.fold
- (fun status cmd ->
- match cmd with
- Include mapath ->
- let ngpath = ... mapath in
- assert_ng mapath ngpath;
- carico ngpath
- | -> ...
- ) status testo
-;;