CHANGES:
- CLI: passing
--eval
tomelc
now works as expected
(#1040) - runtime: add some bindings to
Js.Bigint
(#1044) - core: emit
throw new Error(..)
rather than throwing a JS object with the
Melange exception payload
(#1036) - stdlib: fix runtime primitive for
Float.{min,max}
and related functions
(#1050) - core: emit
let
instead ofvar
in compiled JS
(#1019) - core: in compiled JS, stop generating closures in loops that capture mutable
variables (#1020) - runtime: add bindings to
Js.Set
(#1047) - runtime: add minimal bindings for JS iterators (#1060)
- core: in compiled JS, emit
const
for variables that Melange knows aren't
going to be reassigned
(#1019,
#1059). - runtime: add minimal bindings for JS iterators
(#1060) - core: handle missing
.cmj
when compiling dune virtual libraries
(#1067, fixes
#658) - core: print lambda IR after TRMC pass when
--drawlambda
is passed
(#1072) - core: remove unnecessary internal code from melange-compiler-libs, slimming
down the melange executable and speeding up the build
(#1075) - core: implement warning 51 in Melange (
wrong-tailcall-expectation
)- This warning had previously been disabled entirely in the typechecker
version that Melange uses. It becomes more important with TRMC support
added in Melange 2.1.0.
- This warning had previously been disabled entirely in the typechecker
- core: accept
esm{,-global}
in addition toes6{,-global}
for
--mel-module-type
; accept--mel-module-system
in addition to
--mel-module-type
too
(#1086). - core: upgrade the OCaml type checker version to OCaml 5.2
(#1074) - core: upgrade the Stdlib to match OCaml 5.2's
(#1078) - runtime: add bindings for functions in
WeakMap
andWeakSet
(#1058) - runtime: add bindings to
Js.Map
(#1101) - core: fix a recursive module code generation bug when submodule names inside
recursive modules are mangled
(#1111)