I was following Megaparsec documentation to parse multidimensional array.
opSubscript = Postfix $ foldr1 (.) <$> some singleIndex
singleIndex = do
index < brackets expr
return $ \l -> ArrayIndex l index
array[1][2]
is expected to be parsed as
ArrayIndex (ArrayIndex (Var "array") 1)) 2
However, it was
ArrayIndex (ArrayIndex (Var "array") 2)) 1
What is going wrong here?