Raven language guides
These guides explain how to write clear Raven programs and how to choose among the language's application-level constructs. They are written for people learning and using Raven: examples lead, essential behavior is explained in context, and compiler-internal detail stays out of the learning path.
Start here
- Introduction
- Language features
- Language reference
- Raven for absolute beginners
- Raven for C# developers
- Authoring Raven macros
- Language philosophy
- Domain modeling
- Style guide
Build something
Workload guides teach the language in an application context:
Current shape in one screen
import System.Console.*
func Main() -> () {
let result = match ParsePort("8080") {
Ok(let port) => "Listening on $port"
Failure(let err) => "Invalid port: $err"
}
WriteLine(result)
}
func ParsePort(text: string) -> Result<int, string> {
return int.Parse(text) match {
Ok(let value) => Ok(value)
Failure(_) => Failure("not a number")
}
}
Use the introduction for a guided overview, the feature guides for focused concepts, the language reference for detailed rules, and the application guides for complete project shapes.
Language proposals and compiler development notes are maintained separately in the source repository. They are useful to contributors, but do not define the user-facing language documentation.