Update README

This commit is contained in:
Přemysl Eric Janouch 2017-05-21 13:37:43 +02:00
parent bbdd17885c
commit d1d598f968
Signed by: p
GPG Key ID: B715679E3A361BE6
2 changed files with 16 additions and 3 deletions

View File

@ -58,7 +58,7 @@ name and it is resolved as if `set` was called on it.
The last expression in a block is the return value. The last expression in a block is the return value.
Special forms Special Forms
------------- -------------
`quote <arg>` `quote <arg>`
@ -77,11 +77,11 @@ values, everything else is taken as true.
`set <name> [<value>]` `set <name> [<value>]`
Retrieves or sets a named variable. Retrieve or set a named variable. The syntax sugar for retrieval is `@`.
`list` `list`
Returns a list of parameters. The syntax sugar for lists is `[]`. Return a list made of given arguments. The syntax sugar for lists is `[]`.
`if <cond> <body> [elif <cond> <body>]... [else <body>]` `if <cond> <body> [elif <cond> <body>]... [else <body>]`
@ -127,6 +127,18 @@ Arithmetic comparisons on floating point numbers.
Simple string comparisons. Simple string comparisons.
Building and Running
--------------------
By default, running `make' will only build the interpreter:
$ make
$ ./interpreter greet.ell
Install development packages for GNU Readline to get a REPL for toying around:
$ make repl
$ ./repl
Contributing and Support Contributing and Support
------------------------ ------------------------
Use this project's GitHub to report any bugs, request features, or submit pull Use this project's GitHub to report any bugs, request features, or submit pull

1
ell.c
View File

@ -778,6 +778,7 @@ set_arg (struct context *ctx, size_t arg, struct item *value) {
// TODO: we should probably maintain arguments in a separate list, // TODO: we should probably maintain arguments in a separate list,
// either that or at least remember the count so that we can reset them // either that or at least remember the count so that we can reset them
// NOTE: it even seems that storing arguments as numbers is completely useless
static bool static bool
execute_and_set_args (struct context *ctx, struct item *following) { execute_and_set_args (struct context *ctx, struct item *following) {
struct item *args = NULL; struct item *args = NULL;