Available now
C11 baseline,
string, dynam, manual allocation, libraries, and Linux x86_64 assembly.Still planned
auto, tuples, struct extensions, lambdas, and automatic ownership features.Implemented
The compiler supports:- C11 types and constructs, including pointers, control flow, functions, field-only structs, unions, enums, and
typedef. stringvalues.dynamarrays andlen()for strings and dynamic arrays.- Manual heap allocation with
allocateandfree. - Library imports and namespaces using
.ihlibraries,using,expose,space, and@. - Inline assembly for the Linux x86_64 build pipeline.
- The
iodinelibraries, includingprintd, string operations, regular expressions, and file I/O. - Generating C output without linking, and compiling executables with GCC.
Not implemented
The following language-design features are not supported by the current compiler:
Use the implemented
printd function from iodine/printd.ih for formatted output.
The compiler’s installed executable is still named
hypotenuse. The name j++ is the new compiler name; the executable rename is pending in the compiler repository.