Open source · MIT license

Help build Soplang

Soplang is built in the open by students, teachers, and developers. Code, documentation, examples, and Somali proofreading all move the language forward.

GitHub stars
230
Forks
61
Contributors
17
Downloads
797
Open issues
3

Live from GitHub, updated every hour.

Ways to help

Pick what suits you

Compiler

Fix bugs and add features in the Rust compiler: the lexer, parser, type checker, and Cranelift backend.

Good first issues

Documentation

Correct examples, explain concepts more clearly, and add pages for parts of the language that are missing.

Website repository

Somali language

Proofread Somali text in the docs and error messages, and suggest clearer words for keywords and terms.

Suggest a change

Bug reports

Found a program that behaves wrongly? Open an issue with the code, what you expected, and what happened.

Open an issue

Development setup

Build it locally

The compiler is written in Rust. Install the toolchain from rustup.rs, or use the Docker setup if you would rather not install anything.

  1. 01

    Fork and clone

    Fork soplang/soplang on GitHub, then clone your fork.

  2. 02

    Create a branch

    Keep each change on its own branch, named after what it does.

  3. 03

    Build and test

    Run cargo test and the pre-commit hooks before you commit.

  4. 04

    Open a pull request

    Target the main branch and describe what changed and why.

Local (Rust)
git clone https://github.com/soplang/soplang.git
cd soplang

cargo build --release
cargo test

# Run a program, or open the REPL
make run FILE=examples/hello.sop
make shell
Docker
docker-compose build
docker-compose up -d

docker-compose exec soplang soplang -i
docker-compose exec soplang cargo test

Report a security issue

Please do not open a public issue for a vulnerability. Email [email protected] and read the security policy.

Code of conduct

Be kind and patient, especially with people writing their first program. Read the code of conduct.