cironunes / bucklescript

A backend for the OCaml compiler which emits JavaScript.

Home Page:https://bucklescript.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

About

A backend for the OCaml compiler which emits JavaScript.

https://bucklescript.github.io

License:Other


Languages

Language:OCaml 89.0%Language:JavaScript 8.5%Language:PostScript 1.4%Language:TeX 0.5%Language:Coq 0.4%Language:Standard ML 0.1%Language:Makefile 0.1%Language:Reason 0.0%Language:C 0.0%Language:Shell 0.0%Language:CSS 0.0%Language:HTML 0.0%Language:C++ 0.0%Language:Gnuplot 0.0%