Skip to content

solarbrowser/quanta

Repository files navigation

Quanta

Quanta is an experimental ECMAScript (or JS) engine focused on both memory efficiency and execution speed.

Specification Support

Test262

You can review executed tests here: quanta.js.org

If the results are outdated, use the dedicated runner


For Developers

Documentation

You can reach all the documentation files from here.

Build

Details

Quanta uses Clang++ across all platforms.

Windows
# Install LLVM and add to PATH
clang++ --version

git clone https://github.com/solarbrowser/quanta
cd quanta
build-windows.bat
Linux
# Ubuntu/Debian
sudo apt install clang lld

# Fedora
sudo dnf install clang lld

# Arch
sudo pacman -S clang lld

git clone https://github.com/solarbrowser/quanta
cd quanta
./build.sh
# or
make -j$(nproc)
macOS
xcode-select --install

git clone https://github.com/solarbrowser/quanta
cd quanta
./build.sh
# or
make -j$(nproc)
Build Outputs
  • Windows: build/bin/quanta.exe
  • Linux/macOS: build/bin/quanta
  • Static Library: build/libquanta.a
  • Logs: build/build.log, build/errors.log
Usage
# Run a JavaScript file
./build/bin/quanta example.js

# Start REPL
./build/bin/quanta

Troubleshooting

Details

Clang not found

  • Windows: Ensure LLVM is in PATH, restart terminal
  • Linux: Install clang and lld

Build errors

make clean
# or delete build/ directory

Check logs:

build/errors.log

Roadmap

  • Improve spec compliance
  • Implement bytecode virtual machine (VM)

More here

Contributing

Please ignore the CONTRIBUTING.md file for now. I kept it because I don’t want to recreate it when the initial release is ready.

At this stage, I want to fully shape Quanta’s architecture on my own, without external changes. The engine is evolving rapidly, and even small additions can unintentionally break other parts of the system. For that reason, I prefer to develop it solo until the initial release. Thanks for your understanding and for considering contributing!


License

This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.

About

Experimental ECMAScript (js) engine written in C++

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages