IMO OCaml is mind-bending (e.g. go figure out the 'in' keyword, I still don't understand it), F# is much easier/simpler.
loading story #48403718
`let <var> = <expr> in <expr>` is an expression. Top-level bindings are just `let <var> = <expr>`. That’s pretty much all there is to it.
let fac =
let rec fac' acc = function
| 0 -> acc
| n -> fac' (n * acc) (n - 1)
in
fac' 1
let seven =
let four = 4 and three = 3 in
four + three
https://ideone.com/HpTrI4The 'in' keyword is purely syntax, like semicolons/newlines or braces in your language of choice.
Never used OCaml but it seems like a way to chain together expressions using the same variable name? Seems odd but I could see myself using it