summaryrefslogtreecommitdiff
path: root/docs/type_system/fn.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-06-09 10:32:38 -0400
committernodist <kevin.comas.git@gmail.com>2026-06-09 10:32:38 -0400
commita13b72d789c6e2ee3d94bd1b19aad3dda0aea3c3 (patch)
tree218fe41676c6a103410fc423d7c3b5c9f3da48ca /docs/type_system/fn.md
parent4da9de3213a28c7e17945168acdb06308bb41df8 (diff)
inline fn defs
Diffstat (limited to 'docs/type_system/fn.md')
-rw-r--r--docs/type_system/fn.md110
1 files changed, 0 insertions, 110 deletions
diff --git a/docs/type_system/fn.md b/docs/type_system/fn.md
deleted file mode 100644
index 1bf88c5..0000000
--- a/docs/type_system/fn.md
+++ /dev/null
@@ -1,110 +0,0 @@
-# Fn
-
----
-
-```text
-Fn_class `alias Enum[
- .unknown; .incomplete; .native
- .task; process; .generator; .iterator; .closure;
- .bound;
- .regex
-]
-
-Fn[Fn_class; RETURN_TYPE; Collection[ARGS]; STATE; List]
-
-Fn[Fn_class; RETURN_TYPE; ARGS...]
-Fn[RETURN_TYPE; ARGS...]
-Fn[Fn_class; ARGS...]
-Fn[ARGS...]
-```
-
-# Function Classes
-
-## Unknown
-
-Placeholder before evaluation
-
-## Incomplete
-
-A function with an incomplete type, type checking occurs at invocation
-
-## Native
-
-Native function wrapper
-
-## Task
-
-A queue-able function in a process or iterator
-
-## Process
-
-A list of tasks with state
-
-## Generator
-
-A function for creating an iterator
-
-## 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
-
-# Returning
-
-## \`return
-
-## Transient Union Return Chaining
-
-# Iterating
-
-## \`yield
-
-Yielding wraps the value in the transient union `Next`
-
-Return `Void` to stop iteration
-
-```text
-fn : Fn[n] $ ( @ 1 < n {[x] `yield 2 * x; n +: 1 } )
-it : fn `sync 10
-// invoking
-@ it {[v] `log v } // 2 4 6 8 10 12 14 16 18 20
-// same as above
-@ {
- # `sync it {
- .value {[v] `log v }
- .done { `break }
- }
-}
-```
-
-# Calling
-
-## \`async
-
-Asynchronous call
-
-```text
-task : `async fn
-value : `await task
-```
-
-## \`sync
-
-Synchronous call
-
-If the callee is a process, an inline await with async is used
-
-```text
-fn `sync args // can be turned into `await fn `async args
-```