# language features ## IMPLEMENTED ### source and declarations - newline-terminated statements and `#` comments - immutable `::` bindings, mutable function-local `=` bindings, and `_` sinks - immutable and mutable locals - package-level globals and functions - interned identifiers ### types and expressions - exact-width `i8` through `i64`, `u8` through `u64`, `f32`, `f64`, `isize`, `usize`, `void`, and inferred integer-constrained `int` - target-dependent atomic C primitives from `c_char` through `c_longdouble` - C primitives remain semantically distinct from exact-width Brolang primitives until target lowering - contextual integer literals and constant folding of addition and negation trees - strict numeric conversions, checked integer addition, and unary negation - arrays `[N]T`, sentinel arrays `[N;S]T`, indexing, pointers, pointer offsets, slices, and explicit slicing - immutable UTF-8 sentinel-slice strings and Unicode code-point character literals - optionals with trapping postfix `?`, `orelse`, and nullable pointer representation - source-order native structs, keyed literals, and defined or opaque pointer-only `c_struct` - postfix pointer dereference, explicit `.ptr`/`.len`, general writable locations, function calls, assignments, and returns ### functions and packages - demand-monomorphized functions - bodyful `c_func` definitions using the c calling convention - bodyless `c_func` declarations with exact, globally unique external symbol names - concrete-only foreign signatures - Apple Silicon C ABI scalar and pointer lowering, including narrow integer extension attributes - directory packages with merged declarations - file-local relative imports, aliases, and qualified member access ### compiler behavior - error-tolerant compilation with runtime diagnostic traps - lazy semantic checking of demanded function specializations - demand-driven LLVM declarations for referenced foreign functions - ordered linking of additional c sources, objects, and libraries - static, eager runtime, and deferred problematic globals ## PLANNED ### foreign functions and linking - c variadic calls with default argument promotions - exporting brolang functions to c ### scalar and compound types - tuples and native variadic functions - C unions, C enums, and by-value C record ABI lowering ### c imports - c headers imported as synthetic package namespaces - typedefs, enums, opaque records, and external variables - function pointers, callbacks, macros, and static inline functions - target-specific by-value C record and union ABI lowering