Public release v1.8.0 · Spec v0.2.0-draft · Star on GitHub

Learning

Several paths into Crisp: a short tutorial for beginners, the quickstart for project layout, and the draft spec when you need precise semantics.

Repository examples

Clone the repo and try these with crisp run / crisp test.

  • examples/closures — function values, holes, trailing last-arg, field/method sections
  • examples/hello — shapes, implicit generics, field defaults
  • examples/math, examples/float_demo — numbers, prelude exp/sin/cos/tanh/sqrt
  • examples/loopswhile / for / loop and chained else if
  • examples/vec_ops — implicit vec<T> and xs[i]
  • examples/fallible — ambient errors with !, throw, catch
  • examples/show_trait, examples/trait_defaults, examples/std_traits — traits, defaults, Show/Eq/Ord
  • examples/shapes — data shapes → generated traits
  • examples/generics_implicit (preferred), examples/generics, examples/shapes_generic, examples/shapes_user, examples/generics_pub — implicit binders, pins, inferred T bounds (#84), pub schemes
  • examples/rust_import, examples/net_http, examples/path_dep — Rust crate interop, path deps, extern rust
  • examples/async_hello — async / Tokio
  • examples/ffiextern "C"
  • examples/nested_math, examples/nested_types — nested modules; type use emits crate::

Honest limits

This is a Rust-hosted bootstrap (v1.8.0 public release) — not self-hosted yet. Sharp edges today: method/anonymous shapes, written generic trait bounds / dyn Trait. Function values remain from v1.7.0 (examples/closures). See limitations.