this post was submitted on 05 Feb 2024
23 points (96.0% liked)

Programming

17424 readers
45 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

cross-posted from: https://lemy.lol/post/19181146

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?

you are viewing a single comment's thread
view the rest of the comments
[–] ericjmorey@programming.dev 7 points 9 months ago (1 children)

Whatever you're not familiar in the digital textbook OCaml Programming: Correct + Efficient + Beautiful

There's a whole chapter on modules

There's also a section on Monads

You should also know that there is a schism in OCaml ecosystem created by the libraries developed by Jane Street and the those developed by INRIA.

[–] matcha_addict@lemy.lol 1 points 9 months ago (1 children)

I did see the Jane street stuff. Is it better to use them instead of the standard library?

[–] ericjmorey@programming.dev 1 points 9 months ago

I don't know if one is better than the other, but knowing that certain libraries are incompatible based on this bifurcation is a good thing to remember.