aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2017-05-20 21:24:11 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2017-05-21 13:19:47 +0200
commitd2155031d07a44e33ee229178a3a73d2408a5098 (patch)
treeaeb237aff54251af71bcae5a9e9819b3e8c4b851 /README.adoc
parentf0337aa4819df5ef097837dc02e9a4746da79467 (diff)
downloadell-d2155031d07a44e33ee229178a3a73d2408a5098.tar.gz
ell-d2155031d07a44e33ee229178a3a73d2408a5098.tar.xz
ell-d2155031d07a44e33ee229178a3a73d2408a5098.zip
Implement if, for, map, filter
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc30
1 files changed, 26 insertions, 4 deletions
diff --git a/README.adoc b/README.adoc
index 376edfc..e1b663c 100644
--- a/README.adoc
+++ b/README.adoc
@@ -10,6 +10,8 @@ reasonably comfortable to use.
This package is an implementation of said language, meant to be self-contained,
portable and reusable. Performance is specifically not an intent.
+The project is currently in a "working proof of concept" stage.
+
Syntax
------
Owing to its Scheme heritage, 'ell' is homoiconic, that is a program can be
@@ -70,17 +72,37 @@ from the outer scope.
Standard library
----------------
+`set <name> [<value>]`
+
+Retrieves or sets a named variable.
+
+`list`
+
+Returns a list of parameters. The syntax sugar for lists is `[]`.
+
`if <cond> <body> [elif <cond> <body>]... [else <body>]`
Conditional evaluation, strings evaluate to themselves.
-`funargs`
+`for <list> <body>`
-Returns arguments to the current evaluation context as a list.
+Run the body for each element.
-`list`
+`map <list> <body>`
-Returns a list of parameters. The syntax sugar for lists is `[]`.
+Transform each element with the given function.
+
+`filter <list> <body>`
+
+Return a new list consisting of matching elements only.
+
+`.. [<string>]...`
+
+Concatenates strings.
+
+`print [<item>]...`
+
+Prints all items in sequence--strings directly, lists as source code.
Contributing and Support
------------------------