Documentation
Install W#, learn what it does differently, and look things up.
W# is young, and so is this documentation. What follows is written against version 0.1.1 of the compiler and 0.1.1 of sharpie, and every claim in it is one the test suite makes too.
If you are new here
Start with Install, which takes one line, then Getting started for the shape of a program and the three commands the compiler has. After that the tour is eight short programs, each showing one thing W# does differently from the language you already use. It is worth reading in order; later pages assume the earlier ones.
If you are looking something up
The language reference is the precise version of the tour:
syntax, the type system, how an overload is selected, what an error set means,
and the compiler’s own command line. The
standard library covers what you can import, from std/str up
to std/tls.
If you want to know how it works
The internals pages are about the implementation rather than the language: how the compiler is laid out, how dispatch compiles down to two instructions, and how the collector reaches microsecond pauses. None of it is needed to write W#, and all of it explains why the language is shaped the way it is.
Limitations is the honest list of what does not work yet, each entry with the reason it was left. Status is what has been built so far.
The site itself is open source, and a correction is a pull request.
- Install One line through sharpie, a release tarball, or a build from source.
- Getting started A first program, the three commands that act on it, and how to see what the compiler is thinking.
- The tour Eight short programs, each showing one thing W# does differently.
- Language reference The precise version of the tour: syntax, types, dispatch, errors, generics, modules, and the compiler's command line.
- Standard library What you can import, from std/str up to std/tls, and the prelude that needs no import at all.
- Toolchains sharpie installs W# toolchains, keeps several side by side, and lets a directory pin the one it wants.
- Packages ingot resolves and installs, Foundry is the registry, and a hash rather than a host is what gets trusted.
- Internals How the compiler is laid out, how dispatch compiles to two instructions, and how the collector reaches microsecond pauses.
- Limitations What does not work yet, and the reason each one was left.
- Status Eleven numbered items, all of them done, and what is next.