Update README
This commit is contained in:
parent
ef925158e3
commit
81853a37fb
19
README.adoc
19
README.adoc
|
@ -2,10 +2,9 @@ ell
|
||||||
===
|
===
|
||||||
:compact-option:
|
:compact-option:
|
||||||
|
|
||||||
'ell' is a modified subset of Scheme with added syntax sugar, incorporating
|
'ell' is a middle ground between Scheme and Tcl. The goal was to conceive
|
||||||
ideas from Perl, Tcl and Bourne shell. The goal was to conceive a programming
|
a programming language implementable with as little code as possible while
|
||||||
language implementable with as little code as possible while still being
|
still being reasonably comfortable to use.
|
||||||
reasonably comfortable to use.
|
|
||||||
|
|
||||||
This package is an implementation of said language, meant to be self-contained,
|
This package is an implementation of said language, meant to be self-contained,
|
||||||
portable and reusable. Performance is specifically not an intent.
|
portable and reusable. Performance is specifically not an intent.
|
||||||
|
@ -16,10 +15,10 @@ needed for anyone interested.
|
||||||
|
|
||||||
Syntax
|
Syntax
|
||||||
------
|
------
|
||||||
Owing to its Scheme heritage, 'ell' is homoiconic, that is a program can be
|
Owing to its heritage, 'ell' is homoiconic, that is a program can be directly
|
||||||
directly expressed using the language's data types. There are only two of
|
expressed using the language's data types. There are only two of those:
|
||||||
those: the list and the string. Any numerical conversions are made on an
|
the list and the string. Any numerical conversions are made on an as-needed
|
||||||
as-needed basis. Similarly, strings act like atoms/symbols when executed.
|
basis. Similarly, strings act like atoms/symbols when executed.
|
||||||
|
|
||||||
The parser, however, does a bunch of transformations:
|
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
|
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
|
* reference counting: currently all values are always copied as needed, which
|
||||||
is good enough for all imaginable use cases, simpler and less error-prone
|
is good enough for all imaginable use cases, simpler and less error-prone
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue