The example implementation will be in rust
IDL | Rust
boolean | bool
I8 | i8
I16 | i16
I32 | i32
I64 | i64
U8 | u8
U16 | u16
U32 | u32
U64 | u64
F32 | f32
F64 | f64
Constant X Y Z | const X: Y = Z;
Type | type
Vector | Vec
Array[X;Y] | [X;Y]
Function X accepts(YX) returns(ZX) | fn X(YX) -> ZX