I’ll also give this example of a “situation”: What is the proper way to use different libraries depending on the environment?
Seems like OCaml is in a transition regarding
Num being converted into
jsoo has some implementation of
Num and basically “no documentation” is available on how to use any of these (or at least you have to go read the docs on an older OCaml release)
When I try to search for
Num I arrive here, where the header says it’s “legacy”: https://github.com/ocaml/num
When I go to Zarith, it’s assumed that I know how to use
Num. When I go to JSOO, it’s assumed that I know how to use
Num. It’s not easy to figure out how all these play together.
The naive reaction to something like this (if I wasn’t already used to dealing with things like this) would be:
OCaml is unstable. Of course I already know that the nature of OCaml allows it to do such transitions without becoming “unstable” at all. But this wasn’t at all obvious to less experienced me. I guess to most people it means “you shouldn’t use this language”.
It’s not easy to figure out how to use Big Ints and rationals at all. Especially to someone who is used to Python’s
Decimal which actually “just works” and most of the time you don’t care about the underlying implementation. The README of
Num points to a paper from 1992 which explains how things work in the CAML language.
Of course, I managed to do some stuff, but I am still in front of the dilemma of “WTF am I doing here”? I am a bit ashamed to ask on how to use rationals, because I’m questioning my understanding of basic CS concepts . But after my confession I’ll go forward and just ask in that topic