packages feed

target 0.1.2.0 → 0.1.3.0

raw patch · 2 files changed

+15/−15 lines, 2 filesdep ~liquid-fixpointdep ~liquidhaskell

Dependency ranges changed: liquid-fixpoint, liquidhaskell

Files

src/Test/Target/Eval.hs view
@@ -64,8 +64,8 @@ evalBrel Lt = (<) evalBrel Le = (<=) -applyMeasure :: Measure SpecType GHC.DataCon -> Expr -> M.HashMap Symbol Expr -> Target Expr-applyMeasure m (EApp c xs) env+applyMeasure :: String -> [Language.Haskell.Liquid.Types.Def SpecType GHC.DataCon] -> Expr -> M.HashMap Symbol Expr -> Target Expr+applyMeasure name eqns (EApp c xs) env   = meq >>= \eq -> evalBody eq xs env   where     ct = symbolString $ case val c of@@ -76,12 +76,12 @@       "GHC.Tuple.(,,,)" -> "(,,,)"       "GHC.Tuple.(,,,,)" -> "(,,,,)"       x -> x-    meq = case find ((==ct) . show . ctor) $ eqns m of-           Nothing -> throwM $ EvalError $ printf "applyMeasure(%s): no equation for %s" (show m) (show ct)+    meq = case find ((==ct) . show . ctor) eqns of+           Nothing -> throwM $ EvalError $ printf "applyMeasure(%s): no equation for %s" name (show ct)            Just x -> return x -applyMeasure m e           _-  = throwM $ EvalError $ printf "applyMeasure(%s, %s)" (showpp m) (showpp e)+applyMeasure n m e           _+  = throwM $ EvalError $ printf "applyMeasure(%s, %s)" n (showpp e)  setSym :: Symbol setSym = "LC_SET"@@ -151,11 +151,11 @@   | val f == "Set_emp" || val f == "Set_sng" || val f `M.member` smt_set_funs   = mapM (`evalExpr` m) es >>= \es' -> evalSet (val f) es'   | otherwise-  = find ((==f) . name) <$> gets measEnv >>= \case-      Nothing -> EApp f <$> mapM (`evalExpr` m) es-                    --FIXME: should really extend this to multi-param measures..-      Just ms -> do e' <- evalExpr (head es) m-                    applyMeasure ms e' m+  = filter ((==f) . name) <$> gets measEnv >>= \case+      [] -> EApp f <$> mapM (`evalExpr` m) es+                      --FIXME: should really extend this to multi-param measures..+      ms -> do e' <- evalExpr (head es) m+               applyMeasure (symbolString $ val f) (concatMap eqns ms) e' m evalExpr (EIte p e1 e2) m   = do b <- evalPred p m        if b
target.cabal view
@@ -1,5 +1,5 @@ name:                target-version:             0.1.2.0+version:             0.1.3.0 synopsis:            Generate test-suites from refinement types.  description:         Target is a library for testing Haskell functions based on@@ -66,8 +66,8 @@                      , filepath >= 1.3.0.1                      , ghc >= 7.8.3                      , ghc-paths-                     , liquid-fixpoint >= 0.3-                     , liquidhaskell >= 0.4+                     , liquid-fixpoint >= 0.3.0.1+                     , liquidhaskell >= 0.4.1.1                      , mtl >= 2.1.2                      , pretty                      , process@@ -113,7 +113,7 @@                        time,                        target,                        template-haskell,-                       liquidhaskell >= 0.2,+                       liquidhaskell,                        liquid-fixpoint,                        QuickCheck >= 2.6,                        smallcheck >= 1.1