.ix; library files use .ih.
C11 foundation
Use familiar declarations, functions, pointers, and control flow.
i++ additions
Organize code with libraries and namespaces. Add
string, dynam, and assembly where the compiler supports them.This guide distinguishes supported syntax from language-design features that are not implemented yet. Check compiler status before using an i++ addition.
File extensions
Library files use i++ syntax and do not require a separate header file. The compiler can compile either extension.
Imports and namespaces
Useusing to import a library or symbol. Angle-bracket imports search library paths; quoted imports refer to local library files.
1
Import
Add a
using declaration for the library or symbol you need.2
Choose how to access it
Use
expose for unqualified calls, or use @ to keep the namespace explicit.@ when the library namespace is in scope. Use space to define a namespace and using functionName&variableName to import an intra-file variable.
Variables and control flow
Use C11 declarations and control-flow statements as you would in C:string and dynam types are i++ additions. See types for supported behavior.
Functions
Function declarations use C syntax:Dynamic arrays
Declare a dynamic array withdynam and an initializer list. The array can grow or shrink using its methods.
len() is built in for strings and dynamic arrays. tuple is not implemented.
Dynamic arrays and
len() are supported. Tuple examples in older language notes are design sketches, not working compiler input.Inline assembly
Namedasm functions contain target-specific assembly:
x86_64_linux. See inline assembly for syntax and constraints.