Order of evaluation for multiple operators in infix form
问题 Given this: data Base = Base { key1 :: Text, key2 :: Text, key3 :: Text } deriving (Show) instance FromJSON Base where parseJSON (Object v) = Base <$> ((v .: "base123") >>= (.: "key1")) <*> -- 1 ((v .: "base123") >>= (.: "key2")) <*> -- 2 ((v .: "base123") >>= (.: "key3")) -- 3 parseJSON _ = mzero What's the order of in which the infix operators <$> , <*> and <*> are applied? In other words, if I rewrite it in prefix form: instance FromJSON Base where parseJSON (Object v) = Base <$> ((<*>) (