Learn Incan
Choose the shortest route to your goal. You do not need to read the documentation in navigation order.
EvaluateDecide whether Incan fitsReview the use cases, maturity boundaries, and cases where another language is still the better choice.
TryRun a first projectInstall the toolchain, create a starter, run it, test it, and produce a native release build.
LearnStudy the fundamentalsFollow the runnable Book through values, functions, control flow, errors, models, traits, and tests.
BuildMake a representative projectChoose an executable application, library, service, data, async, or automation route.
BridgeTranslate what you knowStart from Python, Rust, TypeScript/JavaScript, or pipeline and automation experience.
ReferenceLook something upUse the generated language reference, standard-library index, and CLI reference as lookup surfaces.
Beta status — read before adopting
Incan is currently beta software. Language ergonomics and tooling may change between minor releases, so pin the toolchain range in incan.toml and review the release notes when upgrading.
The documentation distinguishes current behavior from planned or experimental work. If a documented current feature does not behave as described, please report it.
Review the release notes.
If the first-contact loop fails, go directly to Troubleshooting. To evaluate the longer-term direction, read the 1.0 domain-native demo target and 1.0 public contracts.
Choose the right problem shape
Not every data-shaped problem belongs in Incan. Use the Incan or IncQL? chooser before translating SQL, dataframe, query-planning, or lineage work into application code.
Build with the 0.5 release envelope
The executable projects below use the 0.5 release envelope. Complete Getting Started, then choose the outcome that matches your work.
ApplicationBuild a real first projectSplit a command-line project into modules, replace the placeholder test, run it, and verify the result.
AutomationBuild a typed workflow stepRun and test a deterministic step with explicit success and failure types.
DiagnosisUnderstand a failed buildCapture diagnostic JSON, ask the compiler to explain it, repair the source, and inspect the backend.
Guided spineCarry one workflow through the fundamentalsApply functions, explicit failures, modules, tests, and delivery to one cumulative project.
LibraryBuild and consume a packageExport a checked API, build its library artifact, and run a locked workspace consumer.
Typed dataBuild a JSON processorTest a typed transformation and produce a native report artifact.
WebBuild a typed APIRun a native server with checked routes and response models.
AsyncRun a worker pipelineSpawn independent jobs and preserve typed join and timeout outcomes.
Rust crateBake a native dependency boundaryLock an external crate, prepare its project extension, and run without hidden Cargo work.
Delivery preview
The remaining preview is about hosted packaging, not a missing language or runtime closure. Its local commands are verified; the published GitHub action does not yet install the complete release Loaf envelope on a clean hosted runner.
Translate your mental model
More routes
These Learn pages route readers by intent. Canonical language, tooling, reference, and contributor material remains in its owning section.