I'm writing a sort-of type checker for Uxntal, where arity definitions must match the displacement of the instructions in the function's body.
This exploration is revealing various types of functions, and forcing me to explicitly define these differences for the code to validate.
My tests is a collection of different organizations of functions that people have discovered: https://git.sr.ht/~rabbits/uxnbal/tree/master/item/etc/example.tal
The source: https://git.sr.ht/~rabbits/uxnbal/tree/master/item/src/uxnbal.tal
@neauoire I wonder at what point this becomes part of the assembler, or at least a standard part of the build process. A strict mode that requires such annotations? I know i can easily forget to update the comments when I’m ploughing ahead, but if the checker tells me (on save!?) then I’ll always do it.