Compiles to WebAssembly
Small. Strict. Inferred.
Bert is a small, strict, functional language with inferred types. It compiles straight to WebAssembly.
Less to write, less to go wrong.
Bert infers every type, treats failure as ordinary data, and compiles to one portable artifact.
Errors are data
A failing call returns a Result. The trailing ? unwraps it or returns the error, and every error tag adds itself to the type.
Structural types, no ceremony
Records and variants are plain values. A function that reads a field accepts any record that has it.
One compiler, two targets
Build a core WebAssembly module for WASI preview1 or your own host, or a WebAssembly component for WASI 0.2.
Learn by building.
A first program, then two tutorials that build a command-line tool and a web server.
Write your first Bert program.
Open the playground, change a few lines, and see the result. Nothing to install.