|
|
|
|
|
by junke
3853 days ago
|
|
The static types protect you from undesired runtime behaviors with respect to OCaml's runtime semantics, but what about Javascript's one? This is better than nothing, sure, because your code is first checked in OCaml but once the code is running, it does it according to Javascript rules. I imagine there could be subtle bugs introduced during this process (e.g. your OCaml code manipulate integers, but Javascript has numbers, a.k.a. double floats, as far as I know). |
|
Here, the compiler emits (a subset of) javascript which are assumed to have a semantics, and we trust the browser engine to execute it according to the semantic.
Of course we don't assume the semantic of javascript to be sane, we just assume it follows the spec (and we emit accordingly).