aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2017-05-26 01:36:43 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2017-05-26 01:47:56 +0200
commitec7a0dc95f68f0a3b3a79d292596da26e3b8f467 (patch)
tree92e5d66bd97b66d0020f4e665b26c5e4ecf5302b /README.adoc
parent735dfd026abaeee93c4e9b90db73661076ccafa3 (diff)
downloadell-ec7a0dc95f68f0a3b3a79d292596da26e3b8f467.tar.gz
ell-ec7a0dc95f68f0a3b3a79d292596da26e3b8f467.tar.xz
ell-ec7a0dc95f68f0a3b3a79d292596da26e3b8f467.zip
Add "values"
This oneliner is way too important to be left out.
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc12
1 files changed, 8 insertions, 4 deletions
diff --git a/README.adoc b/README.adoc
index 792429d..2473802 100644
--- a/README.adoc
+++ b/README.adoc
@@ -32,17 +32,17 @@ The parser, however, does a bunch of transformations:
As an example, consider the following snippet:
print (if { eq? @var foo } {
- quote 'Hello world\n'
+ values 'Hello world\n'
} else {
- quote 'Error\n'
+ values 'Error\n'
})
which gets expanded to the following:
((print (if (quote ((eq? (set var) foo)))
- (quote ((quote 'Hello world\n')))
+ (quote ((values 'Hello world\n')))
else
- (quote ((quote 'Error\n'))))))
+ (quote ((values 'Error\n'))))))
Observe that the whole program is enclosed in an implicit pair of `{}` and that
`quote` is a very powerful special form which can replace many others if needed.
@@ -85,6 +85,10 @@ Retrieve or set a named variable. The syntax sugar for retrieval is `@`.
Return a list made of given arguments. The syntax sugar for lists is `[]`.
+`values [<item>]...`
+
+Return an arbitrary number of values.
+
`if <cond> <body> [elif <cond> <body>]... [else <body>]`
Conditional evaluation, strings evaluate to themselves.