From 4c3c63f39e9ceb5eff26a39f7c53189e700bb2e4 Mon Sep 17 00:00:00 2001 From: nodist Date: Fri, 8 May 2026 16:42:18 -0400 Subject: combine option with empty --- docs/syntax/define.md | 2 ++ docs/syntax/index.md | 4 +++- docs/type_system/option.md | 8 +++++++- docs/type_system/qualifiers.md | 19 +++++++++++++++---- docs/type_system/result.md | 2 ++ 5 files changed, 29 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/syntax/define.md b/docs/syntax/define.md index 1b55660..358a394 100644 --- a/docs/syntax/define.md +++ b/docs/syntax/define.md @@ -2,6 +2,8 @@ --- +For defining and updating variables + ## Assign `:` ## Shadow `::` diff --git a/docs/syntax/index.md b/docs/syntax/index.md index 45bfb37..38735c5 100644 --- a/docs/syntax/index.md +++ b/docs/syntax/index.md @@ -68,7 +68,7 @@ Variables starting with `_` are treated as unused ## Type Names -Start with an uppercase letter +Start with an uppercase letter created with either \`alias or \`unique # Operators @@ -130,6 +130,8 @@ A list of statements between `{}` separated by `;` or `\n` associated with a co condition { statements } { default statements } } + +? condition { arg; .... }[arg] ``` #### Match `#` diff --git a/docs/type_system/option.md b/docs/type_system/option.md index 2532485..1cc70a7 100644 --- a/docs/type_system/option.md +++ b/docs/type_system/option.md @@ -2,7 +2,9 @@ --- -A 128bit value status pair, cannot be stored. +A 128bit status value pair, cannot be stored. + +An option represents not having a value is a possibility ```text Option[TYPE] @@ -17,6 +19,10 @@ x : // something that returns an option If option is none an error is thrown +# Use with `Empty` qualifier + +If the option is assigned to a type with `Empty` an error will not be through if the option is none + # Matching ```text diff --git a/docs/type_system/qualifiers.md b/docs/type_system/qualifiers.md index 9556d7f..2244101 100644 --- a/docs/type_system/qualifiers.md +++ b/docs/type_system/qualifiers.md @@ -2,10 +2,21 @@ --- -## Const +# Empty -## Nullable +```text +# EMPTY { + .some { args; ... }[args] + .none { ... } +} -## Lock +? EMPTY { args; .... }[args] +``` -## Ref +## \`nil + +# Const + +# Lock + +# Ref diff --git a/docs/type_system/result.md b/docs/type_system/result.md index e33f04b..4a496fe 100644 --- a/docs/type_system/result.md +++ b/docs/type_system/result.md @@ -4,6 +4,8 @@ A 128bit value error pair, cannot be stored. +A result represents an operation should not fail + ```text Result[TYPE] ``` -- cgit v1.2.3