From 022e0779f73a2ab59a1190ecb5c3266c5ade5d6c Mon Sep 17 00:00:00 2001 From: Rob Rix Date: Mon, 7 May 2018 14:25:14 -0400 Subject: [PATCH] :fire: the functional dependency on AbstractValue. --- src/Control/Abstract/Value.hs | 4 ++-- src/Semantic/Util.hs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Control/Abstract/Value.hs b/src/Control/Abstract/Value.hs index 806f29044..38e87777d 100644 --- a/src/Control/Abstract/Value.hs +++ b/src/Control/Abstract/Value.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE FunctionalDependencies, GADTs, KindSignatures, Rank2Types #-} +{-# LANGUAGE GADTs, KindSignatures, Rank2Types #-} module Control.Abstract.Value ( AbstractValue(..) , AbstractHole(..) @@ -40,7 +40,7 @@ class AbstractHole value where -- | A 'Monad' abstracting the evaluation of (and under) binding constructs (functions, methods, etc). -- -- This allows us to abstract the choice of whether to evaluate under binders for different value types. -class Show value => AbstractValue location term value (effects :: [* -> *]) | effects value -> location where +class Show value => AbstractValue location term value (effects :: [* -> *]) where -- | Construct an abstract unit value. -- TODO: This might be the same as the empty tuple for some value types unit :: Evaluator location term value effects value diff --git a/src/Semantic/Util.hs b/src/Semantic/Util.hs index 2747e2df8..aa7eda55a 100644 --- a/src/Semantic/Util.hs +++ b/src/Semantic/Util.hs @@ -42,7 +42,7 @@ evaluatingWithHoles . resumingValueError . resumingEvalError . resumingResolutionError - . resumingAddressError @(Value Precise) + . resumingAddressError @(Value Precise) @Precise -- The order is significant here: caching has to run before typeChecking, or else we’ll nondeterministically produce TypeErrors as part of the result set. While this is probably actually correct, it will require us to have an Ord instance for TypeError, which we don’t have yet. checking