binembed 0.1.0.2 → 0.1.0.3
raw patch · 2 files changed
+20/−14 lines, 2 filesdep ~Cabaldep ~basedep ~containers
Dependency ranges changed: Cabal, base, containers, directory, dlist, filepath
Files
- binembed.cabal +12/−14
- src/binembed.hs +8/−0
binembed.cabal view
@@ -1,5 +1,5 @@ Name: binembed-Version: 0.1.0.2+Version: 0.1.0.3 Synopsis: Embed data into object files. Description: Given a list of files and directories to include, binembed generates assembly source to include the data@@ -9,7 +9,7 @@ . See the package 'binembed-example' for a concrete example.-Homepage: http://gitorious.org/binembed+Homepage: http://code.mathr.co.uk/binembed License: BSD3 License-file: LICENSE Author: Claude Heiland-Allen@@ -20,31 +20,29 @@ Extra-source-files: include/binembed.h Library- Build-depends: base >= 4 && < 5,+ Build-depends: base >= 4 && < 4.9, bytestring >= 0.9 && < 0.11,- Cabal >= 1.8 && < 1.17+ Cabal >= 1.8 && < 1.23 Exposed-modules: Data.BinEmbed Distribution.Simple.BinEmbed include-dirs: include install-includes: binembed.h GHC-options: -Wall- GHC-prof-options: -prof -auto-all Executable binembed- Build-depends: base >= 4 && < 5,- containers >= 0 && < 1,- directory >= 1 && < 2,- dlist >= 0.4 && < 0.5,- filepath >= 1 && < 2+ Build-depends: base >= 4 && < 4.9,+ containers >= 0 && < 0.6,+ directory >= 1 && < 1.3,+ dlist >= 0.4 && < 0.8,+ filepath >= 1 && < 1.5 Main-is: src/binembed.hs GHC-options: -Wall- GHC-prof-options: -prof -auto-all Source-repository head type: git- location: git://gitorious.org/binembed/binembed.git+ location: http://code.mathr.co.uk/binembed.git Source-repository this type: git- location: git://gitorious.org/binembed/binembed.git- tag: v0.1.0.2+ location: http://code.mathr.co.uk/binembed.git+ tag: v0.1.0.3
src/binembed.hs view
@@ -1,3 +1,4 @@+import Control.Monad (ap, liftM) import Data.Char (ord, toUpper, toLower) import Data.DList (DList, fromList, toList) import Data.List (intercalate, isSuffixOf)@@ -54,6 +55,13 @@ data Env = Env{ eCHName, eCCName, eCInclude, eHSName :: String, eAlignment :: Int, eTextExts :: [String] } data CodeGen a = CodeGen{ runCodeGen :: Env -> (a, Output) }++instance Functor CodeGen where+ fmap = liftM++instance Applicative CodeGen where+ pure = return+ (<*>) = ap instance Monad CodeGen where return a = CodeGen $ \_e -> (a, mempty)