James Clark
James Clark
For AST nodes that include an Identifier, it will be convenient to introduce a node that combines the string for the identifier with the position. ``` public type Identifier record...
Every module that is part of a program will export an initialization function: - no parameters, return type `error?` - responsible for initializing module-level variables (which we don't yet have)...
Now that we have modules, we can implement distinct error types.
Semantics are: > On function return values, the noalias attribute indicates that the function acts like a system memory allocation function, returning a pointer to allocated storage disjoint from the...
If we support multiple modules and we allow the name of the root module (the one that contains the Ballerina `main`) to change, then the mangled name of the Ballerina...
Start with: * string:substring * string:getCodePoint Depends on #130.
This is not necessary, but will make for less confusing LLVM IR code.
Ballerina allows panics to be caught using `trap` expressions. These are used only for abnormal conditions, such as program bugs, not for normal error handling, so use of `trap` should...
At the moment, compiling the .ll file generated by the compiler produces the warning: ``` warning: overriding the module target triple with x86_64-pc-linux-gnu [-Woverride-module] ``` We need to generate the...