ats-format 0.1.0.15 → 0.1.0.16
raw patch · 6 files changed
+13/−6 lines, 6 files
Files
- ats-format.cabal +1/−1
- src/Language/ATS.hs +2/−0
- src/Language/ATS/Parser.y +5/−2
- src/Language/ATS/PrettyPrint.hs +2/−0
- src/Language/ATS/Types.hs +2/−2
- stack.yaml +1/−1
ats-format.cabal view
@@ -1,5 +1,5 @@ name: ats-format-version: 0.1.0.15+version: 0.1.0.16 synopsis: A source-code formatter for ATS description: An opinionated source-code formatter for ATS (http://www.ats-lang.org/). homepage: https://hub.darcs.net/vmchale/ats-format#readme
src/Language/ATS.hs view
@@ -21,6 +21,8 @@ , Universal (..) , Existential (..) , PreFunction (..)+ , StaticExpression (..)+ , Paired (..) -- * Lexical types , Token (..) , AlexPosn (..)
src/Language/ATS/Parser.y view
@@ -460,6 +460,7 @@ -- | Parse a constructor for a 'dataprop' DataPropLeaf : vbar Universals Expression { DataPropLeaf $2 $3 }+ | Universals Expression { DataPropLeaf $1 $2 } -- | Parse several constructors for a 'dataprop' DataPropLeaves : DataPropLeaf { [$1] }@@ -516,8 +517,10 @@ | datatype identifier openParen Args closeParen eq Leaves { SumType $2 $4 $7 } | datavtype identifier eq Leaves { SumViewType $2 [] $4 } | datavtype identifier openParen Args closeParen eq Leaves { SumViewType $2 $4 $7 }- | abstype identifier openParen FullArgs closeParen eq Type { AbsType $1 $2 $4 $7 }- | absvtype identifier openParen FullArgs closeParen eq Type { AbsViewType $1 $2 $4 $7 }+ | abstype identifier openParen FullArgs closeParen eq Type { AbsType $1 $2 $4 (Just $7) }+ | abstype identifier openParen FullArgs closeParen { AbsType $1 $2 $4 Nothing }+ | absvtype identifier openParen FullArgs closeParen eq Type { AbsViewType $1 $2 $4 (Just $7) }+ | absvtype identifier openParen FullArgs closeParen { AbsViewType $1 $2 $4 Nothing } | dataprop identifier openParen FullArgs closeParen eq DataPropLeaves { DataProp $1 $2 $4 $7 } | absprop identifier openParen FullArgs closeParen { AbsProp $1 $2 [] } | typedef identifier eq Type { TypeDef $1 $2 [] $4 }
src/Language/ATS/PrettyPrint.hs view
@@ -413,6 +413,8 @@ typeHelper rs = group (flatAlt ("=" <$> indent 2 (prettyRecord rs)) ("=" <+> prettyRecord rs)) instance Pretty Declaration where+ pretty (AbsType _ s as Nothing) = "abstype" <+> string s <> prettyArgs as+ pretty (AbsViewType _ s as Nothing) = "absvtype" <+> string s <> prettyArgs as pretty (RecordType s [] [] rs) = "typedef" <+> string s <+> "=" <+> prettyRecord rs pretty (RecordType s as [] rs) = "typedef" <+> string s <> prettyArgs as <+> "=" <+> prettyRecord rs pretty (RecordViewType s [] [] rs) = "vtypedef" <+> string s <+> "=" </> prettyRecord rs
src/Language/ATS/Types.hs view
@@ -71,8 +71,8 @@ | ViewTypeDef AlexPosn String [Arg] Type | SumType String [Arg] [(String, Maybe Type)] -- TODO [Arg] for here | SumViewType String [Arg] [(String, Maybe Type)]- | AbsType AlexPosn String [Arg] Type- | AbsViewType AlexPosn String [Arg] Type+ | AbsType AlexPosn String [Arg] (Maybe Type)+ | AbsViewType AlexPosn String [Arg] (Maybe Type) | OverloadOp AlexPosn BinOp Name | Comment String | DataProp AlexPosn String [Arg] [DataPropLeaf]
stack.yaml view
@@ -1,5 +1,5 @@ ----resolver: lts-10.0+resolver: lts-10.1 packages: - '.' extra-deps: