js_of_ocaml
Compiler from OCaml to Javascript. (by ocsigen)
ninja
a small build system with a focus on speed (by ninja-build)
Our great sponsors
js_of_ocaml | ninja | |
---|---|---|
4 | 51 | |
930 | 10,411 | |
1.3% | 1.6% | |
9.4 | 7.9 | |
9 days ago | 7 days ago | |
OCaml | C++ | |
GNU General Public License v3.0 or later | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
js_of_ocaml
Posts with mentions or reviews of js_of_ocaml.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-04.
-
Question about the Reason project in general
In reality, most folks that developed BuckleScript frontends with ReasonML switched to ReScript syntax and are happy with it. Some felt more friction because of their reliance on PPXes or FP-heavy libraries (like Relude) and those people tend to use the Melange fork of BuckleScript or they switched to js_of_ocaml.
-
Is there a statically typed functional programming language that doesn't take purity so seriously?
TL;DR: Reason is, and always has been, independent of ReScript (formerly BuckleScript) and is still actively maintained. If you want to use Reason or OCaml to make native code you can. If you want to compile JS from OCaml or Reason you also still can, but you'll want to use either js_of_ocaml or a BuckleScript fork named Melange that was made in response to the BuckleScript/ReScript people's shenanigans. And if you only care about JS-like syntax and JS output, you can use ReScript.
-
query-json: A story of cross-compilation with Reason
The compilation to JavaScript is the sweet section of this blog post since we are using OCaml (under the hood while writing Reason), and it allows us to compile directly to JavaScript using js_of_ocaml.
ninja
Posts with mentions or reviews of ninja.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-26.
- Using Make – writing less Makefile
-
What was used to build C++ programs before Cmake?
Ninja showed real promise for a while, but then CMake grew up and people stopped seeing a reason to leave it behind.
-
I have spent two whole work days trying to install GLEW
warning: Starting with the September 2023 release, the default triplet for vcpkg libraries will change from x86-windows to the detected host triplet (x64-windows). To resolve this message, add --triplet x86-windows to keep the same behavior. Computing installation plan... The following packages will be built and installed: * egl-registry:x86-windows -> 2022-09-20 glew:x86-windows -> 2.2.0#3 * opengl:x86-windows -> 2022-12-04#3 * opengl-registry:x86-windows -> 2022-09-29#1 * vcpkg-cmake:x64-windows -> 2023-05-04 * vcpkg-cmake-config:x64-windows -> 2022-02-06#1 Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x86-windows... A suitable version of powershell-core was not found (required v7.2.11) Downloading portable powershell-core 7.2.11... Downloading powershell-core... https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip->C:\vcpkg\downloads\PowerShell-7.2.11-win-x86.zip Downloading https://github.com/PowerShell/PowerShell/releases/download/v7.2.11/PowerShell-7.2.11-win-x86.zip Extracting powershell-core... error: while detecting compiler information: The log file content at "C:\vcpkg\buildtrees\detect_compiler\stdout-x86-windows.log" is: -- Downloading https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip -> ninja-win-1.10.2.zip... -- Configuring x86-windows CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message): Command failed: C:/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe -v Working Directory: C:/vcpkg/buildtrees/detect_compiler/x86-windows-rel/vcpkg-parallel-configure Error code: 1 See logs for more information: C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-rel-CMakeCache.txt.log C:\vcpkg\buildtrees\detect_compiler\config-x86-windows-out.log
-
Installer script for CMake, Ninja, and Meson
I thought I would share my custom installer script for the latest GitHub versions of CMake, Ninja, and Meson.
-
Building and Running Pidgin and Finch 3
Now that you have your build system all generated you can go ahead and build everything. By default Meson will use Ninja as the build tool. Ninja is similar to Make but much much faster. You can also generate additional build systems but that's outside of the scope of this post.
-
Is there any way to configure my project so I can work on it on both Windows and MacOS?
There are also some other tools like https://ninja-build.org/ that you might prefer using instead
-
Just: A Command Runner
Oh excellent, then better (and more portable!) tools are available:
and, if you hate yourself: https://bazel.build
- Classifying Python virtual environment workflows
-
Flutter 3 on Arch Linux: 始め方
Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.3.10, on Artix Linux 6.0.12-artix1-1, locale en_US.UTF-8) [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1) [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✗] Linux toolchain - develop for Linux desktop ✗ clang++ is required for Linux development. It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/ ✗ CMake is required for Linux development. It is likely available from your distribution (e.g.: apt install cmake), or can be downloaded from https://cmake.org/download/ ✗ ninja is required for Linux development. It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases ✗ pkg-config is required for Linux development. It is likely available from your distribution (e.g.: apt install pkg-config), or can be downloaded from https://www.freedesktop.org/wiki/Software/pkg-config/ [✓] Android Studio (version 2021.3) [✓] Connected device (1 available) [✓] HTTP Host Availability ! Doctor found issues in 2 categories.
What are some alternatives?
When comparing js_of_ocaml and ninja you can also consider the following projects:
meson - The Meson Build System
SCons
Bazel - a fast, scalable, multi-language and extensible build system
Invoke - Pythonic task management & command execution.
BitBake - The official bitbake Git is at https://git.openembedded.org/bitbake/. Do not open issues or file pull requests here.
PyBuilder - Software build automation tool for Python.
CMake - Mirror of CMake upstream repository
melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason
PlatformIO - Your Gateway to Embedded Software Development Excellence :alien:
xmake - 🔥 A cross-platform build utility based on Lua
Nox - Flexible test automation for Python
doit - task management & automation tool