Haskell Implementation of faceted values.
Inspired by Thomas H. Austin and Cormac Flanagan, "Multiple Facets for Dynamic Information Flow."
A faceted value is a triple consisting principal k and two values VH, VL, which write as:
< k ? VH, VL >.
Intuitively, this faceted value appeared as VH to private observers that can view k's private data, and as VL to other public observers.
As you can see, faceted value can be a very strong primitive for supporting privacy sensitive value in programming language level.
Jeeves, a programming language for automatically enforcing privacy policies, is also based faceted values.
Haddoc is here.