Open cknitt opened 2 months ago
This also applies to type definitions. Js.Re.t
is used somewhere, and the JSX PPX is using Js.Nullable.t
.
So maybe there should also be a caml_types.res
as a source for the type definitions used by Core, Js, Belt, etc.
The runtime modules are listed in this file BTW:
This fixes arrays spreads to not rely on Belt: https://github.com/rescript-lang/rescript-compiler/pull/7034
This is in preparation for switching to the Core standard library.
Currently, the compiler relies on the presence of the
Js
andBelt
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"
orLident "Belt"
in the compiler sources.This should be refactored so that functions from the runtime modules (
caml_*
) are used instead.