| ▲ | IshKebab 6 hours ago | ||||||||||||||||||||||||||||
OCaml isn't pure. | |||||||||||||||||||||||||||||
| ▲ | avsm 4 hours ago | parent | next [-] | ||||||||||||||||||||||||||||
(author here) it's actually the module system of OCaml that's amazing for large-scale code, not the effects. I just find that after a certain scale, being able to manipulate module signatures independently makes refactoring of large projects a breeze. Meanwhile, in Python, I just haven't figured out how to effectively do the same (even with uv ruff and other affordances) without writing a ton of tests. I'm sure it's possible, but OCaml's spoilt me enough that I don't want to have to learn it any more :-) | |||||||||||||||||||||||||||||
| ▲ | pkal 5 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||
I recently realized that "pure functional" has two meanings, one is no side-effects (functional programmers, especially of languages like Haskell use it this way) and the other is that it doesn't have imperative fragments (the jump ISWIM to SASL dropped the non-functional parts inherited from ALGOL 60). A question seems to be whether you want to view sequencing as syntax sugar for lambda expressions or not? | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||