X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Fc%CE%BBash.git;a=blobdiff_plain;f=Bits.hs;h=558a12b1f24b5b7465baecda7cc402eeabd84c30;hp=435b04e1efc5cb0292b345111f5584a694cf2521;hb=3f39038911a675d91b5147761e16296d3ab25743;hpb=8d8e5446f4558cd5bfbd78f3378e6cf96a9c3fc8 diff --git a/Bits.hs b/Bits.hs index 435b04e..558a12b 100644 --- a/Bits.hs +++ b/Bits.hs @@ -1,11 +1,13 @@ -{-# LANGUAGE FlexibleContexts,GADTs,ExistentialQuantification,LiberalTypeSynonyms,TemplateHaskell #-} +{-# LANGUAGE FlexibleContexts,GADTs,ExistentialQuantification,LiberalTypeSynonyms,TemplateHaskell, DeriveDataTypeable #-} module Bits where -import qualified Data.Param.TFVec as TFVec -import qualified Types +-- import qualified Data.Param.TFVec as TFVec +-- import qualified Types import Language.Haskell.TH.Lift +import Data.Typeable + --class Signal a where -- hwand :: a -> a -> a -- hwor :: a -> a -> a @@ -45,22 +47,22 @@ displaysig Low = "0" -- The plain Bit type data Bit = High | Low - deriving (Show, Eq, Read) + deriving (Show, Eq, Read, Typeable) $(deriveLift1 ''Bit) -- A function to prettyprint a bitvector --displaysigs :: (Signal s) => [s] -> String -displaysigs :: [Bit] -> String -displaysigs = (foldl (++) "") . (map displaysig) +-- displaysigs :: [Bit] -> String +-- displaysigs = (foldl (++) "") . (map displaysig) -type Stream a = [a] +-- type Stream a = [a] -- An infinite streams of highs or lows -lows = Low : lows -highs = High : highs - -type BitVec len = TFVec.TFVec len Bit +-- lows = Low : lows +-- highs = High : highs +-- +-- type BitVec len = TFVec.TFVec len Bit -- vim: set ts=8 sw=2 sts=2 expandtab: