diff options
Diffstat (limited to 'parser.sml')
| -rw-r--r-- | parser.sml | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -351,7 +351,11 @@ struct val rec atpat : Syntax.pat parser = fn st => (Syntax.PWild <$ reserved "_" <|> Syntax.PInt <$> integer - <|> between (symbol "(") (symbol ")") pat + <|> bind (between (symbol "(") (symbol ")") (sepBy pat (symbol ","))) (fn pats => + const + (case pats of + [p] => p + | _ => Syntax.PTuple pats)) <|> Syntax.PVar <$> identifier) st and pat : Syntax.pat parser = fn st => atpat st |
