chalmers-lava2000-1.6.1: Hardware description EDSL
Safe HaskellNone
LanguageHaskell98

Lava.Signal

Documentation

newtype Signal a Source #

Constructors

Signal Symbol 

Instances

Instances details
SignalInt a => Enum (Signal a) 
Instance details

Defined in Lava.Operators

Methods

succ :: Signal a -> Signal a

pred :: Signal a -> Signal a

toEnum :: Int -> Signal a

fromEnum :: Signal a -> Int

enumFrom :: Signal a -> [Signal a]

enumFromThen :: Signal a -> Signal a -> [Signal a]

enumFromTo :: Signal a -> Signal a -> [Signal a]

enumFromThenTo :: Signal a -> Signal a -> Signal a -> [Signal a]

Eq (Signal a) Source # 
Instance details

Defined in Lava.Signal

Methods

(==) :: Signal a -> Signal a -> Bool

(/=) :: Signal a -> Signal a -> Bool

SignalInt a => Fractional (Signal a) 
Instance details

Defined in Lava.Operators

Methods

(/) :: Signal a -> Signal a -> Signal a

recip :: Signal a -> Signal a

fromRational :: Rational -> Signal a

SignalInt a => Num (Signal a) 
Instance details

Defined in Lava.Operators

Methods

(+) :: Signal a -> Signal a -> Signal a

(-) :: Signal a -> Signal a -> Signal a

(*) :: Signal a -> Signal a -> Signal a

negate :: Signal a -> Signal a

abs :: Signal a -> Signal a

signum :: Signal a -> Signal a

fromInteger :: Integer -> Signal a

SignalInt a => Ord (Signal a) 
Instance details

Defined in Lava.Operators

Methods

compare :: Signal a -> Signal a -> Ordering

(<) :: Signal a -> Signal a -> Bool

(<=) :: Signal a -> Signal a -> Bool

(>) :: Signal a -> Signal a -> Bool

(>=) :: Signal a -> Signal a -> Bool

max :: Signal a -> Signal a -> Signal a

min :: Signal a -> Signal a -> Signal a

Show (Signal a) Source # 
Instance details

Defined in Lava.Signal

Methods

showsPrec :: Int -> Signal a -> ShowS

show :: Signal a -> String

showList :: [Signal a] -> ShowS

Choice (Signal a) Source # 
Instance details

Defined in Lava.Generic

Methods

ifThenElse :: Signal Bool -> (Signal a, Signal a) -> Signal a Source #

FiniteSig a => Finite (Signal a) Source # 
Instance details

Defined in Lava.Generic

Methods

domain :: [Signal a] Source #

ConstructiveSig a => Constructive (Signal a) Source # 
Instance details

Defined in Lava.Generic

Methods

zero :: Signal a Source #

var :: String -> Signal a Source #

random :: Rnd -> Signal a Source #

Generic (Signal a) Source # 
Instance details

Defined in Lava.Generic

ShowModel (Signal a) Source # 
Instance details

Defined in Lava.Property

Methods

showModel :: Model -> Signal a -> [String] Source #

Checkable a => Checkable (Signal a) Source # 
Instance details

Defined in Lava.Property

ChoiceWithSig a => CoFresh (Signal a) Source # 
Instance details

Defined in Lava.Property

Methods

cofresh :: (Choice b, Fresh b) => Gen b -> Gen (Signal a -> b) Source #

ConstructiveSig a => Fresh (Signal a) Source # 
Instance details

Defined in Lava.Property

Methods

fresh :: Gen (Signal a) Source #

newtype Symbol Source #

Constructors

Symbol (Ref (S Symbol)) 

Instances

Instances details
Show Symbol Source # 
Instance details

Defined in Lava.Signal

Methods

showsPrec :: Int -> Symbol -> ShowS

show :: Symbol -> String

showList :: [Symbol] -> ShowS

Choice Symbol Source # 
Instance details

Defined in Lava.Generic

Methods

ifThenElse :: Signal Bool -> (Symbol, Symbol) -> Symbol Source #

Generic Symbol Source # 
Instance details

Defined in Lava.Generic

data S s Source #

Constructors

Bool Bool 
Inv s 
And [s] 
Or [s] 
Xor [s] 
VarBool String 
DelayBool s s 
Int Int 
Neg s 
Div s s 
Mod s s 
Plus [s] 
Times [s] 
Gte s s 
Equal [s] 
If s s s 
VarInt String 
DelayInt s s 

Instances

Instances details
Functor S Source # 
Instance details

Defined in Lava.Signal

Methods

fmap :: (a -> b) -> S a -> S b

(<$) :: a -> S b -> S a

Sequent S Source # 
Instance details

Defined in Lava.Signal

Methods

sequent :: Monad m => S (m a) -> m (S a) Source #

Show a => Show (S a) Source # 
Instance details

Defined in Lava.Signal

Methods

showsPrec :: Int -> S a -> ShowS

show :: S a -> String

showList :: [S a] -> ShowS

bool :: Bool -> Signal Bool Source #

low :: Signal Bool Source #

inv :: Signal Bool -> Signal Bool Source #

andl :: [Signal Bool] -> Signal Bool Source #

orl :: [Signal Bool] -> Signal Bool Source #

xorl :: [Signal Bool] -> Signal Bool Source #

equalBool :: Signal Bool -> Signal Bool -> Signal Bool Source #

ifBool :: Signal Bool -> (Signal Bool, Signal Bool) -> Signal Bool Source #

delayBool :: Signal Bool -> Signal Bool -> Signal Bool Source #

varBool :: String -> Signal Bool Source #

int :: Int -> Signal Int Source #

neg :: Signal Int -> Signal Int Source #

divide :: Signal Int -> Signal Int -> Signal Int Source #

modulo :: Signal Int -> Signal Int -> Signal Int Source #

plusl :: [Signal Int] -> Signal Int Source #

timesl :: [Signal Int] -> Signal Int Source #

equall :: [Signal Int] -> Signal Bool Source #

gteInt :: Signal Int -> Signal Int -> Signal Bool Source #

equalInt :: Signal Int -> Signal Int -> Signal Bool Source #

ifInt :: Signal Bool -> (Signal Int, Signal Int) -> Signal a Source #

delayInt :: Signal Int -> Signal Int -> Signal Int Source #

varInt :: String -> Signal Int Source #

lift1 :: (Symbol -> S Symbol) -> Signal a -> Signal b Source #

lift2 :: (Symbol -> Symbol -> S Symbol) -> Signal a -> Signal b -> Signal c Source #

lift3 :: (Symbol -> Symbol -> Symbol -> S Symbol) -> Signal a -> Signal b -> Signal c -> Signal d Source #

liftl :: ([Symbol] -> S Symbol) -> [Signal a] -> Signal c Source #

eval :: S (S a) -> S a Source #

evalLazy :: S (Maybe (S a)) -> Maybe (S a) Source #

arguments :: S a -> [a] Source #

zips :: S [a] -> [S a] Source #