hs2ats 0.2.1.0 → 0.2.1.1
raw patch · 2 files changed
+20/−17 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hs2ats.cabal +1/−1
- src/Language/ATS/Generate.hs +19/−16
hs2ats.cabal view
@@ -1,5 +1,5 @@ name: hs2ats-version: 0.2.1.0+version: 0.2.1.1 synopsis: Create ATS types from Haskell types description: This package enables scanning Haskell source files for data types and then generating [ATS](http://www.ats-lang.org/) types from them. homepage: https://github.com/vmchale/hs2ats#readme
src/Language/ATS/Generate.hs view
@@ -45,23 +45,25 @@ qnameToString (QNamed _ _ s) = Right $ convertConventions s qnameToString _ = unsupported "qnameToString" +stringTypeConv :: String -> ErrM String+stringTypeConv "Maybe" = Right "Option_vt"+stringTypeConv "Integer" = Right "Intinf"+stringTypeConv "String" = Right "Strptr1"+stringTypeConv "CString" = Right "Strptr1"+stringTypeConv "Word" = Right "uint"+stringTypeConv "CUInt" = Right "uint"+stringTypeConv _ = unsupported "stringTypeConv"+ toStringATS' :: QName a -> ErrM ATS.Type-toStringATS' (QNamed _ _ "Int") = Right ATS.Int-toStringATS' (QNamed _ _ "CInt") = Right ATS.Int-toStringATS' (QNamed _ _ "Float") = Right ATS.Float-toStringATS' (QNamed _ _ "CFloat") = Right ATS.Float-toStringATS' (QNamed _ _ "Integer") = Right $ Named (Unqualified "Intinf")-toStringATS' (QNamed _ _ "String") = Right $ Named (Unqualified "Strptr1")-toStringATS' (QNamed _ _ "CString") = Right $ Named (Unqualified "Strptr1")-toStringATS' (QNamed _ _ "Bool") = Right ATS.Bool-toStringATS' (QNamed _ _ "CBool") = Right ATS.Bool-toStringATS' (QNamed _ _ "Word") = Right $ Named (Unqualified "uint")-toStringATS' (QNamed _ _ "CUInt") = Right $ Named (Unqualified "uint")-toStringATS' (QNamed _ _ "Double") = Right ATS.Double-toStringATS' (QNamed _ _ "CDouble") = Right ATS.Double-toStringATS' _ = unsupported "toStringATS'"+toStringATS' (QNamed _ _ "Int") = Right ATS.Int+toStringATS' (QNamed _ _ "CInt") = Right ATS.Int+toStringATS' (QNamed _ _ "Float") = Right ATS.Float+toStringATS' (QNamed _ _ "CFloat") = Right ATS.Float+toStringATS' (QNamed _ _ "Bool") = Right ATS.Bool+toStringATS' (QNamed _ _ "CBool") = Right ATS.Bool+toStringATS' (QNamed _ _ s) = Named . Unqualified <$> stringTypeConv s+toStringATS' _ = unsupported "toStringATS'" --- TODO ignore StorableWrapper :) typeToType :: HS.Type a -> ErrM ATS.Type typeToType (TyCon _ qn) = toStringATS' qn typeToType (TyVar _ n) = Right $ Named $ Unqualified (toStringATS n)@@ -142,7 +144,8 @@ extends :: ParseMode extends = defaultParseMode- { extensions = [EnableExtension StandaloneDeriving] }+ { extensions = [EnableExtension StandaloneDeriving]+ , fixities = Just $ infixr_ 1 ["<=<"] } -- | Given a string containing Haskell, return a string containing ATS and -- a list of warnings.