Coming from Rust (evaluator)¶
This page routes Rust-first evaluators who want to understand where Incan keeps Rust-shaped semantics and where it trades surface syntax for application-code ergonomics.
Install first¶
If you already use Cargo and want a source-built compiler, install the release source directly from Git with the LSP feature enabled so both incan and incan-lsp are installed:
cargo install --git https://github.com/encero-systems/incan.git --tag v0.4.0 --locked --features lsp --bin incan --bin incan-lsp
incan --version
incan-lsp --version
If you want the faster binary toolchain path instead, use the release installer. This path can also bootstrap the stable Rust backend through rustup on a fresh machine:
curl -fsSL https://github.com/encero-systems/incan/releases/latest/download/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
incan --version
incan-lsp --version
After installation, create a project and run the normal first-contact loop:
incan new hello --yes
cd hello
incan run
incan test
incan build --release
What you should do next¶
- Quickstart: Getting Started (toolchain install, starter project, and source-build fallback for contributors)
- Explanation:
- Interop: Rust Interop
- Error handling: Fallible and infallible paths
- Projects today: Projects today
- Reference surfaces:
- Stability: Stability policy + Release notes
- Evolution surfaces:
What to look for¶
- Clear boundaries: what exists today vs roadmap (especially for WASM/frontend)
- “Stable vs experimental” labeling without forcing you to read RFCs first
- Rust-shaped
Resultcomposition: Incan keepsmap,map_err,and_then,or_else,inspect, andinspect_errrather than adding Python-style aliases, with callable arguments documented asCallable[...]