The Wayback Machine - https://web.archive.org/web/20200528055729/https://github.com/BuckleScript/bucklescript
Skip to content
A backend for the OCaml compiler which emits JavaScript.
OCaml JavaScript PostScript TeX Coq Reason Other
Branch: master
Clone or download

Latest commit

Latest commit 910baf6 May 28, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Image .circleci tweak ci scripts Mar 12, 2020
Image .github fix jsoo_refmt_main + delete playground folder May 16, 2020
Image .vscode remove Pstring_set_{16,32,64} which does not make sense Feb 27, 2020
Image darwin add COPYING Feb 15, 2020
Image docs update docs Mar 24, 2020
Image esy.lock Update esy.json: update compiler ref Feb 26, 2020
Image freebsd FIX CI, change binary layout Feb 16, 2020
Image jscomp continue cleanup May 27, 2020
Image lib continue cleanup May 27, 2020
Image linux add COPYING Feb 15, 2020
Image ocaml @ 018a24a snapshot May 27, 2020
Image odoc_gen make vendored code warning free Jan 30, 2020
Image scripts remove jsx v2 May 27, 2020
Image site Update OCaml-call-JS.adoc Mar 14, 2020
Image vendor using bytecode jsoo May 11, 2020
Image win32 add COPYING Feb 15, 2020
Image .gitattributes Remove some dead metadata (#2574) Mar 5, 2018
Image .gitignore tweak ci scripts Mar 12, 2020
Image .gitmodules use submodule Mar 25, 2019
Image .istanbul.yml tweak Dec 21, 2017
Image .npmignore remove unused js files, ignore jsoo bytecode when publishing May 27, 2020
Image 4061.json Use folders from esy ocaml for snapshots Nov 1, 2019
Image CONTRIBUTING.md Fixing typo Jan 28, 2020
Image COPYING [license] update license Apr 29, 2016
Image COPYING.LESSER [license] update license Apr 29, 2016
Image Changes.md snapshot May 8, 2020
Image DCO.md Add contribution process guidelines and DCO Mar 9, 2016
Image LICENSE [license] update license Apr 29, 2016
Image README.md add a link to roadmap May 19, 2020
Image bsb add a space after "acquire lockfile" stderr message Mar 2, 2020
Image bsc FIX CI, change binary layout Feb 16, 2020
Image bsconfig.json remove unused bsconfig Mar 12, 2020
Image bspack.json remove realpath.c Dec 15, 2019
Image bsrefmt fix #4175 Feb 21, 2020
Image esy.json fix version Feb 29, 2020
Image package-lock.json run npm audit fix security issues Mar 22, 2020
Image package.json bump version May 14, 2020

README.md

BuckleScript

A JavaScript backend for OCaml focused on smooth integration and clean generated code.

NPM 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, BuckleScript 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.02.3). 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.

BuckleScript builds on parts of js_of_ocaml:

BuckleScript 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 BuckleScript.

jscomp/test is based on ocaml/testsuite.

BuckleScript 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
You can’t perform that action at this time.