Canonical style
public class Pong extend Game {
public const [u16; 2] Screen = [320, 240];
public void Update() {
if (Input.held(Key.Up)) {
// update game state
}
}
} What exists today
The source specification describes classes, structs, fixed arrays, attributes, functions,
conditions, loops, comments, modules and imports. HIR support includes expressions,
assignments, calls, member access, arrays, if/else, while, and return.
What is still in motion
match, payload enums, scene references, compile-time pool allocation and stronger
type checking are listed as future compiler work. The documentation labels them as planned
rather than treating them as syntax you can depend on.
Language lint
Current kalcite lint FILE.klc adds a static review pass to the edit–check–run loop. It flags
unbounded fields, missing or invalid pool capacities, incomplete node references, overly terse public
functions, and native-code escape hatches.
examples/native_escape: warnings make portable-cost
boundaries visible without pretending the native code is forbidden.
Errors return a failing exit status, so the same command can protect CI. Read the complete Kally lint reference for every current rule.