lol-0.7.0.0: A library for lattice cryptography.

Copyright(c) Eric Crockett 2011-2017
Chris Peikert 2011-2017
LicenseGPL-3
Maintainerecrockett0@email.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Crypto.Lol.Reflects

Description

Generic interface for reflecting types to values.

Synopsis

Documentation

class Reflects a i where Source #

Reflection without fundep, and with tagged value. Intended only for low-level code; build specialized wrappers around it for specific functionality.

Methods

value :: i Source #

Reflect the value assiated with the type a.

Instances
(KnownNat a, C i) => Reflects (a :: Nat) i Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: i Source #

(PosC a, C i) => Reflects (a :: Pos) i Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: i Source #

(BinC a, C i) => Reflects (a :: Bin) i Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: i Source #

(Prime p, C i) => Reflects (p :: PrimeBin) i Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: i Source #

(PPow pp, C i) => Reflects (pp :: PrimePower) i Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: i Source #

(Fact m, C i) => Reflects (m :: Factored) i Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: i Source #

(Reifies q i, C i, C r) => Reflects (q :: Type) r Source # 
Instance details

Defined in Crypto.Lol.Reflects

Methods

value :: r Source #