Reflect

Foreign Function Interface

In order to interact with code written in other languages, the language allows to specify the call convention of a function using the @extern attribute.

Example

function main()
{
	// call an external C function:
	exit(1);
}

@extern("C") function exit(exit_code: int): void;

Implementation Note

Currently only the "C" call convention on AMD64 (SystemV) is partially supported. Also, only external functions can be called from a Reflect program, but the inverse direction has not been implemented.