diff --git a/src/expr.rs b/src/expr.rs index 35494293c5..4a4e9705ca 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -4,12 +4,12 @@ pub enum Expr { // Literals Int(i64), Frac(i64, u64), - String(String), + Str(String), Char(char), + Bool(bool), Var(String), Let(Pattern, Box, Box), - Pattern(Pattern), // Functions Func(String, Box), diff --git a/src/parse.rs b/src/parse.rs index 9f0afdb020..94252a225d 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -118,6 +118,8 @@ parser! { choice(( parenthetical_expr(min_indent), + string("True").with(value(Expr::Bool(true))), + string("False").with(value(Expr::Bool(false))), string_literal(), number_literal(), char_literal(), @@ -314,7 +316,7 @@ where I: Stream, I::Error: ParseError { between(char('"'), char('"'), many(string_body())) - .map(|str| Expr::String(str)) + .map(|str| Expr::Str(str)) } pub fn char_literal() -> impl Parser