Package ยท iamnbutler
cairn_examples
Cairn's example apps: Counter, Basics, Todo, Clock, Tray and Gallery.
- Kind
- App
- Owner
- iamnbutler
- Version
- 0.2.0
- Published
- Oct 26, 2026 by iamnbutler
- Commit
df45306a6bedatv0.2.0- Toolchain
leanprover/lean4:v4.35.0- License
- MIT
- Claims
- 71 active4 retired
Build it
cairn_examples is an app: nothing can depend on it. Clone it from the registry and build it with the cairn tool:
git clone https://cairn.registry.nexthub.sh/git/iamnbutler/cairn_examples.git
cd cairn_examples && git checkout v0.2.0 && cairn build --releaseDepends on
cairn^0.3.0
Versions
| Version | Published | Commit | Claims | Docs |
|---|---|---|---|---|
| 0.2.0 | Oct 26, 2026 | df45306a6b | 71 active4 retired | docs |
| 0.1.1 | Oct 25, 2026 | d5c85bbd53 | 71 active3 retired | docs |
| 0.1.0 | Oct 25, 2026 | 759369145d | 71 active3 retired | docs |
What changed in 0.2.0
Claims new, retired or moved since 0.1.1.
| Id | Change | Kind | Claim |
|---|---|---|---|
cairn_examples^225 | retired | invariant | The list is the filter applied to the todos |
cairn_examples^226 | new | invariant | The list is the filter applied to the todos |
Claims in 0.2.0
Every id this package has issued, as its claims.lock held them at this version. An id never moves or changes meaning: the registry refuses a version that drops, renumbers or redefines one. The claim pages show each claim by place, with what it does and its evidence.
| Id | Kind | Status | Claim |
|---|---|---|---|
cairn_examples^1 | move | active | Increment |
cairn_examples^2 | move | active | Reset |
cairn_examples^3 | place | active | Counter window |
cairn_examples^4 | flow | active | Count to three |
cairn_examples^5 | flow | active | Start over |
cairn_examples^6 | invariant | retired | Moves never leave a press in progress |
cairn_examples^101 | move | active | Type a new item |
cairn_examples^102 | move | active | Add |
cairn_examples^103 | move | active | Toggle an item |
cairn_examples^104 | move | active | Delete an item |
cairn_examples^105 | invariant | active | Items left |
cairn_examples^106 | place | active | Basics window |
cairn_examples^107 | flow | active | Add two items and finish one |
cairn_examples^108 | flow | active | Blank text adds nothing |
cairn_examples^109 | flow | active | Add an item, then delete it |
cairn_examples^201 | place | active | Todos window |
cairn_examples^202 | move | active | New todo |
cairn_examples^203 | move | active | Mark all as complete |
cairn_examples^204 | move | active | Complete a todo |
cairn_examples^205 | move | active | Edit a todo |
cairn_examples^206 | move | active | Delete a todo |
cairn_examples^207 | move | active | Edit field |
cairn_examples^208 | move | active | All |
cairn_examples^209 | move | active | Active |
cairn_examples^210 | move | active | Completed |
cairn_examples^211 | move | active | Clear completed |
cairn_examples^212 | invariant | active | Counter and ids |
cairn_examples^213 | invariant | retired | The list is the filter applied to the todos |
cairn_examples^215 | move | retired | Back through filters |
cairn_examples^216 | flow | active | Add two todos and complete one |
cairn_examples^217 | flow | active | Blank text adds nothing |
cairn_examples^218 | flow | active | Edit a todo and save with Enter |
cairn_examples^219 | flow | active | Saving a blank edit deletes the todo |
cairn_examples^220 | flow | active | Escape cancels an edit |
cairn_examples^221 | flow | active | The Active filter hides completed todos |
cairn_examples^222 | flow | active | Clear completed |
cairn_examples^223 | flow | active | Mark all as complete, then undo it |
cairn_examples^224 | flow | active | A new todo under the Completed filter |
cairn_examples^225 | invariant | retired | The list is the filter applied to the todos |
cairn_examples^226 | invariant | active | The list is the filter applied to the todos |
cairn_examples^401 | move | active | Start / Stop |
cairn_examples^402 | move | active | Lap |
cairn_examples^403 | move | active | Reset |
cairn_examples^404 | move | active | Save laps |
cairn_examples^405 | move | active | Load laps |
cairn_examples^406 | place | active | Clock window |
cairn_examples^407 | flow | active | Two laps |
cairn_examples^408 | flow | active | Start over |
cairn_examples^409 | invariant | active | Pending requests have fresh ids |
cairn_examples^450 | place | active | Tray menu |
cairn_examples^451 | place | active | Recent Items submenu |
cairn_examples^452 | place | active | Overlay panel |
cairn_examples^453 | move | active | Open the menu |
cairn_examples^454 | move | active | Show Overlay |
cairn_examples^455 | move | active | Keep Recent Items |
cairn_examples^456 | move | active | Add Item |
cairn_examples^457 | move | active | Recent item |
cairn_examples^458 | move | active | Clear Recent Items |
cairn_examples^459 | move | active | Quit Tray |
cairn_examples^460 | invariant | active | At most five recent items |
cairn_examples^461 | flow | active | Show the overlay |
cairn_examples^462 | flow | active | Add an item and pick it |
cairn_examples^501 | move | active | Reload |
cairn_examples^502 | move | active | Fit |
cairn_examples^503 | place | active | Gallery window |
cairn_examples^504 | invariant | active | Pending loads have fresh ids |
cairn_examples^505 | flow | active | Reload, then fit inside |
cairn_examples^506 | move | active | Load 24 |
cairn_examples^507 | move | active | Cancel |
cairn_examples^508 | flow | active | Load many, then cancel |
cairn_examples^509 | move | active | Reload a tile |
cairn_examples^510 | invariant | active | Tiles fit the window at every size |
cairn_examples^511 | invariant | active | Tiles are at least 180 points wide |
cairn_examples^512 | move | active | Next page |
cairn_examples^513 | invariant | active | A dropped thumbnail waits to be loaded again |