10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-10-30 10:48:08 +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 rec aux ic accu =
try
aux ic ( (input_line ic)::accu )
with
| End_of_file -> List.rev accu
let l =
try
Some (input_line ic)
with
| End_of_file -> None
in
match l with
| None -> List.rev accu
| Some l -> (aux [@tailcall]) ic (l::accu)
in
List.concat_map (fun filename ->
let ic = open_in filename in