RemObjects Mercury adds a few extra features to the Visual Basic™ language, in order to allow better interaction with all supported platforms and APIs, as well as tominteraxct with the other Elements languages.
In addition to
' and the
REM keyword, Mercury also supports
// to mark the rest of the current line as comment, and
/* ... */ to mark a free-form block of code, potentially spanning multiple lines, as comment.
This change is additive to the Visual Basic™ language and should not cause incompatibility with existing code, where both
/* are not valid constructs.
/*...*/ comment styles are supported across all six Elements languages.
Extensions Types can be used to expand an existing type with new methods or properties.
Multi-Part Method Names
In order to fit in well with the API conventions on the Cocoa platform, Mercury adds support for multi-part method names — essentially the ability for a method's name to be split into separate parts, each followed by a distinct parameter. This feature is available on all platforms, and described in more detail in the Multi-part method names topic.
Lazy Properties are a special kind of property that will be initialized delayed, on first access.
In addition to
Nothing, which represents the default value or zero-representation of a given type ("unassigned" for reference types, "zero" for value types), Mercury also introduces the
Null keyword, which represents a true null value, even for value types (much like
null in C# or
nil in Oxygene).