Open joelberkeley opened 2 years ago
Here is a minimal example: During desugaring of the idiom bracket, the argument to f
has escaped the parens:
Language.Reflection.Pretty> :exec putPretty `([| (f a) y |])
IApp. IVar <*>
$ (IApp. IVar <*> $ (IApp. IVar pure $ IVar f) $ IVar a)
$ IVar y
Steps to Reproduce
Given
this compiles
but this doesn't
Inspecting the generated TTImp with elab-util's pretty printer gives
The same happens with
[| (get {dtype} literal) indexed |]
.Expected Behavior
Both forms should compile:
literal
should remain inside the brackets.