Thank you @jhaberku for your detailled answer! The doc is huge and it is not easy to find the info we need
About ;;
, isn’t it mandatory for multiple lines declarations? Like in:
let rec getVars (formula : tformula) : VarsSet.t =
match formula with
| Value _ -> VarsSet.empty
| Var var -> VarsSet.singleton var
| Not f -> getVars f
| And (f1, f2) -> VarsSet.union (getVars f1) (getVars f2)
| Or (f1, f2) -> VarsSet.union (getVars f1) (getVars f2)
| Implies (f1, f2) -> VarsSet.union (getVars f1) (getVars f2)
| Equivalent (f1, f2) -> VarsSet.union (getVars f1) (getVars f2);;
? Without ;;
the compiler complains on the next line.