[[Documentation]]

*Built-in Features
*Built-in Types

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

**Lists
Some other data types (e.g., arrays) are currently supported by
library API.

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

***Syntax

 X=[A,B|Rest],Rest=[] 
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.

**Numbers

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

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

***Syntax

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

***Operations
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

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
Wtring literals are treated as strings
only if they are unary;
otherwise, they are treated as symbols.

***Syntax

 X = "abc", p("abc\\de\"\nf\
 g")
 X = "abc", p([:abc\de"
 fg:])

The former argument to p is in C-like format
and the latter is in 'multiline-quoted format',
expressing the same string.
Note that
the literal [::] expresses an empty string ("").

***Operations

Not yet implemented.
Operations on strings are supported by the library API
(string module).


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