Support both IO and clean version of Generate monad.
[hs-java.git] / JVM / Common.hs
index b3762c38cec1e4a9839692ae2f0fdb4603880b5b..301c40c433ea52b7a6e964aec521c088d0eb5589 100644 (file)
@@ -8,19 +8,26 @@ module JVM.Common
   byteString
   ) where
 
-import Codec.Binary.UTF8.String hiding (encode, decode)
+import Codec.Binary.UTF8.String (encodeString, decodeString)
 import Data.Binary
 import Data.Binary.Put
 import qualified Data.ByteString.Lazy as B
+import qualified Data.Map as M
+import Data.Default
 import Data.Char
 import Data.String
-import qualified Data.Map as M
 
 import JVM.ClassFile
 
 instance IsString B.ByteString where
   fromString s = B.pack $ map (fromIntegral . ord) $ encodeString s
 
+instance Default B.ByteString where
+  def = B.empty
+
+instance Default Word16 where
+  def = 0
+
 toCharList :: B.ByteString -> [Int]
 toCharList bstr = map fromIntegral $ B.unpack bstr