kuifje-0.1.2.0: A Quantitative Information Flow aware programming language.

Safe HaskellSafe
LanguageHaskell2010

Language.Kuifje.Syntax

Synopsis

Documentation

type (~>) a b = a -> Dist b Source #

Kleisli arrow.

data Kuifje s Source #

Syntax of the Kuifje language.

Constructors

Skip 
Update (s ~> s) (Kuifje s) 
If (s ~> Bool) (Kuifje s) (Kuifje s) (Kuifje s) 
While (s ~> Bool) (Kuifje s) (Kuifje s) 
Ord o => Observe (s ~> o) (Kuifje s) 
Instances
Semigroup (Kuifje s) Source # 
Instance details

Defined in Language.Kuifje.Syntax

Methods

(<>) :: Kuifje s -> Kuifje s -> Kuifje s #

sconcat :: NonEmpty (Kuifje s) -> Kuifje s #

stimes :: Integral b => b -> Kuifje s -> Kuifje s #

Monoid (Kuifje s) Source # 
Instance details

Defined in Language.Kuifje.Syntax

Methods

mempty :: Kuifje s #

mappend :: Kuifje s -> Kuifje s -> Kuifje s #

mconcat :: [Kuifje s] -> Kuifje s #

skip :: Kuifje s Source #

Return a Skip instruction.

update :: (s ~> s) -> Kuifje s Source #

Return an Update instruction.

while :: (s ~> Bool) -> Kuifje s -> Kuifje s Source #

Return a While instruction.

cond :: (s ~> Bool) -> Kuifje s -> Kuifje s -> Kuifje s Source #

Return an If instruction.

observe :: Ord o => (s ~> o) -> Kuifje s Source #

Return an Observe instruction.