| Safe Haskell | Unsafe |
|---|
LIO.Labeled.TCB
Description
This is the TCB-restricted version of LIO.Labeled, which documents
the implementation of Labeled values and their use. It provides
functions for labeling (labelTCB) and unlabeling (unlabelTCB)
labeled values without imposing any information flow restrictions.
- data Labeled l t = LabeledTCB {
- labelOfLabeled :: !l
- unlabelTCB :: !t
- labelTCB :: Label l => l -> a -> Labeled l a
Documentation
Labeled l a is a value that associates a label of type l with
a value of type a. Labeled values allow users to label data with
a label other than the current label. In an embedded setting this
is akin to having first class labeled values. Note that Labeled
is an instance of LabelOf, which effectively means that the label
of a Labeled value is usually just protected by the current
label. (Of course if you have a nested labeled value then the label
on the inner labeled value's label is the outer label.)
Constructors
| LabeledTCB | |
Fields
| |
Instances