OpenAFP 1.2 → 1.3
raw patch · 11 files changed
+150/−143 lines, 11 filesdep −haskell98dep ~basePVP ok
version bump matches the API change (PVP)
Dependencies removed: haskell98
Dependency ranges changed: base
API changes (from Hackage documentation)
+ OpenAFP.Types.Chunk: mkChunkType :: TypeRep -> ChunkType
- OpenAFP.Types.Chunk: MkChunkType :: Int -> ChunkType
+ OpenAFP.Types.Chunk: MkChunkType :: TypeRep -> ChunkType
Files
- LICENSE +4/−18
- OpenAFP.cabal +106/−99
- src/OpenAFP.hs +3/−2
- src/OpenAFP/Internals.hs +2/−2
- src/OpenAFP/Prelude/Utils.hs +2/−2
- src/OpenAFP/Records.hs +2/−2
- src/OpenAFP/Types.hs +2/−2
- src/OpenAFP/Types/Buffer.hs +2/−8
- src/OpenAFP/Types/Chunk.hs +23/−4
- src/OpenAFP/Types/Record.hs +2/−2
- src/OpenAFP/Types/View.hs +2/−2
LICENSE view
@@ -1,20 +1,6 @@-Copyright 2004-2008 by Audrey Tang--Permission is hereby granted, free of charge, to any person obtaining-a copy of this software and associated documentation files (the-"Software"), to deal in the Software without restriction, including-without limitation the rights to use, copy, modify, merge, publish,-distribute, sublicense, and/or sell copies of the Software, and to-permit persons to whom the Software is furnished to do so, subject to-the following conditions:+To the extent possible under law, 唐鳳 has waived all copyright and+related or neighboring rights to OpenAFP. -The above copyright notice and this permission notice shall be-included in all copies or substantial portions of the Software.+This work is published from Taiwan. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.+<http://creativecommons.org/publicdomain/zero/1.0>
OpenAFP.cabal view
@@ -1,101 +1,108 @@-Name: OpenAFP-Version: 1.2-License: BSD3+name: OpenAFP+version: 1.3+license: PublicDomain License-file: LICENSE-Author: Audrey Tang-Maintainer: audreyt@audreyt.org-Synopsis: IBM AFP document format parser and generator-Description: IBM AFP document format parser and generator-Category: Data-Build-type: Simple+cabal-version: >= 1.6+author: Audrey Tang+Tested-With: GHC==6.10.1, GHC==6.12.1, GHC==7.0.1, GHC==7.2.1+maintainer: audreyt@audreyt.org+homepage: https://github.com/audreyt/openafp/+synopsis: IBM AFP document format parser and generator+description: IBM AFP document format parser and generator+category: Data+build-type: Simple+library+ build-depends: base >= 2 && < 5, mtl, regex-compat, directory, process,+ array, containers, binary, bytestring+ hs-source-dirs: src+ ghc-options: -funbox-strict-fields -fno-warn-missing-signatures+ extensions: MagicHash, DeriveDataTypeable, GeneralizedNewtypeDeriving,+ RankNTypes, TypeFamilies, FlexibleContexts, TypeSynonymInstances,+ ScopedTypeVariables, MultiParamTypeClasses+ exposed-modules: OpenAFP.Internals.Binary OpenAFP.Internals.Ebc2Asc+ OpenAFP.Prelude.Utils OpenAFP.Prelude.Instances OpenAFP.Prelude.InstanceT+ OpenAFP.Prelude.Lookups+ OpenAFP.Prelude.InstanceAFP OpenAFP.Prelude.InstancePTX+ OpenAFP.Records.T.LDOPM OpenAFP.Records.T.OSFO OpenAFP.Records.T.FRMT+ OpenAFP.Records.T.OCH OpenAFP.Records.T.MO OpenAFP.Records.T.T2FRMT+ OpenAFP.Records.T.FDS OpenAFP.Records.T.OCL OpenAFP.Records.T.OO+ OpenAFP.Records.T.CGCSGI OpenAFP.Records.T.PSRM OpenAFP.Records.T.TO+ OpenAFP.Records.T.AD OpenAFP.Records.T.RLI OpenAFP.Records.T.TS+ OpenAFP.Records.T.RUA OpenAFP.Records.T.CF OpenAFP.Records.T.PPI+ OpenAFP.Records.T.ROI OpenAFP.Records.T.EF OpenAFP.Records.T.ERLI+ OpenAFP.Records.T.FF OpenAFP.Records.T.MOR OpenAFP.Records.T.FCGCSGI+ OpenAFP.Records.T.POCP OpenAFP.Records.T.MF OpenAFP.Records.T.DP+ OpenAFP.Records.T.MEC OpenAFP.Records.T.CR OpenAFP.Records.T.OBE+ OpenAFP.Records.T.T1CRMT OpenAFP.Records.T.LDTS OpenAFP.Records.T.AV+ OpenAFP.Records.T.MMPN OpenAFP.Records.T.OFSS OpenAFP.Records.T.OBO+ OpenAFP.Records.T.UDTS OpenAFP.Records.T.ESI OpenAFP.Records.T.OCO+ OpenAFP.Records.T.PSMR OpenAFP.Records.T.OAS OpenAFP.Records.T.C+ OpenAFP.Records.T.FQN OpenAFP.Records.T.PV OpenAFP.Records.T.FHSF+ OpenAFP.Records.T.OOI OpenAFP.Records.T.MIS OpenAFP.Records.T.OSFE+ OpenAFP.Records.T.MA OpenAFP.Records.T.OAMU OpenAFP.Records.T.II+ OpenAFP.Records.T.AQ OpenAFP.Records.T.PC OpenAFP.Records.T.RSN+ OpenAFP.Records.T.FO OpenAFP.Records.T.ROT OpenAFP.Records.T.CS+ OpenAFP.Records.MCF.T OpenAFP.Records.AFP.ECP OpenAFP.Records.AFP.BIM+ OpenAFP.Records.AFP.PFC OpenAFP.Records.AFP.PTD1 OpenAFP.Records.AFP.IEL+ OpenAFP.Records.AFP.BMM OpenAFP.Records.AFP.ICP OpenAFP.Records.AFP.PTX+ OpenAFP.Records.AFP.EDT OpenAFP.Records.AFP.FNI OpenAFP.Records.AFP.IPD+ OpenAFP.Records.AFP.LNC OpenAFP.Records.AFP.BPM OpenAFP.Records.AFP.IRD+ OpenAFP.Records.AFP.PMC OpenAFP.Records.AFP.EDX OpenAFP.Records.AFP.FNM+ OpenAFP.Records.AFP.MCF1 OpenAFP.Records.AFP.EPT OpenAFP.Records.AFP.EBC+ OpenAFP.Records.AFP.BDD OpenAFP.Records.AFP.EAG OpenAFP.Records.AFP.MMT+ OpenAFP.Records.AFP.EDG OpenAFP.Records.AFP.FGD OpenAFP.Records.AFP.EFG+ OpenAFP.Records.AFP.CFI OpenAFP.Records.AFP.MBC OpenAFP.Records.AFP.MCC+ OpenAFP.Records.AFP.BCP OpenAFP.Records.AFP.MFC OpenAFP.Records.AFP.EOC+ OpenAFP.Records.AFP.FND OpenAFP.Records.AFP.ENG OpenAFP.Records.AFP.BDT+ OpenAFP.Records.AFP.EOG OpenAFP.Records.AFP.IOC OpenAFP.Records.AFP.EPG+ OpenAFP.Records.AFP.CPI OpenAFP.Records.AFP.MMC OpenAFP.Records.AFP.BDX+ OpenAFP.Records.AFP.ERG OpenAFP.Records.AFP.ESG OpenAFP.Records.AFP.IPG+ OpenAFP.Records.AFP.EMO OpenAFP.Records.AFP.MGO OpenAFP.Records.AFP.FNP+ OpenAFP.Records.AFP.MPG OpenAFP.Records.AFP.MIO OpenAFP.Records.AFP.BPT+ OpenAFP.Records.AFP.BBC OpenAFP.Records.AFP.EPS OpenAFP.Records.AFP.IPO+ OpenAFP.Records.AFP.MMO OpenAFP.Records.AFP.BAG OpenAFP.Records.AFP.CDD+ OpenAFP.Records.AFP.GAD OpenAFP.Records.AFP.IPS OpenAFP.Records.AFP.MPO+ OpenAFP.Records.AFP.BDG OpenAFP.Records.AFP.NOP OpenAFP.Records.AFP.ECF+ OpenAFP.Records.AFP.BFG OpenAFP.Records.AFP.GDD OpenAFP.Records.AFP.MPS+ OpenAFP.Records.AFP.BOC OpenAFP.Records.AFP.OBD OpenAFP.Records.AFP.MCF+ OpenAFP.Records.AFP.OCD OpenAFP.Records.AFP.CPD OpenAFP.Records.AFP.BNG+ OpenAFP.Records.AFP.FNC OpenAFP.Records.AFP.BOG OpenAFP.Records.AFP.CAT+ OpenAFP.Records.AFP.EFN OpenAFP.Records.AFP.BPG OpenAFP.Records.AFP.IOB+ OpenAFP.Records.AFP.BRG OpenAFP.Records.AFP.FNG OpenAFP.Records.AFP.BSG+ OpenAFP.Records.AFP.LLE OpenAFP.Records.AFP.EGR OpenAFP.Records.AFP.BMO+ OpenAFP.Records.AFP.OBP OpenAFP.Records.AFP.FNO OpenAFP.Records.AFP.MDR+ OpenAFP.Records.AFP.BPS OpenAFP.Records.AFP.TLE OpenAFP.Records.AFP.ECA+ OpenAFP.Records.AFP.BCF OpenAFP.Records.AFP.CFC OpenAFP.Records.AFP.MCA+ OpenAFP.Records.AFP.EDI OpenAFP.Records.AFP.BR OpenAFP.Records.AFP.EDM+ OpenAFP.Records.AFP.CPC OpenAFP.Records.AFP.BFN OpenAFP.Records.AFP.EII+ OpenAFP.Records.AFP.ER OpenAFP.Records.AFP.EFM OpenAFP.Records.AFP.PGP1+ OpenAFP.Records.AFP.CTC OpenAFP.Records.AFP.EIM OpenAFP.Records.AFP.BGR+ OpenAFP.Records.AFP.PGD OpenAFP.Records.AFP.LND OpenAFP.Records.AFP.EMM+ OpenAFP.Records.AFP.DXD OpenAFP.Records.AFP.EPM OpenAFP.Records.AFP.FNN+ OpenAFP.Records.AFP.IMM OpenAFP.Records.AFP.BCA OpenAFP.Records.AFP.BDA+ OpenAFP.Records.AFP.PGP OpenAFP.Records.AFP.PTD OpenAFP.Records.AFP.BDI+ OpenAFP.Records.AFP.IDD OpenAFP.Records.AFP.BDM OpenAFP.Records.AFP.BII+ OpenAFP.Records.AFP.MCD OpenAFP.Records.AFP.BFM OpenAFP.Records.AFP.MDD+ OpenAFP.Records.AFP.MSU OpenAFP.Records.AFP.IID OpenAFP.Records.PTX.AMI+ OpenAFP.Records.PTX.DBR OpenAFP.Records.PTX.BLN OpenAFP.Records.PTX.SIA+ OpenAFP.Records.PTX.SBI OpenAFP.Records.PTX.DIR OpenAFP.Records.PTX.RMB+ OpenAFP.Records.PTX.SCFL OpenAFP.Records.PTX.RMI OpenAFP.Records.PTX.SIM+ OpenAFP.Records.PTX.STC OpenAFP.Records.PTX.BSU OpenAFP.Records.PTX.NOP+ OpenAFP.Records.PTX.ESU OpenAFP.Records.PTX.AMB OpenAFP.Records.PTX.SVI+ OpenAFP.Records.PTX.TRN OpenAFP.Records.PTX.RPS OpenAFP.Records.PTX.STO+ OpenAFP.Records.AFP OpenAFP.Records.PTX OpenAFP.Records.T OpenAFP.Records.MCF+ OpenAFP.Types.Chunk OpenAFP.Types.Buffer OpenAFP.Types.View+ OpenAFP.Types.Record OpenAFP.Internals OpenAFP.Records OpenAFP.Types OpenAFP + OpenAFP.Prelude.InstanceAFP.B+ OpenAFP.Prelude.InstanceAFP.C+ OpenAFP.Prelude.InstanceAFP.D+ OpenAFP.Prelude.InstanceAFP.E+ OpenAFP.Prelude.InstanceAFP.F+ OpenAFP.Prelude.InstanceAFP.G+ OpenAFP.Prelude.InstanceAFP.I+ OpenAFP.Prelude.InstanceAFP.L+ OpenAFP.Prelude.InstanceAFP.M -Exposed-modules: OpenAFP.Internals.Binary OpenAFP.Internals.Ebc2Asc- OpenAFP.Prelude.Utils OpenAFP.Prelude.Instances OpenAFP.Prelude.InstanceT- OpenAFP.Prelude.Lookups- OpenAFP.Prelude.InstanceAFP OpenAFP.Prelude.InstancePTX- OpenAFP.Records.T.LDOPM OpenAFP.Records.T.OSFO OpenAFP.Records.T.FRMT- OpenAFP.Records.T.OCH OpenAFP.Records.T.MO OpenAFP.Records.T.T2FRMT- OpenAFP.Records.T.FDS OpenAFP.Records.T.OCL OpenAFP.Records.T.OO- OpenAFP.Records.T.CGCSGI OpenAFP.Records.T.PSRM OpenAFP.Records.T.TO- OpenAFP.Records.T.AD OpenAFP.Records.T.RLI OpenAFP.Records.T.TS- OpenAFP.Records.T.RUA OpenAFP.Records.T.CF OpenAFP.Records.T.PPI- OpenAFP.Records.T.ROI OpenAFP.Records.T.EF OpenAFP.Records.T.ERLI- OpenAFP.Records.T.FF OpenAFP.Records.T.MOR OpenAFP.Records.T.FCGCSGI- OpenAFP.Records.T.POCP OpenAFP.Records.T.MF OpenAFP.Records.T.DP- OpenAFP.Records.T.MEC OpenAFP.Records.T.CR OpenAFP.Records.T.OBE- OpenAFP.Records.T.T1CRMT OpenAFP.Records.T.LDTS OpenAFP.Records.T.AV- OpenAFP.Records.T.MMPN OpenAFP.Records.T.OFSS OpenAFP.Records.T.OBO- OpenAFP.Records.T.UDTS OpenAFP.Records.T.ESI OpenAFP.Records.T.OCO- OpenAFP.Records.T.PSMR OpenAFP.Records.T.OAS OpenAFP.Records.T.C- OpenAFP.Records.T.FQN OpenAFP.Records.T.PV OpenAFP.Records.T.FHSF- OpenAFP.Records.T.OOI OpenAFP.Records.T.MIS OpenAFP.Records.T.OSFE- OpenAFP.Records.T.MA OpenAFP.Records.T.OAMU OpenAFP.Records.T.II- OpenAFP.Records.T.AQ OpenAFP.Records.T.PC OpenAFP.Records.T.RSN- OpenAFP.Records.T.FO OpenAFP.Records.T.ROT OpenAFP.Records.T.CS- OpenAFP.Records.MCF.T OpenAFP.Records.AFP.ECP OpenAFP.Records.AFP.BIM- OpenAFP.Records.AFP.PFC OpenAFP.Records.AFP.PTD1 OpenAFP.Records.AFP.IEL- OpenAFP.Records.AFP.BMM OpenAFP.Records.AFP.ICP OpenAFP.Records.AFP.PTX- OpenAFP.Records.AFP.EDT OpenAFP.Records.AFP.FNI OpenAFP.Records.AFP.IPD- OpenAFP.Records.AFP.LNC OpenAFP.Records.AFP.BPM OpenAFP.Records.AFP.IRD- OpenAFP.Records.AFP.PMC OpenAFP.Records.AFP.EDX OpenAFP.Records.AFP.FNM- OpenAFP.Records.AFP.MCF1 OpenAFP.Records.AFP.EPT OpenAFP.Records.AFP.EBC- OpenAFP.Records.AFP.BDD OpenAFP.Records.AFP.EAG OpenAFP.Records.AFP.MMT- OpenAFP.Records.AFP.EDG OpenAFP.Records.AFP.FGD OpenAFP.Records.AFP.EFG- OpenAFP.Records.AFP.CFI OpenAFP.Records.AFP.MBC OpenAFP.Records.AFP.MCC- OpenAFP.Records.AFP.BCP OpenAFP.Records.AFP.MFC OpenAFP.Records.AFP.EOC- OpenAFP.Records.AFP.FND OpenAFP.Records.AFP.ENG OpenAFP.Records.AFP.BDT- OpenAFP.Records.AFP.EOG OpenAFP.Records.AFP.IOC OpenAFP.Records.AFP.EPG- OpenAFP.Records.AFP.CPI OpenAFP.Records.AFP.MMC OpenAFP.Records.AFP.BDX- OpenAFP.Records.AFP.ERG OpenAFP.Records.AFP.ESG OpenAFP.Records.AFP.IPG- OpenAFP.Records.AFP.EMO OpenAFP.Records.AFP.MGO OpenAFP.Records.AFP.FNP- OpenAFP.Records.AFP.MPG OpenAFP.Records.AFP.MIO OpenAFP.Records.AFP.BPT- OpenAFP.Records.AFP.BBC OpenAFP.Records.AFP.EPS OpenAFP.Records.AFP.IPO- OpenAFP.Records.AFP.MMO OpenAFP.Records.AFP.BAG OpenAFP.Records.AFP.CDD- OpenAFP.Records.AFP.GAD OpenAFP.Records.AFP.IPS OpenAFP.Records.AFP.MPO- OpenAFP.Records.AFP.BDG OpenAFP.Records.AFP.NOP OpenAFP.Records.AFP.ECF- OpenAFP.Records.AFP.BFG OpenAFP.Records.AFP.GDD OpenAFP.Records.AFP.MPS- OpenAFP.Records.AFP.BOC OpenAFP.Records.AFP.OBD OpenAFP.Records.AFP.MCF- OpenAFP.Records.AFP.OCD OpenAFP.Records.AFP.CPD OpenAFP.Records.AFP.BNG- OpenAFP.Records.AFP.FNC OpenAFP.Records.AFP.BOG OpenAFP.Records.AFP.CAT- OpenAFP.Records.AFP.EFN OpenAFP.Records.AFP.BPG OpenAFP.Records.AFP.IOB- OpenAFP.Records.AFP.BRG OpenAFP.Records.AFP.FNG OpenAFP.Records.AFP.BSG- OpenAFP.Records.AFP.LLE OpenAFP.Records.AFP.EGR OpenAFP.Records.AFP.BMO- OpenAFP.Records.AFP.OBP OpenAFP.Records.AFP.FNO OpenAFP.Records.AFP.MDR- OpenAFP.Records.AFP.BPS OpenAFP.Records.AFP.TLE OpenAFP.Records.AFP.ECA- OpenAFP.Records.AFP.BCF OpenAFP.Records.AFP.CFC OpenAFP.Records.AFP.MCA- OpenAFP.Records.AFP.EDI OpenAFP.Records.AFP.BR OpenAFP.Records.AFP.EDM- OpenAFP.Records.AFP.CPC OpenAFP.Records.AFP.BFN OpenAFP.Records.AFP.EII- OpenAFP.Records.AFP.ER OpenAFP.Records.AFP.EFM OpenAFP.Records.AFP.PGP1- OpenAFP.Records.AFP.CTC OpenAFP.Records.AFP.EIM OpenAFP.Records.AFP.BGR- OpenAFP.Records.AFP.PGD OpenAFP.Records.AFP.LND OpenAFP.Records.AFP.EMM- OpenAFP.Records.AFP.DXD OpenAFP.Records.AFP.EPM OpenAFP.Records.AFP.FNN- OpenAFP.Records.AFP.IMM OpenAFP.Records.AFP.BCA OpenAFP.Records.AFP.BDA- OpenAFP.Records.AFP.PGP OpenAFP.Records.AFP.PTD OpenAFP.Records.AFP.BDI- OpenAFP.Records.AFP.IDD OpenAFP.Records.AFP.BDM OpenAFP.Records.AFP.BII- OpenAFP.Records.AFP.MCD OpenAFP.Records.AFP.BFM OpenAFP.Records.AFP.MDD- OpenAFP.Records.AFP.MSU OpenAFP.Records.AFP.IID OpenAFP.Records.PTX.AMI- OpenAFP.Records.PTX.DBR OpenAFP.Records.PTX.BLN OpenAFP.Records.PTX.SIA- OpenAFP.Records.PTX.SBI OpenAFP.Records.PTX.DIR OpenAFP.Records.PTX.RMB- OpenAFP.Records.PTX.SCFL OpenAFP.Records.PTX.RMI OpenAFP.Records.PTX.SIM- OpenAFP.Records.PTX.STC OpenAFP.Records.PTX.BSU OpenAFP.Records.PTX.NOP- OpenAFP.Records.PTX.ESU OpenAFP.Records.PTX.AMB OpenAFP.Records.PTX.SVI- OpenAFP.Records.PTX.TRN OpenAFP.Records.PTX.RPS OpenAFP.Records.PTX.STO- OpenAFP.Records.AFP OpenAFP.Records.PTX OpenAFP.Records.T OpenAFP.Records.MCF- OpenAFP.Types.Chunk OpenAFP.Types.Buffer OpenAFP.Types.View- OpenAFP.Types.Record OpenAFP.Internals OpenAFP.Records OpenAFP.Types OpenAFP - OpenAFP.Prelude.InstanceAFP.B- OpenAFP.Prelude.InstanceAFP.C- OpenAFP.Prelude.InstanceAFP.D- OpenAFP.Prelude.InstanceAFP.E- OpenAFP.Prelude.InstanceAFP.F- OpenAFP.Prelude.InstanceAFP.G- OpenAFP.Prelude.InstanceAFP.I- OpenAFP.Prelude.InstanceAFP.L- OpenAFP.Prelude.InstanceAFP.M-Extensions: MagicHash, DeriveDataTypeable, GeneralizedNewtypeDeriving,- RankNTypes, TypeFamilies, FlexibleContexts, TypeSynonymInstances,- ScopedTypeVariables, MultiParamTypeClasses-Build-depends: base, mtl, haskell98, regex-compat, directory, process,- array, containers, binary, bytestring-Ghc-options: -funbox-strict-fields -fno-warn-missing-signatures-Hs-source-dirs: src+source-repository head+ type: git+ location: git://github.com/audreyt/openafp.git
src/OpenAFP.hs view
@@ -1,8 +1,9 @@+{-# LANGUAGE FlexibleInstances #-} ----------------------------------------------------------------------------- -- | -- Module : OpenAFP--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental
src/OpenAFP/Internals.hs view
@@ -1,8 +1,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Internals--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental
src/OpenAFP/Prelude/Utils.hs view
@@ -1,8 +1,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Prelude.Utils--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental
src/OpenAFP/Records.hs view
@@ -2,8 +2,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Records--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental
src/OpenAFP/Types.hs view
@@ -2,8 +2,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Types--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental
src/OpenAFP/Types/Buffer.hs view
@@ -2,8 +2,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Types.Buffer--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental@@ -23,13 +23,7 @@ -- | The Buf class represents buffers, with the leading bytes -- representing its length. class (Show a, Typeable a) => Buf a where- {-# SPECIALIZE mkBuf :: BS -> Buffer0 #-}- {-# SPECIALIZE mkBuf :: BS -> Buffer1 #-}- {-# SPECIALIZE mkBuf :: BS -> Buffer2 #-} mkBuf :: BS -> a- {-# SPECIALIZE packBuf :: Buffer0 -> BS #-}- {-# SPECIALIZE packBuf :: Buffer1 -> BS #-}- {-# SPECIALIZE packBuf :: Buffer2 -> BS #-} packBuf :: a -> BS -- | Buffer0, being a simple BS, is of unlimited length.
src/OpenAFP/Types/Chunk.hs view
@@ -1,9 +1,9 @@-+{-# LANGUAGE CPP #-} ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Types.Chunk--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental@@ -21,6 +21,9 @@ import qualified Data.ByteString as S import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.Char8 as C+#if (__GLASGOW_HASKELL__ >= 700)+import Unsafe.Coerce (unsafeCoerce)+#endif infixl 4 ~~ infixl 4 <~~@@ -67,14 +70,30 @@ toNStr :: [N1] -> NStr toNStr = mkBuf . S.pack . map fromN1 +#if (__GLASGOW_HASKELL__ >= 700)+newtype ChunkType = MkChunkType TypeRep+ deriving (Show, Eq, Typeable, Ord)++mkChunkType :: TypeRep -> ChunkType+mkChunkType = MkChunkType++typeInt :: TypeRep -> Int+typeInt x = unsafeCoerce (unsafePerformIO (typeRepKey x))++#else newtype ChunkType = MkChunkType Int deriving (Show, Eq, Typeable, Ord) +mkChunkType :: TypeRep -> ChunkType+mkChunkType = MkChunkType . typeInt+ typeInt :: TypeRep -> Int typeInt x = unsafePerformIO (typeRepKey x) +#endif+ chunkTypeOf :: Typeable a => a -> ChunkType-chunkTypeOf = MkChunkType . typeInt . typeOf+chunkTypeOf = mkChunkType . typeOf -- | The Chunk class represents non-parsed chunks, constructed from a -- (ChunkType, Buffer) tuple.
src/OpenAFP/Types/Record.hs view
@@ -1,8 +1,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Types.Record--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental
src/OpenAFP/Types/View.hs view
@@ -2,8 +2,8 @@ ----------------------------------------------------------------------------- -- | -- Module : OpenAFP.Types.View--- Copyright : (c) Audrey Tang 2004, 2006--- License : BSD-style+-- Copyright : (c) Audrey Tang 2004-2011+-- License : PublicDomain -- -- Maintainer : audreyt@audreyt.org -- Stability : experimental