summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/syntax/index.md12
-rw-r--r--docs/syntax/operators.md2
-rw-r--r--docs/type_system/fn.md50
-rw-r--r--docs/type_system/task.md8
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