diff options
| -rw-r--r-- | docs/containers.md | 58 | ||||
| -rw-r--r-- | docs/coroutines.md | 24 | ||||
| -rw-r--r-- | docs/index.md | 34 | ||||
| -rw-r--r-- | docs/objectives.md | 37 | ||||
| -rw-r--r-- | docs/syntax.md | 3 | ||||
| -rw-r--r-- | mkdocs.yml | 17 |
6 files changed, 125 insertions, 48 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 ``` @@ -5,10 +5,13 @@ repo_name: Git copyright: Copyright © nodist theme: readthedocs nav: - - Main: index.md - - Definitions: definitions.md - - Syntax: syntax.md - - Tagging: tagging.md - - Values: values.md - - Containers: containers.md - - Coroutines: coroutines.md + - Home: index.md + - Requirements: + - Objectives: objectives.md + - Definitions: definitions.md + - Design: + - Syntax: syntax.md + - Tagging: tagging.md + - Values: values.md + - Containers: containers.md + - Coroutines: coroutines.md |
