Back to Braces
ruleHashSubscriptBraces :: RuleParser (Exp -> Exp) ruleHashSubscriptBraces = do between (symbol "{") (char '}') $ option id $ do exp <- ruleExpression; return $ \x -> Syn "{}" [x, exp]
- Why do we need the option id, anyway?
%siblings{}; # exactly the same as %siblings, except
say "%siblings"; # "%siblings"
say "%siblings{}"; # charlie => donald etc.