Certain identifiers are reserved as keywords. Identifiers beginning with an underscore are reserved to Felix. Identifiers containing more than one underscore in a row are reserved to Felix. Reserved identifiers may be used by programmers, but not defined.
The letters referred to consist of the usual A-Z and a-z, but also include any Unicode/ISO10646 code point recommended as a letter for the purpose of use in identifiers of programming languages by ISO/IEC PDTR 10176, as adopted by ISO C++. A full table can be found in the reference manual, Felix Standard, and source code.
These code points must be represented using UTF-8, or by embedded Universal Character Names (ucns). These consist of a \uXXXX or \UXXXXXXXX where the X's are hex digits. Felix normalises all such encodings so identifiers match properly.
1: include "std"; 2: 3: val x_y_7' = 1; 4: val Y_can't_U_do_this_in_C'' : double = 2.0; 5: val x\u05d0= 1; // x,Hebrew aleph 6: val zz = x\U000005D0; // x,Hebrew aleph 7: