packages feed

preprocessor-tools 0.1.3 → 1.0

raw patch · 7 files changed

+20/−10 lines, 7 files

Files

CHANGELOG view
@@ -1,3 +1,8 @@+1.0 (2013/01/23)+ - Changed type of transformer from [Ast] -> [Ast] to [Ast] -> IO [Ast]+   (as suggested by John MacFarlane)+ - Cleaned up some warnings.+ 0.1.2 (2011/01/30)  - Updated for GHC 7 (Thanks to Yusaku HASHIMOTO) 
Language/Haskell/Preprocessor.hs view
@@ -15,6 +15,7 @@ import System.Environment (getProgName) import System.Exit (exitFailure) import Control.Exception (bracket)+import Control.Monad ((<=<))  import Data.Monoid (Monoid(..)) import qualified Control.Monad.Writer as W@@ -29,7 +30,7 @@  data Extension = Extension {                    keywords    :: [[Keyword]],-                   transformer :: [Ast] -> [Ast],+                   transformer :: [Ast] -> IO [Ast],                    synspec     :: SynSpec,                    usage       :: Maybe (IO ()),                    syntaxerror :: Maybe (E.Error -> IO ())@@ -38,14 +39,14 @@ instance Monoid Extension where   mempty          = Extension {                       keywords    = [],-                      transformer = id,+                      transformer = return,                       synspec     = mempty,                       usage       = Nothing,                       syntaxerror = Nothing                     }   e1 `mappend` e2 = Extension {                       keywords    = keywords e1 ++ keywords e2,-                      transformer = transformer e1 . transformer e2,+                      transformer = transformer e1 <=< transformer e2,                       synspec     = synspec e1 `mappend` synspec e2,                       usage       = usage e1       <+ usage e2,                       syntaxerror = syntaxerror e1 <+ syntaxerror e2@@ -56,7 +57,7 @@ base :: Extension base  = Extension {           keywords    = [],-          transformer = id,+          transformer = return,           synspec     = defaultSpec,           usage       = Just (do             prog <- getProgName@@ -82,7 +83,7 @@                       Nothing -> return ()                     exitFailure       Right r -> return r-    let result = transformer extension asts+    result <- transformer extension asts     case files of       [_, _, file] -> fileDump spec file result       _            -> stdoutDump spec result
Language/Haskell/Preprocessor/Ast.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} module Language.Haskell.Preprocessor.Ast (   Ast(..), flatten, flattenList, format, cons,   module Language.Haskell.Preprocessor.Token
Language/Haskell/Preprocessor/Error.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} module Language.Haskell.Preprocessor.Error (   Error(..), fromParseError, errorAt ) where
Language/Haskell/Preprocessor/Loc.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} module Language.Haskell.Preprocessor.Loc (   Loc, file, line, col,   initial, bogus, isBogus,
Language/Haskell/Preprocessor/Token.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DeriveDataTypeable #-} module Language.Haskell.Preprocessor.Token (   Token(..), Tag(..), newToken ) where
preprocessor-tools.cabal view
@@ -1,12 +1,12 @@ Name:           preprocessor-tools-Version:        0.1.3+Version:        1.0 Cabal-Version:  >= 1.2.3 License:        BSD3 License-File:   LICENSE Stability:      experimental-Author:         Jesse A. Tov <tov@ccs.neu.edu>-Maintainer:     tov@ccs.neu.edu-Homepage:       http://www.ccs.neu.edu/~tov/pubs/haskell-session-types+Author:         Jesse A. Tov <tov@eecs.harvard.edu>+Maintainer:     tov@eecs.harvard.edu+Homepage:       http://www.eecs.harvard.edu/~tov/pubs/haskell-session-types/ Category:       Source-tools, Language, Code Generation Synopsis:       A framework for extending Haskell's syntax via quick-and-dirty preprocessors Build-type:     Simple@@ -31,7 +31,6 @@                         base >=4 && <5,                         syb >=0 && <1 -  Extensions:           DeriveDataTypeable   Exposed-modules:     Language.Haskell.Preprocessor,     Language.Haskell.Preprocessor.Ast,@@ -44,3 +43,4 @@     Language.Haskell.Preprocessor.Util   Other-modules:     Language.Haskell.Preprocessor.Lexer+  GHC-options: -Wall