lio-0.10.0.0: Labeled IO Information Flow Control Library

Safe HaskellSafe

LIO

Description

This is the main module to be included by code using the Labeled IO (LIO) library. This module exports the core library (documented in LIO.Core), with support for labeled values (documented in LIO.Labeled) and privileges (documented in LIO.Privs).

Certain symbols in the lio library, particularly those in LIO.Exception, use the same names as their IO equivalents in the system libraries. Hence main modules that mostly include IO code and only need to invoke LIO code should import LIO.Run (or LIO.DCLabel) to avoid polluting their namespaces.

Most code will need to use a particular label format, which needs to be imported separately. For instance:

 import LIO
 -- Import your favorite label format:
 import LIO.DCLabel

WARNING: For security, untrusted code must always be compiled with the -XSafe and -fpackage-trust SafeHaskell flags. See http://hackage.haskell.org/trac/ghc/wiki/SafeHaskell for more details on the guarantees provided by SafeHaskell.

Documentation

module LIO.Label

module LIO.Core

module LIO.Privs