* compiler.C: generate struct declarations before procs
* renoir: extended CFUNCTION, added CVARIADIC, VATYPEPARAM, ANCHOROF * compiler: proper handling of captured VA in closures, validate pcall argument count
* compiler: renamed UPVAL to UPATTR
* compiler: added location tag to upvals * compiler.reduce: fold VA in arguments * compiler.validate: report unresolved upvals
* checked in NOIR docs
* compiler: work on VA, COUNTOF, SLICE
* compiler: `attrof` does the job of `replaceof`
* compiler: more work on compile time expansion, instance attribute access
* compiler: added FOLDOP2
* compiler: added DEP factor for reducer, allowing to query and set dependencies on effects
* compiler: renamed COPYMACRO to INSTANCE, made it key; added IDPAIR to create keys; SIDEOP? to query side effects
* compiler: reducer rules can be sorted into fixpoint stages
* compiler: fixed aliasing issue when copying macro
* compiler: ALIAS nodes are resolved by schema, schedule and target
* compiler: fixed inattrs being reset, added --trace-reducer, KINDOF
* compiler: inline -> instance, UNUSED effect
* compiler: REPLACEOF, replace alias elision
* compiler: fixed wrong size determination of inline effects in Index
* compiler: RENOIR now maintains the state of VA buffers within a top level rule; they must be manually cleared using `VACOUNT n 0`. * compiler: distinguished index based VA access from key based access (`VAMAP`) * compiler: validator detects unsized effects in any macros reachable from top level functions
* compiler: validator rules produce their first output