The asm pil statement only allows let x = .... We should extend this to patterns and also generic type parameters.
The main problem is that the main structure in asm processing maps names to values, something we cannot do when we have let (x, y) = f(). This means we have to change this to just be a list of unstructured declarations that implement a function to list the defined names.
We have to keep performance in mind, though, since reference resolving should not have to traverse the full declaration list.
The asm pil statement only allows
let x = ...
. We should extend this to patterns and also generic type parameters.The main problem is that the main structure in asm processing maps names to values, something we cannot do when we have
let (x, y) = f()
. This means we have to change this to just be a list of unstructured declarations that implement a function to list the defined names.We have to keep performance in mind, though, since reference resolving should not have to traverse the full declaration list.