language-ats 1.7.2.0 → 1.7.3.0
raw patch · 6 files changed
+15/−11 lines, 6 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Language.ATS: [$sel:valUniversals:Func] :: Declaration a -> [Universal a]
- Language.ATS: PrVal :: Pattern a -> Maybe (StaticExpression a) -> Maybe (Type a) -> Declaration a
+ Language.ATS: PrVal :: [Universal a] -> Pattern a -> Maybe (StaticExpression a) -> Maybe (Type a) -> Declaration a
Files
- CHANGELOG.md +4/−0
- language-ats.cabal +1/−1
- src/Language/ATS/Parser.y +3/−3
- src/Language/ATS/PrettyPrint.hs +3/−3
- src/Language/ATS/Types.hs +1/−1
- src/Language/ATS/Types/Lens.hs +3/−3
CHANGELOG.md view
@@ -1,5 +1,9 @@ # language-ats +## 1.7.3.0++ * Update `PrVal` to include a field for universal quantifiers+ ## 1.7.2.0 * Update `termetric` field type to allow empty termetrics
language-ats.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: language-ats-version: 1.7.2.0+version: 1.7.3.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018-2019 Vanessa McHale
src/Language/ATS/Parser.y view
@@ -981,9 +981,9 @@ | val Pattern eq colon {% left $ Expected $4 "Expression" ":" } StaticDeclaration :: { Declaration AlexPosn }- : prval Pattern eq StaticExpression { PrVal $2 (Just $4) Nothing } -- FIXME: prval should use static expressions as well.- | prval Pattern colon Type { PrVal $2 Nothing (Just $4) }- | prval Pattern colon Type eq StaticExpression { PrVal $2 (Just $6) (Just $4) }+ : prval Universals Pattern eq StaticExpression { PrVal $2 $3 (Just $5) Nothing } -- FIXME: prval should use static expressions as well.+ | prval Universals Pattern colon Type { PrVal $2 $3 Nothing (Just $5) }+ | prval Universals Pattern colon Type eq StaticExpression { PrVal $2 $3 (Just $7) (Just $5) } | prvar Pattern eq StaticExpression { PrVar $2 (Just $4) Nothing } | prvar Pattern colon Type { PrVar $2 Nothing (Just $4) } | prvar Pattern colon Type eq StaticExpression { PrVar $2 (Just $6) (Just $4) }
src/Language/ATS/PrettyPrint.hs view
@@ -609,9 +609,9 @@ pretty (DataSort _ s ls) = "datasort" <+> text s <+> "=" <$> prettyDSL (toList ls) pretty (Impl as i) = "implement" <+> prettyArgsNil as <> pretty i pretty (ProofImpl as i) = "primplmnt" <+> prettyArgsNil as <> pretty i- pretty (PrVal p (Just e) Nothing) = "prval" <+> pretty p <+> "=" <+> pretty e- pretty (PrVal p Nothing (Just t)) = "prval" <+> pretty p <+> ":" <+> pretty t- pretty (PrVal p (Just e) (Just t)) = "prval" <+> pretty p <+> ":" <+> pretty t <+> "=" <+> pretty e+ pretty (PrVal us p (Just e) Nothing) = "prval" <> prettyUsNil us <> pretty p <+> "=" <+> pretty e+ pretty (PrVal us p Nothing (Just t)) = "prval" <> prettyUsNil us <> pretty p <+> ":" <+> pretty t+ pretty (PrVal us p (Just e) (Just t)) = "prval" <> prettyUsNil us <> pretty p <+> ":" <+> pretty t <+> "=" <+> pretty e pretty PrVal{} = undefined pretty (PrVar p (Just e) Nothing) = "prvar" <+> pretty p <+> "=" <+> pretty e pretty (PrVar p Nothing (Just t)) = "prvar" <+> pretty p <+> ":" <+> pretty t
src/Language/ATS/Types.hs view
@@ -85,7 +85,7 @@ | ProofImpl { implArgs :: Args a, _impl :: Implementation a } | Val { add :: Addendum, valT :: Maybe (Type a), valPat :: Maybe (Pattern a), _valExpression :: Maybe (Expression a) } | StaVal [Universal a] String (Type a)- | PrVal { prvalPat :: Pattern a, _prValExpr :: Maybe (StaticExpression a), prValType :: Maybe (Type a) }+ | PrVal { valUniversals :: [Universal a], prvalPat :: Pattern a, _prValExpr :: Maybe (StaticExpression a), prValType :: Maybe (Type a) } | PrVar { prvarPat :: Pattern a, _prVarExpr :: Maybe (StaticExpression a), prVarType :: Maybe (Type a) } | Var { varT :: Maybe (Type a), varPat :: Pattern a, _varExpr1 :: Maybe (Expression a), _varExpr2 :: Maybe (Expression a) } | AndDecl { andT :: Maybe (Type a), andPat :: Pattern a, _andExpr :: Expression a }
src/Language/ATS/Types/Lens.hs view
@@ -69,9 +69,9 @@ valExpression _ x = pure x prValExpr :: Traversal' (Declaration a) (Maybe (StaticExpression a))-prValExpr f (PrVal p me mt) = (\e -> PrVal p e mt) <$> f me-prValExpr f (PrVar p me mt) = (\e -> PrVar p e mt) <$> f me-prValExpr _ x = pure x+prValExpr f (PrVal us p me mt) = (\e -> PrVal us p e mt) <$> f me+prValExpr f (PrVar p me mt) = (\e -> PrVar p e mt) <$> f me+prValExpr _ x = pure x varExpr1 :: Traversal' (Declaration a) (Maybe (Expression a)) varExpr1 f (Var t p e e') = (\e'' -> Var t p e'' e') <$> f e