hs2ats 0.2.1.10 → 0.3.0.0
raw patch · 2 files changed
+16/−7 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Language.ATS.Generate.Error: HaskellSyntaxError :: SrcLoc -> String -> GenerateError
- Language.ATS.Generate.Error: Internal :: String -> GenerateError
- Language.ATS.Generate.Error: Unsupported :: String -> GenerateError
- Language.ATS.Generate.Error: data GenerateError
- Language.ATS.Generate.Error: displayErr :: GenerateError -> IO ()
- Language.ATS.Generate.Error: instance Control.DeepSeq.NFData Language.ATS.Generate.Error.GenerateError
- Language.ATS.Generate.Error: instance Control.DeepSeq.NFData Language.Haskell.Exts.SrcLoc.SrcLoc
- Language.ATS.Generate.Error: instance GHC.Classes.Eq Language.ATS.Generate.Error.GenerateError
- Language.ATS.Generate.Error: instance GHC.Generics.Generic Language.ATS.Generate.Error.GenerateError
- Language.ATS.Generate.Error: instance GHC.Show.Show Language.ATS.Generate.Error.GenerateError
- Language.ATS.Generate.Error: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty Language.ATS.Generate.Error.GenerateError
- Language.ATS.Generate.Error: syntaxError :: SrcLoc -> String -> ErrM a
- Language.ATS.Generate.Error: type ErrM a = Either GenerateError a
- Language.ATS.Generate.Error: unsupported :: String -> ErrM a
+ Language.ATS.Generate: HaskellSyntaxError :: SrcLoc -> String -> GenerateError
+ Language.ATS.Generate: Internal :: String -> GenerateError
+ Language.ATS.Generate: Unsupported :: String -> GenerateError
+ Language.ATS.Generate: data GenerateError
Files
- hs2ats.cabal +5/−4
- src/Language/ATS/Generate.hs +11/−3
hs2ats.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: hs2ats-version: 0.2.1.10+version: 0.3.0.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -13,8 +13,8 @@ category: Language, Haskell, ATS build-type: Simple extra-source-files:- test/data/*.hs- test/data/*.out+ test/data/*.hs+ test/data/*.out source-repository head type: git@@ -33,8 +33,9 @@ library exposed-modules: Language.ATS.Generate- Language.ATS.Generate.Error hs-source-dirs: src+ other-modules:+ Language.ATS.Generate.Error default-language: Haskell2010 ghc-options: -Wall build-depends:
src/Language/ATS/Generate.hs view
@@ -1,9 +1,12 @@ {-# LANGUAGE PatternSynonyms #-} module Language.ATS.Generate- ( generateATS+ ( -- * Functions+ generateATS , genATSTypes+ -- * Types , ErrM+ , GenerateError (..) ) where import Control.Arrow@@ -160,7 +163,9 @@ -- | Given a string containing Haskell, return a string containing ATS and -- a list of warnings.-generateATS :: FilePath -> String -> ErrM (String, [GenerateError])+generateATS :: FilePath -- ^ Name of source file+ -> String -- ^ Source file contents+ -> ErrM (String, [GenerateError]) generateATS file hsSrc = modulePrint <$> case parseModuleWithMode extends hsSrc of ParseOk x -> Right x ParseFailed loc' msg -> syntaxError (loc' { srcFilename = file }) msg@@ -168,7 +173,10 @@ process :: FilePath -> String -> IO String process p = fmap (unlines . drop 1 . lines) . runCpphs defaultCpphsOptions p -genATSTypes :: FilePath -> FilePath -> Bool -> IO ()+genATSTypes :: FilePath -- ^ Haskell source file+ -> FilePath -- ^ @.sats@ file to be generated+ -> Bool -- ^ Whether to use pre-process the Haskell source (use this if you use @{#- LANGUAGE CPP #-}@ anywhere)+ -> IO () genATSTypes p p' withCPP = do let proc = bool pure (process p) withCPP contents <- proc =<< readFile p