A modern language for .NET

Write expressive programs.
Keep the whole platform.

Raven brings typed, expression-oriented programming, algebraic modeling, and familiar object-oriented design to the .NET ecosystem.

Raven is under active development. Evolving areas are marked in the documentation.

Start here

One clear path into Raven.

Begin with the language itself. Install the compiler when you are ready to run a program locally.

  1. 1 Raven in 60 seconds

    Read one small program and learn the ideas that shape the language.

  2. 2 Take the language tour

    See functions, data modeling, patterns, failure handling, objects, and .NET interop.

  3. 3 Build and run Raven

    Set up the source-built toolchain and create your first project.

Coming from .NET? Use the default path above, or keep the Raven for C# developers guide beside it.

A real .NET workload

Build an ASP.NET Core API.

The pet-shelter sample uses ordinary ASP.NET Core routing, OpenAPI, async handlers, and streaming responses. Raven records and unions model the API domain without giving up the framework you already know.

Build the web API
ASP.NET CoreMinimal APIs and dependency injection
Typed domainsRecords, unions, and pattern matching
Production shapesOpenAPI, async handlers, and streams

Already learning Raven? Go directly to the language feature guides, look up syntax and precise rules in the language reference, or open the tooling documentation.