Оператор !
имеет специальное значение в F # и определяется как:
type 'a ref { Contents : 'a }
let (!) (x : ref 'a) = x.Contents
Вы получаете ошибку, потому что оператор !
ожидает bool ref
, но вы передали его bool
.
Вместо этого используйте функцию not
:
if not(File.Exists(doFile)) then
printfn "doFile doesn't exist %s" doFile; failwith "quit"