github melange-re/melange 4.0.0-51

latest releases: 4.0.1-52, 4.0.0-52
one month ago

CHANGES:

  • CLI: passing --eval to melc 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 of var 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.
  • core: accept esm{,-global} in addition to es6{,-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 and WeakSet
    (#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)

Don't miss a new melange release

NewReleases is sending notifications on new releases.