diff options
author | Nadrieril | 2019-08-08 19:33:07 +0200 |
---|---|---|
committer | Nadrieril | 2019-08-08 19:33:07 +0200 |
commit | 071ba528cd8c6a222be345ddec7560bb45cca6be (patch) | |
tree | f5009c70a2082b7085698ca2cdd5a06e503c73c3 /dhall_syntax/src/core/expr.rs | |
parent | 00c5b497446d5415c36bfda5ebc0413da9d086dd (diff) |
Add support for dependent types
Diffstat (limited to 'dhall_syntax/src/core/expr.rs')
-rw-r--r-- | dhall_syntax/src/core/expr.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/dhall_syntax/src/core/expr.rs b/dhall_syntax/src/core/expr.rs index b293357..6522cb1 100644 --- a/dhall_syntax/src/core/expr.rs +++ b/dhall_syntax/src/core/expr.rs @@ -44,7 +44,7 @@ impl From<NaiveDouble> for f64 { } /// Constants for a pure type system -#[derive(Debug, Copy, Clone, PartialEq, Eq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)] pub enum Const { Type, Kind, @@ -99,6 +99,8 @@ pub enum BinOp { BoolEQ, /// `x != y` BoolNE, + /// x === y + Equivalence, } /// Built-ins @@ -175,6 +177,8 @@ pub enum ExprF<SubExpr, Embed> { Let(Label, Option<SubExpr>, SubExpr, SubExpr), /// `x : t` Annot(SubExpr, SubExpr), + /// `assert : t` + Assert(SubExpr), /// Built-in values Builtin(Builtin), // Binary operations |