2.2 KiB
2.2 KiB
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
i8,i16,i32,i64,void, and inferred integer-constrainedint- contextual integer literals and constant folding of addition trees
- checked signed integer addition
- function calls, assignments, and returns
functions and packages
- demand-monomorphized functions
- bodyful
c funcdefinitions using the c calling convention - bodyless
c funcdeclarations with exact, globally unique external symbol names - concrete-only foreign signatures
- 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
- unsigned integers, floats, characters, and target-dependent c scalar types
- arrays
[N]Tand sentinel arrays[N; S]T - single-item pointers
@Tand many-item pointers*T - element and pointee mutability through
mut, separate from binding mutability - slices
[]Tand sentinel slices[; S]T - string literals as immutable sentinel slices backed by static arrays
- character literals
- optionals with trapping
?unwrap,orelsefallback, and nullable pointers - data-only native structs and target-layout
c structtypes - tuples and native variadic functions
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