runtime features / purity checking
✓ 2 passing ✗ 6 failing ○ 2 planned
Lessons
1 ✗
Failing
001 pure annotation — backend-exec
2 ⏭
Skipped 002 inline proc — Inline procs are a feature that we will 97% surely be removing, and/or rethink.
3 ✗
Failing 003 flow purity — backend-exec
4 ✗
Failing 004 transitive pure — backend-exec
5 ○
Planned 005 transitive impure — COMPILER BUG: Transitive purity cannot see .handler() calls
6 ✗
Failing 006 event purity — backend-exec
7 ✗
Failing 007 cyclic calls — backend-exec
8 ✗
Failing 008 mixed impls — backend-exec
9 ✓
Passing 009 subflow pure
10 ✓
Passing 010 subflow impure
11 ○
Planned 011 opaque procs — The point of an [opaque] proc is to have to highlight it as opaque because you're intentionally calling Koru-events FROM a Koru-event, breaking the flow. This has performance implications, and is almost ALWAYS mechanically refactoringable to returning to the calling flow, making the code easier to optimize.