Ferret is a modern, compiled programming language focused on safety, clarity, and developer experience. The language and its ecosystem are developed and maintained by the Ferret‑Language organization.
Our guiding principles are:
- It does what it looks like - intuitive syntax and predictable semantics.
- Helpful error messages - clear, actionable diagnostics that explain what went wrong and how to fix it.
- Fast compilation - a smooth, responsive development workflow.
Main compiler and language implementation
The core Ferret compiler, written in Go, implementing the language, type system, and error reporting.
- Language design and semantics
- Native and WASM builds
- Detailed, user‑friendly compiler errors
📦 Repo: Ferret-Language/Ferret
Tree‑sitter grammar for Ferret
Provides a Tree‑sitter parser for the Ferret language, enabling rich editor features such as syntax highlighting and structural editing.
- Grammar definition
- Parser generation and tests
📦 Repo: Ferret-Language/tree-sitter-ferret
VS Code language support
Visual Studio Code extension offering syntax highlighting and basic language features for Ferret.
.ferand project file highlighting- Optional integration with the Ferret compiler for diagnostics
📦 Repo: Ferret-Language/vscode-extension
Zed editor extension
Syntax highlighting, indentation, and bracket matching for Ferret in the Zed editor.
📦 Repo: Ferret-Language/ferret-language-support
Official Ferret website
Source code for the Ferret compiler website.
📦 Repo: Ferret-Language/website
To try Ferret today:
- Clone the compiler repository
- Run the compiler using the provided scripts
- Write and compile your first
.ferprogram
Detailed instructions are available in the main compiler repository.
Ferret currently supports:
- VS Code (official extension)
- Zed (official extension)
- Tree‑sitter‑based editors via the grammar repository
Contributions are welcome! Whether you’re interested in:
- Language design
- Compiler internals
- Tooling and editor support
- Documentation and examples
Please open an issue or discussion before starting large changes.
Most Ferret projects are licensed under the Mozilla Public License 2.0 (MPL‑2.0) unless stated otherwise. See individual repositories for details.
- GitHub Discussions for questions and ideas
- Issues for bug reports and feature requests
We’re building Ferret to be a language that feels solid, predictable, and pleasant to use - contributions and feedback are always appreciated.