diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2017-05-27 20:20:49 +0200 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2017-05-27 20:20:49 +0200 |
commit | 81853a37fb4f6861220c727c967977797e02a71c (patch) | |
tree | c978e95e91b9ad398ed74bb5da2445258de7ced1 | |
parent | ef925158e309cedd42fd28efa0750b53174fee67 (diff) | |
download | ell-81853a37fb4f6861220c727c967977797e02a71c.tar.gz ell-81853a37fb4f6861220c727c967977797e02a71c.tar.xz ell-81853a37fb4f6861220c727c967977797e02a71c.zip |
Update README
-rw-r--r-- | README.adoc | 19 |
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 |