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

    bs-platform

ReScript compiler, OCaml standard libary by ReScript and its required runtime support


Version published
Weekly downloads
5.5K
increased by19.28%
Maintainers
1
Install size
136 MB
Created
Weekly downloads
 

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

Readme

Source

ReScript

The compiler for ReScript.

npm version Build Status

Documentation

Please see the documentation site.

Contributing

See CONTRIBUTING.md.

Acknowledgments

  • Thanks to the OCaml team, obviously, without such a beautiful yet practical language, this backend would not exist
  • Thanks to ninja-build, ReScript also comes with a blazing fast build tool on top of it, ninja is a truly well engineered scalable build tool
  • Thanks to Bloomberg and Facebook. This project began at Bloomberg and was published in 2016; without the support of Bloomberg, it would not have happened. This project's funded by Facebook since July/2017

Roadmap

Licensing

See COPYING and COPYING.LESSER

The ocaml directory contains the official OCaml compiler (version 4.06.1). Refer to its copyright and license notices for information about its licensing.

The vendor/ninja.tar.gz contains the vendored ninja. Refer to its copyright and license notices for information about its licensing.

ReScript builds on parts of js_of_ocaml:

ReScript builds on parts of OCaml:

These modules were adapted from ocaml/bytecomp/simplif.ml for JavaScript specific optimization purposes.

jscomp/main/js_main.ml is adapted from ocaml/driver/main.ml. It is the main entry point of the underlying compiler.

jscomp/stdlib-* is copied from ocaml/stdlib. It is compiled to JavaScript and included with ReScript.

jscomp/test is based on ocaml/testsuite.

ReScript unit test builds on parts of OUnit

  • jscomp/ounit is adapted from ounit, the unit test utilities are only used for dev purpose, they are not required for distribution

Keywords

FAQs

Last updated on 11 Mar 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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