From 07251d8774190396191b1f6c63be586902bca665 Mon Sep 17 00:00:00 2001 From: nodist Date: Tue, 26 May 2026 20:04:47 -0400 Subject: list fn classes --- docs/syntax/index.md | 12 ++++++++++++ docs/syntax/operators.md | 2 ++ docs/type_system/fn.md | 50 +++++++++++++++++++++++++++++++++++++++++++----- docs/type_system/task.md | 8 +++----- 4 files changed, 62 insertions(+), 10 deletions(-) diff --git a/docs/syntax/index.md b/docs/syntax/index.md index 9398f6b..fa47202 100644 --- a/docs/syntax/index.md +++ b/docs/syntax/index.md @@ -82,6 +82,18 @@ Represented as an symbol or a keyword starting with \` 1 `add 2 ``` +## Operator Conventions + +```text +`operator FIRST + +FIRST `operator SECOND + +FIRST `operator (REST; ...) + +`operator (FIRST; REST; ...) +``` + # Symbols Start with a `.` diff --git a/docs/syntax/operators.md b/docs/syntax/operators.md index 33334b2..15241df 100644 --- a/docs/syntax/operators.md +++ b/docs/syntax/operators.md @@ -52,6 +52,8 @@ GREY WHITE ``` +`#NAME#NAME#` use single `#` to apply multiple colors at once + ## ``panic` Stops execution and prints `Any` to `stdout` diff --git a/docs/type_system/fn.md b/docs/type_system/fn.md index dbc8251..28fe437 100644 --- a/docs/type_system/fn.md +++ b/docs/type_system/fn.md @@ -3,11 +3,51 @@ --- ```text -Fn_class `alias Enum[.partial; .native; .process; .iterator; .closure; .bound; .regex] +Fn_class `alias Enum[.unknown; .incomplete; .process; .generator; .iterator; .closure; .bound; .regex; .native] -Fn[Fn_class; RETURN_TYPE; ARGS; STATE; List] +Fn[Fn_class; RETURN_TYPE; Tuple[ARGS]; STATE; List] ``` +# Function Classes + +## Unknown + +Placeholder before evaluation + +## Incomplete + +A function with an incomplete type, type checking occurs at invocation + +## Process + +A list of tasks with state + +## Generator + +A function for creating an iterator or closure + +## Iterator + +A task creator with state, cannot take arguments, can be called until done + +## Closure + +A task creator with state that can take arguments + +## Bound + +A function with some arguments already set + +## Regex + +Regular Expression + +## Native + +Native function wrapper + +# Returning + ## \`return ## Transient Union Return Chaining @@ -21,7 +61,7 @@ Yielding wraps the value in the transient union `Next` Return `Void` to stop iteration ```text -fn : Fn[n] $ ( @ 1 .. n { `yield 2 * x }[x] ) +fn : Fn[n] $ ( @ 1 < n { `yield 2 * x; n +: 1 }[x] ) it : fn `call 10 // invoking @ it { `log v }[v] // 2 4 6 8 10 12 14 16 18 20 @@ -40,11 +80,11 @@ it : fn `call 10 ```text task : `fork fn -value : `wait task +value : `join task ``` ## \`call ```text -fn `call args // `wait fn `task args +fn `call args // `join fn `task args ``` diff --git a/docs/type_system/task.md b/docs/type_system/task.md index 10d06cc..0f3e575 100644 --- a/docs/type_system/task.md +++ b/docs/type_system/task.md @@ -2,12 +2,10 @@ --- -An asynchronous encapsulation +A segment of code assigned to a process, task code can be recursive ```text -Task_status `alias Enum[...] - -Task[Task_status; TYPE] +Task[JOIN_TYPE; PROCESS; AST; IR; CODE] ``` -## \`wait +## \`join -- cgit v1.2.3