in-alphabet (s.x) e.A1 s.x e.A2 -> 'T';
in-alphabet e.o -> 'F';
& 'TT' -> 'T';
& e.o -> 'F';
is-digit s.x -> <in-alphabet (s.x) '0123456789'>;
is-number s.x -> <is-digit s.x>;
is-number s.x e.t -> <& <is-digit s.x> <is-number e.t>>;
= {Initial view field is marked with '='}
<is-number '1234'>
Refal is an interpreted programming language which is suitable for symbolic computations. It was created by Valentin Turchin in 1968.
This implementation was started because Refal-5, which is the only implementation which worked on my Linux machine, is died and even proprietary. Also, it is semi-compiled (similar to Java), which is not convenient nor useful in practice, as there is no real Refal programs which require such optimizations.
Alya have some differences from it, such as sentence-based syntax.
Short syntax description is provided in README file. Also, some examples are
located in examples/ subdirectory.
There is a book about Refal-5, which gives the basics of Refal programming.
I had this Alya is mind :-)
Also, it stands for ``Yet Another RefAL''. The syllables are reversed as in ``REFAL'' itself, which stands for ``Algorithmic Language of REcursive Functions''.