summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/containers.md58
-rw-r--r--docs/coroutines.md24
-rw-r--r--docs/index.md34
-rw-r--r--docs/objectives.md37
-rw-r--r--docs/syntax.md3
5 files changed, 115 insertions, 41 deletions
diff --git a/docs/containers.md b/docs/containers.md
index 097744e..f05138e 100644
--- a/docs/containers.md
+++ b/docs/containers.md
@@ -6,16 +6,46 @@
### Operators
+* `,`
+
+* ``length`
+
+* ``reverse`
+
+* ``split`
+
+* ``join`
+
* ``log`
+### `[]`
+
### `@`
## Array
### Operators
+* `,`
+
+* ``length`
+
+* ``reverse`
+
+* ``push`
+
+* ``pop`
+
+* ``map`
+
+* ``filter`
+
+* ``reduce`
+
* ``log`
+### `[]`
+
### `@`
### De-structuring
@@ -26,6 +56,8 @@
* ``log`
+### `[]`
+
### De-structuring
## Table
@@ -34,18 +66,34 @@
* ``log`
+### Tags
+
### De-structuring
## Map
### Operators
+* ``size`
+
+* ``has`
+
+* ``remove`
+
* ``log`
+### `[]`
+
## Set
### Operators
+* ``size`
+
+* ``has`
+
+* ``remove`
+
* ``log`
## Union
@@ -54,6 +102,8 @@
* ``log`
+### Tags
+
### `#`
## Any
@@ -70,6 +120,14 @@
* ``log`
+## Error
+
+### Operators
+
+* `$`
+
+* ``log`
+
## Module
### Operators
diff --git a/docs/coroutines.md b/docs/coroutines.md
index 06f2056..9a64894 100644
--- a/docs/coroutines.md
+++ b/docs/coroutines.md
@@ -6,13 +6,13 @@
### Operators
-* ``return
+* ``return`
-* ``sync
+* ``sync`
-* ``async
+* ``async`
-* ``await
+* ``await`
* ``log`
@@ -20,12 +20,20 @@
### Operators
-* ``init
+* ``yield`
-* ``yield
+* ``stop`
-* ``done
+* ``init`
-* ``next
+* ``next`
+
+* ``log`
+
+## Regular Expressions
+
+### Operators
+
+* `~`
* ``log`
diff --git a/docs/index.md b/docs/index.md
index acab793..9766a42 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -2,36 +2,8 @@
---
-## Language Goals
+Version 0.0.0
-### Implicit Error Handling
+This is the specification of the language and its implementation.
-* All operations return a `Result` that can be manually or automatically checked
-
-### Asynchronous First
-
-* No functions, only coroutines
-
-### All Code Is Thread Safe
-
-* Values are atomic and all containers have a `mutex` like mechanism that is implicitly locked before use
-
-### Strongly Typed
-
-* Dynamic types are represented by `Any`, these types have to be matched to a type before they can be used
-
-### Single Invocation
-
-* Just In Time Compilation
-
-### Asymmetric C Interoperability
-
-KPL code can call C code, C code can call certain KPL code
-
-### Run On Linux/WSL With `io_uring` For `X86-64` And `Aarch64` Only with Minimal Dependencies
-
-* GCC, Make and OpenSSL; should compile on most distributions without any extra steps
-
-### Low Resource Usage
-
-* Should work on servers with 1 Core and 1 Gigabyte of RAM
+The documentation on how to use the language will be posted somewhere else
diff --git a/docs/objectives.md b/docs/objectives.md
new file mode 100644
index 0000000..313b3f6
--- /dev/null
+++ b/docs/objectives.md
@@ -0,0 +1,37 @@
+# Objectives
+
+---
+
+### Implicit Error Handling
+
+* All operations return a `Result` that can be manually or automatically checked
+
+### Asynchronous First
+
+* No functions, only coroutines
+
+### All Code Is Thread Safe
+
+* Values are atomic and all containers have a `mutex` like mechanism that is implicitly locked before use
+
+### Strongly Typed
+
+* Dynamic types are represented by `Any`, these types have to be matched to a type before they can be used
+
+### Single Invocation
+
+* Just In Time Compilation
+
+### Asymmetric C Interoperability
+
+* KPL code can call C code, C code can call certain KPL code
+
+### Minimal Dependencies
+
+* Run On Linux With `io_uring` For `X86-64` (X64) And `Aarch64` (A64) Only
+
+* GCC, Make and OpenSSL; should compile on *most* distributions without any extra steps
+
+### Low Resource Usage
+
+* Should work on servers with 1 Core and 1 Gigabyte of RAM
diff --git a/docs/syntax.md b/docs/syntax.md
index 8be80a6..73da567 100644
--- a/docs/syntax.md
+++ b/docs/syntax.md
@@ -110,8 +110,7 @@ add `sync (1; 2)
```text
gen : ^{[I64 n]
@ 1 .. n {[x] `yield x }
- `stop
}
-it : gen `init 10
+it : gen `sync 10
`next it
```