10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-11-07 06:33:38 +01:00

Tail recursion

This commit is contained in:
Anthony Scemama 2020-04-16 00:42:51 +02:00
parent 9fede1e06c
commit 21a3b36f79

View File

@ -122,10 +122,15 @@ let update_raw_data ?(locked=true) () =
let result = let result =
let rec aux ic accu = let rec aux ic accu =
let l =
try try
aux ic ( (input_line ic)::accu ) Some (input_line ic)
with with
| End_of_file -> List.rev accu | End_of_file -> None
in
match l with
| None -> List.rev accu
| Some l -> (aux [@tailcall]) ic (l::accu)
in in
List.concat_map (fun filename -> List.concat_map (fun filename ->
let ic = open_in filename in let ic = open_in filename in