aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthe lemons <citrons@mondecitronne.com>2022-07-24 04:38:39 -0500
committerthe lemons <citrons@mondecitronne.com>2022-07-24 04:38:39 -0500
commit11693c640de05439076d8bbc7ae596fc974abb24 (patch)
tree742e8e4991b7db27d6c9f80ae245bdba13b41b90
parent37a631a6be7db212b181274b2c26b83af0ac5760 (diff)
improve the definitions of lists
-rw-r--r--readme.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/readme.md b/readme.md
index 6ba05a0..eaf767f 100644
--- a/readme.md
+++ b/readme.md
@@ -68,6 +68,8 @@ a list is a special type of noun. they contain any amount of nouns in a specific
lists can be interpreted semantically as meaning all of its elements in order. for example, the sentence `A,B,C` means that there exists `A`, then `B`, then `C`, which indicates that they happen in order.
+a noun may semantically refer to a list or collection of things in reality. however, a noun is only a CR list if it is the result of an operation which is defined to produce a list. a list shall have a well-defined finite order, size, and elements independent of the semantics of the nouns in the document.
+
## lambdas
a lambda is a special type of noun representing a CR document. the `@` operator is used to apply lambdas to arguments. to evaluate a lambda, the noun `X` is assigned to the argument within the scope of the lambda. the document is then evaluated. the last sentence of a lambda does not have the meaning of a normal sentence. instead, its expression is evaluated, and the lambda application evaluates to this result.
@@ -152,6 +154,9 @@ a list containing the list `y`'s values with the lambda `x` applied to them, in
### `@*`
all results of the lambda `y` applied to each instance of `x`
+### `,`
+a list containing `x` followed by the elements of list `y`
+
## unary operators
the unary operators, when used, evaluate to their definitions below.