*Built-in Features

The currently supported built-in features are integer arithmetics,
floating point number arithmetics, and strings of characters.
Vector arrays will be supported in the near future.


The Prolog list syntax is available.
List constructor atoms have three arguments and the name '.'.


is an abbreviated form of '.'(A,Tmp,Rest),'.'(B,Rest,Tmp),'[]'(Rest).

For some reason
the process [A,B|Rest] is parsed as
'.'(A,Tmp), '.'(B,Rest,Tmp).
It should be noted that these two atoms have different arities.


Integer arithmetics and floating point number arithmetics are available.
Note that some features, for example bit-shift operator or cosine function,
are not yet implemented.

Note that atoms are treated as numbers only if
they are unary (i.e., one-argument) atoms.


 X = -2, p(345)
 X = 2.0, p(-3.14e-10)

Currently, the following operations are available:

 int(+Float,-Int)           - cast
 float(+Int,-Float)         - cast
 '+'(+Int,+Int,-Int)        - integer operation,  as well as: - * / mod
 '+.'(+Float,+Float,-Float) - floating operation, as well as: -. *. /.


Strings (such as "abc") are unary atom names and
can be distinguished from symbols (such as 'abc' or just abc).

Note that string literals are treated as strings
only if they are unary;
otherwise, they are treated as symbols.


 X = "abc", p("abc\\de\"\nf\
 X = "abc", p([[abc\de"

The former argument to p is in C-like format
and the latter is in 'multiline-quoted format',
expressing the same string.
Due to this multiline-quoted format,
the literal [[]] expresses an empty string (""),
not a list of empty list ([ []]).


Not yet implemented.

Front page List of pages Search Recent changes Backup   Help   RSS of recent changes