Alya - Yet Another refAL
ver. Alpha 0.1

# BUILD #
If you have make, a C compiler and its library, then just type `make'. It
doesn't depend on anything except libc. Static linking is the default.

# RUN #

./alya [-v] [-l] [<refal program file> <refal program parameters>]

With no program file given, it starts REPL.

-v
Write the view field at every Refal machine step to stderr, prefixed with
"VF:". Useful in debugging.

-l
Do not execute the program, but load it and start REPL. Functions and
sentences from file will be accessible from it.

-v and -l flags can be used together.

# SYNTAX #

Hash sign # is used for line comments (in Unix style), which means
the shebang #! execution is supported.
Curly brackets { } are used for multi-line comments (in Pascal style).

The program consists on sentences, each sentence has a form
<pattern> -> <substitution> ;

The initial view field is located after all sentences and is delimited from
them with = sign.

You can find code examples in examples/ directory.

# BUILTIN FUNCTIONS #
<Params>
Returns refal program parameters in form (program file)(arg1)(arg2)(arg3)...
each parameter is enclosed in parentheses.

<Prout e.xp>
Writes an expression to standard output. Compound symbols and parentheses
are ignored. It always returns empty expression.

Unlike in REFAL-5, it doesn't break line. You need to pass '\n' on your own.

<Card>
Reads one line from standard input with terminating '\n'.
If EOF or an error is encoutered, it returns empty expression.
