summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2013-09-29 08:54:05 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2013-09-29 08:54:05 +0400
commit122568b165498aeeff6e3d62a7d0d0c0728b5729 (patch)
tree2b5afec3713ff47c6bae280097cd8438c9b64cd5
parent1e2f12b25b7053a48e2af2d28c05191282014484 (diff)
Move rarely used predicated to Types module
-rw-r--r--src/Data/BEncode.hs33
-rw-r--r--src/Data/BEncode/Types.hs37
2 files changed, 36 insertions, 34 deletions
diff --git a/src/Data/BEncode.hs b/src/Data/BEncode.hs
index 16a6160..353d66e 100644
--- a/src/Data/BEncode.hs
+++ b/src/Data/BEncode.hs
@@ -88,12 +88,6 @@ module Data.BEncode
88 , optKey 88 , optKey
89 , (>--) 89 , (>--)
90 , (>--?) 90 , (>--?)
91
92 -- * Predicates
93 , isInteger
94 , isString
95 , isList
96 , isDict
97 ) where 91 ) where
98 92
99 93
@@ -657,33 +651,6 @@ optKey d key
657(>--?) = optKey 651(>--?) = optKey
658{-# INLINE (>--?) #-} 652{-# INLINE (>--?) #-}
659 653
660{--------------------------------------------------------------------
661 Predicates
662--------------------------------------------------------------------}
663
664-- | Test if bencoded value is an integer.
665isInteger :: BValue -> Bool
666isInteger (BInteger _) = True
667isInteger _ = False
668{-# INLINE isInteger #-}
669
670-- | Test if bencoded value is a string, both raw and utf8 encoded.
671isString :: BValue -> Bool
672isString (BString _) = True
673isString _ = False
674{-# INLINE isString #-}
675
676-- | Test if bencoded value is a list.
677isList :: BValue -> Bool
678isList (BList _) = True
679isList _ = False
680{-# INLINE isList #-}
681
682-- | Test if bencoded value is a dictionary.
683isDict :: BValue -> Bool
684isDict (BList _) = True
685isDict _ = False
686{-# INLINE isDict #-}
687 654
688{-------------------------------------------------------------------- 655{--------------------------------------------------------------------
689 Encoding 656 Encoding
diff --git a/src/Data/BEncode/Types.hs b/src/Data/BEncode/Types.hs
index fae90fe..15f570f 100644
--- a/src/Data/BEncode/Types.hs
+++ b/src/Data/BEncode/Types.hs
@@ -8,11 +8,18 @@
8-- Types for working with bencode data. 8-- Types for working with bencode data.
9-- 9--
10module Data.BEncode.Types 10module Data.BEncode.Types
11 ( BInteger 11 ( -- * Types
12 BInteger
12 , BString 13 , BString
13 , BList 14 , BList
14 , BDict 15 , BDict
15 , BValue (..) 16 , BValue (..)
17
18 -- * Predicates
19 , isInteger
20 , isString
21 , isList
22 , isDict
16 ) where 23 ) where
17 24
18import Control.DeepSeq 25import Control.DeepSeq
@@ -49,3 +56,31 @@ instance NFData BValue where
49 rnf (BString s) = rnf s 56 rnf (BString s) = rnf s
50 rnf (BList l) = rnf l 57 rnf (BList l) = rnf l
51 rnf (BDict d) = rnf d 58 rnf (BDict d) = rnf d
59
60{--------------------------------------------------------------------
61 Predicates
62--------------------------------------------------------------------}
63
64-- | Test if bencoded value is an integer.
65isInteger :: BValue -> Bool
66isInteger (BInteger _) = True
67isInteger _ = False
68{-# INLINE isInteger #-}
69
70-- | Test if bencoded value is a string, both raw and utf8 encoded.
71isString :: BValue -> Bool
72isString (BString _) = True
73isString _ = False
74{-# INLINE isString #-}
75
76-- | Test if bencoded value is a list.
77isList :: BValue -> Bool
78isList (BList _) = True
79isList _ = False
80{-# INLINE isList #-}
81
82-- | Test if bencoded value is a dictionary.
83isDict :: BValue -> Bool
84isDict (BList _) = True
85isDict _ = False
86{-# INLINE isDict #-}