-{-# LANGUAGE FlexibleContexts,GADTs,ExistentialQuantification,LiberalTypeSynonyms #-}
+{-# LANGUAGE FlexibleContexts,GADTs,ExistentialQuantification,LiberalTypeSynonyms,TemplateHaskell #-}
module Bits where
-import qualified Data.Param.FSVec as FSVec
-import qualified Data.TypeLevel as TypeLevel
+import qualified Data.Param.TFVec as TFVec
+import qualified Types
+import Language.Haskell.TH.Lift
--class Signal a where
-- hwand :: a -> a -> a
data Bit = High | Low
deriving (Show, Eq, Read)
+$(deriveLift1 ''Bit)
+
-- A function to prettyprint a bitvector
--displaysigs :: (Signal s) => [s] -> String
lows = Low : lows
highs = High : highs
-dontcare = undefined
-
-type BitVec len = FSVec.FSVec len Bit
+type BitVec len = TFVec.TFVec len Bit
-- vim: set ts=8 sw=2 sts=2 expandtab: