mac-0.1.3.0: Static Mandatory Access Control in Haskell

Safe HaskellTrustworthy
LanguageHaskell98

MAC.MAC

Description

A safe interface for module Core.hs

Synopsis

Documentation

data Res l a Source #

Labeling expressions of type a with label l.

labelOf :: Res l a -> l Source #

Label of resources

data MAC l a Source #

This monad labels the results of the computation (of type a) with label l.

Instances

Monad (MAC l) Source # 

Methods

(>>=) :: MAC l a -> (a -> MAC l b) -> MAC l b #

(>>) :: MAC l a -> MAC l b -> MAC l b #

return :: a -> MAC l a #

fail :: String -> MAC l a #

Functor (MAC l) Source # 

Methods

fmap :: (a -> b) -> MAC l a -> MAC l b #

(<$) :: a -> MAC l b -> MAC l a #

Applicative (MAC l) Source # 

Methods

pure :: a -> MAC l a #

(<*>) :: MAC l (a -> b) -> MAC l a -> MAC l b #

(*>) :: MAC l a -> MAC l b -> MAC l b #

(<*) :: MAC l a -> MAC l b -> MAC l a #

runMAC :: MAC l a -> IO a Source #

Execute secure computations.

fix :: l -> MAC l () Source #

To help the type-system