Socket
Socket
Sign inDemoInstall

bs-platform

Package Overview
Dependencies
0
Maintainers
1
Versions
205
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
2345
21Next

9.0.2

Diff

Changelog

Source

9.0.2

  • #4990 Fix an optimization bug introduced in 9.0

  • #4982 pattern match over modules

Provide user with a sugar to pattern match over modules:

let {length, cons} = module(List)

More discussions can be found here

9.0

  • #4933 update syntax bf6561bb5d84 syntax changes listed here

  • #4934 generate @pure annotations to help esbuild remove more dead code

  • #4932 #4931 turn flow syntax checking from a error into warning 103, so it can be turned off as below

@@config({
  flags: ["-w", "-103"],
})

%%raw(`
if (import.meta.hot){
  console.log('es6')
}
`)

The rationale is that flow could be not standard compilant so we need provide a work around, here import.meta is something new in Ecmascript

  • #4926 #4928 internal changes, move jscomp/syntax to jscomp/frontend to avoid conflicts

  • #4924 #4927 better code generated for pattern match. Take advantage of the JS runtime, some predicates can be simplified

  • #4920 #4925 support external-stdlib config

"external-stdlib" : "@rescript/std"
  • #4922 #4923 *breaking changes" Allow embed records in structural js objects

  • #4908 #4919 #4917 #4916 #4914 #4913 #4910 Get rid of camlp4 as a dev dependency, introduce an optimized visitor pattern generator, better performance, no object usage and less dependency thanks to wasm

  • #4911 Relax uninterpretable attributes from error to warn to make ppx_deriving happy

  • #4905 internal add Js_exn.anyToExnInternal

  • #4903 porting to open BSD/adJ

  • #4902 for stdlib es6 artifacts ship .mjs instead of .js, so that on the user side, if they config es6 with .mjs, it will work out of box

  • #4900 #4986 ' in string literals does not need to be escaped

  • #4893 internal simplify numbers in JS IR

  • #4892 #4891 internal simplify boxed int operations

  • #4890 clean up constant in lambda IR, fix a subtle bug when do constant folding

  • #4888 #4881 support external in private block

  • #4882 #4884 #4887 remove nativeint, not allow literlas like 3n

  • #4873 #4875 #4876 better code generation for pattern match

  • #4870 fix typo in uncurried error message

  • #4867 internal clean up bsb_helper

hongbo_zhang
published 9.0.1 •

hongbo_zhang
published 9.0.0 •

hongbo_zhang
published 8.4.2 •

Changelog

Source

8.4.2

  • #4864 #4865 Not install dev directory for pinned dependencies
  • #4863 for a package, only cmi/cmj artifact changes will trigger a rebuild
hongbo_zhang
published 8.4.2-dev.1 •

hongbo_zhang
published 8.4.1 •

Changelog

Source

8.4.1

  • Syntax submodule upgrades from 7f5c968 to 7cc70c9

  • #4856 #4858 Improve code generation for pattern match: Input:

    type t =
      | A
      | B
      | C
      | D (int )
      | E (int)
    
    let f = x => {
      switch x {
          | A => 0
          | B => 1
          | C => 2
          | D (x) => x
          | E (x) => x + 1
      }
    }
    

    Output was:

      function f(x) {
        if (typeof x !== "number") {
          if (x.TAG) {
          return x._0 + 1 | 0;
        } else {
          return x._0;
        }
    
        switch (x) {
          case /* A */0 :
            return 0;
          case /* B */1 :
            return 1;
          case /* C */2 :
            return 2;
      }
    }
    

    Now:

    function f(x) {
      if (typeof x !== "number") {
        if (x.TAG === /* D */ 0) {
          return x._0;
        } else {
          return (x._0 + 1) | 0;
        }
      }
      switch (x) {
        case /* A */ 0:
          return 0;
        case /* B */ 1:
          return 1;
        case /* C */ 2:
          return 2;
      }
    }
    
  • #4855 internal changes changes to compiler-libs will trigger a rebuild of the compiler, this allows us to see how changes of compiler-libs affect bsc.exe quickly

  • #4850 replace ocp-ocamlres with a lightweight nodejs script, get rid of such dev dependency

  • #4854 #4848 #4847 #4844 #4836 #4826 #4824

    Pinned packages support and -make-world respect changes of dependencies

  • #4840 #4841 more robust handling of removing stale output

  • #4831 use relative paths in the command line It will be expanded to absolute path right after the compiler see the path, such changes work better with the underlying ninja build engine, and should perform slightly better

  • #4828 no need pass -o for compiling, inferred directly (with namespace support too)

  • #4827 internal the dev version of bsc now behave roughly the same as the released version

  • #4825 fix a typo in the warning %@string -> @string

  • #4823 introduce a new warning 109: toplevel expression is expected to have type unit It is turned on as warn-error by default. This warning is introduced to avoid partial application errors in a curried language

  • #4822 more robust hanlding of : ignore warnings and warn-error when bsb is building dependencies

hongbo_zhang
published 8.4.0 •

hongbo_zhang
published 8.4.0-dev.4 •

hongbo_zhang
published 8.4.0-dev.3 •

hongbo_zhang
published 8.4.0-dev.2 •

2345
21Next
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc