From 96b5c3ae7a1178e5169540b900e11d9a802d15ac Mon Sep 17 00:00:00 2001 From: nodist Date: Sun, 23 Aug 2026 14:16:11 -0400 Subject: tagging page examples --- docs/tagging.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'docs/tagging.md') diff --git a/docs/tagging.md b/docs/tagging.md index e2bcf69..a469543 100644 --- a/docs/tagging.md +++ b/docs/tagging.md @@ -6,16 +6,74 @@ ### Matching +```text +r : # x / y { + .value {[value] value } + .error {[error] `log error; 0 } +} +``` + ### Asserting +If no tag is specified for an operation, `.value` is used + +An invalid assertion produces an `Error` + +```text +r : x /.value y +r : x / y // same as above +``` + ## Coroutines +If no tag is specified `.value` is used, user defined coroutines don't have to have a `.value` tag + ### Returning +```text +co : `{[I64 x; I64 y] `return.value x + y } +co : `{[I64 x; I64 y] .value x + y } // same as above +co : `{[I64 x; I64 y] x + y } // same as above +mu : `{[Bool i] + ? i { + .int 1 + } { + .float 1.1 + } +} +``` + +### Matching + +```text +// using the mu corotuine from above +i : # mu `sync `false { + .int {[i] i } + .float {[f] I64 f } +} +``` + +### Asserting + +```text +// using the mu coroutine from aboce +i : mu `sync.int `true +``` + ## Tables +### Creating + +```text +table : Table (.a 1; .b 1.1) +``` + ### Accessing +```text +`log table.a +``` + ## Loops ### Break -- cgit v1.2.3