[x] add $c_kmeta t sets kernel dict meta of (and makes non-const). Then I can use all these funzies like inline right away and remove makeFn... Or just move makeFn up?
[x] Rename XL as XLL, XW as XLW
[x] add TY_FN_INLINE and INLINE+END functions
The first byte contains the function size
The compiler literally just copies the bytes. Therefore you should not call other functions as it will not verify the module/etc.
The author must add a %RET after END. This allows you to get the ref (first byte skipped) for an inline function and call with asNow
When inline functions are called by the spor/fngi compiler (as now=FALSE) it does a memcpy.
Can only be XS (for obvious reasons), no access to locals allowed. $xsl and REF should automatically handle it by incrementing the pointer
[x] make fngi +, -, etc inline
[x] Consolidate xl, xsl into single xx which handles both, and also handles smart+inline functions. Uses new : syntax.
[ ] make parseChr take in the base it's parsing, a value of 255 is unknown (parse encoding), 244 is chr. Use for SYN
cbin:x|4A 86 07|
cbin:c|hi bob /| alice|
[ ] remove deviceOpZoa and |
[ ] Add clen, cref Inline
[ ] finish SYN migration by creating token function, which executes SYN tokens, returning the first non-SYN token.This allows comments inside of if/fn/etc
[ ] Switch to ! For executing NOW in fngi. Keep same $ in spor
[ ] !xx:foo
[ ] Do ufn
[ ] stk keyword for declaring stack variables
[ ] c_parseVar to parse the next var:Ty and return the metadata
[ ] After if+loop+fn are implemented, rename IF/LOOP/FN -> c_if/c_loop/cfn. Also do general cleanup so that any SYN that doesn't follow fngi best practices is preeeded with c
token
function, which executes SYN tokens, returning the first non-SYN token.This allows comments inside of if/fn/etc