This is in preparation for switching to the Core standard library.
Currently, the compiler relies on the presence of the Js and Belt modules for quite a few things, for example async/await (Js.Promise.unsafe_async/Js.Promise.unsafe_await) or array/list spread (Belt.List.concatMany/Belt.Array.concatMany).
You can find more such usages by searching for Lident "Js" or Lident "Belt" in the compiler sources.
This should be refactored so that functions from the runtime modules (caml_*) are used instead.
This is in preparation for switching to the Core standard library.
Currently, the compiler relies on the presence of the
JsandBeltmodules for quite a few things, for example async/await (Js.Promise.unsafe_async/Js.Promise.unsafe_await) or array/list spread (Belt.List.concatMany/Belt.Array.concatMany).You can find more such usages by searching for
Lident "Js"orLident "Belt"in the compiler sources.This should be refactored so that functions from the runtime modules (
caml_*) are used instead.