I just started to learn Ocaml to learn functional programming. I will use it to build a CLI that’s mostly orchestrating other programs.

My experience is mostly in JS / TS, but I’ve also coded a good bit in Python and Lua.

Below, I provided a list of things I learned or focused on while using OCaml. But I feel like I must be missing something. This is only moderately different from what I’m used to in JS. I expected something more radical. Moreover, I constantly hear a lot of FP jargon (like “highly kinded types”, monads, etc) that I feel am still missing.

So far, here’s what I studied:

  • immutability
  • avoid side affects
  • static typing
  • recursion instead of loops
  • option / maybe
  • higher order functions
  • conditionals and other constructs as expressions, when they’re statements in other languages
  • pipelines and functions as input —> output
  • currying
  • scoping with let

What am I missing?

  • kSPvhmTOlwvMd7Y7E@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    9 months ago

    I would be lying if I said that I was a professional Ocaml developer.

    I do definitely think the Jane’s library is very hard to read… But that might be my inexperience

    I personally think regular, procedural code is much easier to read ¯_(ツ)_/¯