aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2017-05-27 20:20:49 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2017-05-27 20:20:49 +0200
commit81853a37fb4f6861220c727c967977797e02a71c (patch)
treec978e95e91b9ad398ed74bb5da2445258de7ced1 /README.adoc
parentef925158e309cedd42fd28efa0750b53174fee67 (diff)
downloadell-81853a37fb4f6861220c727c967977797e02a71c.tar.gz
ell-81853a37fb4f6861220c727c967977797e02a71c.tar.xz
ell-81853a37fb4f6861220c727c967977797e02a71c.zip
Update README
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc19
1 files changed, 10 insertions, 9 deletions
diff --git a/README.adoc b/README.adoc
index e96d632..d4c9412 100644
--- a/README.adoc
+++ b/README.adoc
@@ -2,10 +2,9 @@ ell
===
:compact-option:
-'ell' is a modified subset of Scheme with added syntax sugar, incorporating
-ideas from Perl, Tcl and Bourne shell. The goal was to conceive a programming
-language implementable with as little code as possible while still being
-reasonably comfortable to use.
+'ell' is a middle ground between Scheme and Tcl. The goal was to conceive
+a programming language implementable with as little code as possible while
+still being 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.
@@ -16,10 +15,10 @@ needed for anyone interested.
Syntax
------
-Owing to its Scheme heritage, 'ell' is homoiconic, that is a program can be
-directly expressed using the language's data types. There are only two of
-those: the list and the string. Any numerical conversions are made on an
-as-needed basis. Similarly, strings act like atoms/symbols when executed.
+Owing to its heritage, 'ell' is homoiconic, that is a program can be directly
+expressed using the language's data types. There are only two of those:
+the list and the string. Any numerical conversions are made on an as-needed
+basis. Similarly, strings act like atoms/symbols when executed.
The parser, however, does a bunch of transformations:
@@ -167,7 +166,9 @@ Install development packages for GNU Readline to get a REPL for toying around:
Possible Ways of Complicating
-----------------------------
- * `local [_a _b _rest] @*` would elegantly solve the problem of varargs
+ * `local [_a _b _rest] @*` would elegantly solve the problem of varargs,
+ that is, unpack a list when names are list, and make the last element a list
+ when there are more arguments than names
* reference counting: currently all values are always copied as needed, which
is good enough for all imaginable use cases, simpler and less error-prone