summaryrefslogtreecommitdiff
path: root/dhall/src/semantics/tck/tyexpr.rs
diff options
context:
space:
mode:
authorNadrieril2020-01-27 18:45:09 +0000
committerNadrieril2020-01-27 18:45:09 +0000
commit5a835d9db35bf76858e178e1bd66e60128879629 (patch)
tree4f85fedfd596ac6f8c7da4bdf7143a23e26ea851 /dhall/src/semantics/tck/tyexpr.rs
parent6c51ad1da8dc4df54618af80b445bf49f771ec43 (diff)
Fix a bunch of bugs and more tck
Diffstat (limited to '')
-rw-r--r--dhall/src/semantics/tck/tyexpr.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/dhall/src/semantics/tck/tyexpr.rs b/dhall/src/semantics/tck/tyexpr.rs
index c8be3a3..a42265d 100644
--- a/dhall/src/semantics/tck/tyexpr.rs
+++ b/dhall/src/semantics/tck/tyexpr.rs
@@ -5,6 +5,7 @@ use crate::semantics::phase::normalize::{normalize_tyexpr_whnf, NzEnv};
use crate::semantics::phase::typecheck::rc;
use crate::semantics::phase::Normalized;
use crate::semantics::phase::{NormalizedExpr, ToExprOptions};
+use crate::semantics::tck::typecheck::TyEnv;
use crate::semantics::Value;
use crate::syntax::{ExprKind, Label, Span, V};
@@ -48,6 +49,15 @@ impl TyExpr {
pub fn to_expr(&self, opts: ToExprOptions) -> NormalizedExpr {
tyexpr_to_expr(self, opts, &mut Vec::new())
}
+ pub fn to_expr_tyenv(&self, env: &TyEnv) -> NormalizedExpr {
+ let opts = ToExprOptions {
+ normalize: true,
+ alpha: false,
+ };
+ let env = env.as_nameenv().names();
+ let mut env = env.iter().collect();
+ tyexpr_to_expr(self, opts, &mut env)
+ }
// TODO: temporary hack
pub fn to_value(&self) -> Value {
todo!()