Langlib Functions
This is a library which provides fundamentnal operations on built-in datatypes. There is a ballerina/lang.T module for each built-in type T and they are automatically imported using T prefix.
We can call Langlib functions in two ways and both produce the same result.
Currently there is Langlib module for following built-in types.
- For Simple Types - lang.boolean,lang.int,lang.float,lang.decimal
- For Structured Types - lang.array,lang.map,lang.table
- For Sequence Types - lang.string,lang.xml
- For Behavioral Types - lang.object,lang.error,lang.stream,lang.future,lang.typedesc
- For common types, provides functions that work on values of more than one basic type - lang.value
Other than above modules for built-in types Langlib has following modules as well.
- For functions related to language runtime - lang.runtime
- For functions related to transactions - lang.transaction
Langlib functions can be called in two different ways.
Using method call syntax
import ballerina/io;
public function main() {
    // Can call using the conventinent method-call syntax.
    string s = "hello World".substring(1, 2);
    io:println(s);
}
Using as a module function
import ballerina/io;
public function main() {
    // Can call as a langlib module function. No need to import explicitly. 
    string s = string:substring("Hello World", 1, 2);
    io:println(s);
}