Soppo – A language that compiles to Go, with the features it's missing

aghuang1 pts0 comments

GitHub - halcyonnouveau/soppo: Go, with the features it's missing. · GitHub

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Uh oh!

There was an error while loading. Please reload this page.

halcyonnouveau

soppo

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star<br>159

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>264 Commits<br>264 Commits

.github

.github

benches

benches

docs

docs

examples

examples

fuzz

fuzz

lsp

lsp

runtime

runtime

src

src

tests

tests

www

www

.gitattributes

.gitattributes

.gitignore

.gitignore

.mise.toml

.mise.toml

CHANGELOG.md

CHANGELOG.md

Cargo.lock

Cargo.lock

Cargo.toml

Cargo.toml

Dockerfile.playground

Dockerfile.playground

Dockerfile.tour

Dockerfile.tour

LICENSE

LICENSE

README.md

README.md

fly.playground.toml

fly.playground.toml

fly.tour.toml

fly.tour.toml

release-plz.toml

release-plz.toml

rustfmt.toml

rustfmt.toml

View all files

Repository files navigation

Soppo

A language that compiles to Go, adding ergonomic and type safety features that Go lacks. Soppo uses Go syntax wherever possible - if you know Go, you know most of Soppo.

Take the tour · Visit the playground · See the website

Why Soppo?

Enums & pattern matching: Tagged unions with exhaustive matching

Nil safety: Compile-time nil checks

Error handling: ? propagation with custom handling blocks

Rust-inspired diagnostics: Helpful compiler error messages

Go interop: Use any Go library directly

Batteries included: LSP, formatter, linter, test runner with doctests

See docs/guide.md for the language guide.

Installation

Install via SOPMOD, the version manager for Soppo, written in Soppo:

curl -fsSL https://soppolang.dev/install.sh | sh<br>sopmod install sop latest

Or install manually with Cargo: cargo install soppo

License

BSD 3-Clause. See LICENSE.

About<br>Go, with the features it's missing.<br>soppolang.dev<br>Topics<br>compilergogolangprogramming-languagerust<br>Resources<br>Readme<br>BSD-3-Clause license<br>Activity<br>Custom properties<br>Stars<br>159 stars<br>Watchers<br>2 watching<br>Forks<br>5 forks<br>Report repository

Releases

Packages

Contributors

Languages

You can’t perform that action at this time.

toml soppo cargo playground tour license

Related Articles