The compiler and runtime have the following "special" behavior when compiling for the "Core" dialect.
•Does NOT allows 4 letter abbreviations of keywords
•Allows the DOT ('.') operator to call Instance methods
•Single quotes are used for Character literals
•String Comparisons are mapped to the String.Compare() method in the .Net runtime
•The String "=" operator is not supported
•The String "-" operator is not supported
•Anything that requires runtime support, such as the X# specific types (DATE, ARRAY, SYMBOL, FLOAT and USUAL) and dynamic memory variables is not supported
•Supports the use of '@' to retrieve the address of a variable. This may also be used for REF variables if the compiler option -vo7 is used.
•The '=' operator may be used for assigns but will generate a warning when used.
•The compiler generated functions class is called
Functions for normal functions and globals
X$<ModuleName>$Functions for static functions and globals
•Procedures cannot return values
•Does not allow skipping arguments in method calls.
•The Core dialect does not require a runtime. However you can still link to XSharp.Core and XSharp.RDD and call methods and functions in these assemblies.