4 ms·
IMO OCaml is mind-bending (e.g. go figure out the 'in' keyword, I still don't understand it), F# is much easier/simpler.
by siwatanejo 4mo ago
IMO OCaml is mind-bending (e.g. go figure out the 'in' keyword, I still don't understand it), F# is much easier/simpler.
- tuvix 4mo agoNever 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
- debugnik 4mo agoThe 'in' keyword is purely syntax, like semicolons/newlines or braces in your language of choice.
- siwatanejo 4mo agoYeah and it's fucking ugly and unreadable, it shouldn't be allowed.
- mega_dean 4mo agoThat was my reaction at first, but I got used to it pretty quickly. Some of the other bizarre syntax bothered me for much longer, like using semicolons for list separators, eg [1;2;3] instead of [1,2,3]. I briefly tried to use Reason since it “fixed” a lot of my biggest issues with the syntax, but it wasn’t worth it overall so I went back to plain ocaml pretty quickly. I didn’t look very closely at F# at the time, but I remember thinking it looked like “ocaml with more normal syntax”.
- spider-mario 4mo ago`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/HpTrI4 https://ideone.com/HpTrI4
- shikck200 4mo agoOcaml is just an ML in the traditional sense. It keep scope without curlies. There is really not much else to it.