Documentation
Welcome to the Sailfin documentation. Whether you're new to the language or looking for a specific reference, start here.
Getting Started
- Installing Sailfin — Set up the compiler and toolchain
- Hello, World! — Write your first program
- Tour of Sailfin — A guided introduction to the language
Learning Sailfin
- Language Basics — Variables, types, and control flow
- Functions & Methods — Defining and calling functions
- Types & Structs — Custom types, enums, and interfaces
- The Effect System — Capability-based security
- Ownership & Borrowing — Memory safety
- Error Handling — Try/catch and results
- Concurrency — Routines, channels, and async
- AI Constructs — Models, prompts, and pipelines
- Testing — Built-in test framework
- Effective Sailfin — Best practices and idioms
Reference
- Language Specification — Complete language spec
- Grammar (EBNF) — Formal grammar
- Keywords — Reserved keywords
- Effect System — Effect reference
- Standard Library — Prelude and stdlib
- CLI Reference — The sfn command
- Runtime ABI — Native runtime spec
Advanced
- Capsules & Packages — Package management
- Workspaces — Multi-capsule projects
- Models & Pipelines — Advanced AI features
- Unsafe & FFI — Foreign function interface
Contributing
- Contributor Guide — How to contribute
- Compiler Architecture — How the compiler works
- Style Guide — Code conventions
- Roadmap — What's planned