{-# LANGUAGE Rank2Types #-}-------------------------------------------------------------------------------- |-- Module : Control.Lens.Reified-- Copyright : (C) 2012-13 Edward Kmett-- License : BSD-style (see the file LICENSE)-- Maintainer : Edward Kmett <ekmett@gmail.com>-- Stability : provisional-- Portability : Rank2Types--------------------------------------------------------------------------------moduleControl.Lens.ReifiedwhereimportControl.Lens.Type-------------------------------------------------------------------------------- Reifying-------------------------------------------------------------------------------- | Reify a 'Lens' so it can be stored safely in a container.newtypeReifiedLensstab=ReifyLens{reflectLens::Lensstab}-- | @-- type 'ReifiedLens'' = 'Simple' 'ReifiedLens'-- @typeReifiedLens'sa=ReifiedLensssaa-- | Reify an 'IndexedLens' so it can be stored safely in a container.newtypeReifiedIndexedLensistab=ReifyIndexedLens{reflectIndexedLens::IndexedLensistab}-- | @-- type 'ReifiedIndexedLens'' i = 'Simple' ('ReifiedIndexedLens' i)-- @typeReifiedIndexedLens'isa=ReifiedIndexedLensissaa-- | Reify an 'IndexedTraversal' so it can be stored safely in a container.newtypeReifiedIndexedTraversalistab=ReifyIndexedTraversal{reflectIndexedTraversal::IndexedTraversalistab}-- | @-- type 'ReifiedIndexedTraversal'' i = 'Simple' ('ReifiedIndexedTraversal' i)-- @typeReifiedIndexedTraversal'isa=ReifiedIndexedTraversalissaa-- | A form of 'Traversal' that can be stored monomorphically in a container.dataReifiedTraversalstab=ReifyTraversal{reflectTraversal::Traversalstab}-- | @-- type 'ReifiedTraversal'' = 'Simple' 'ReifiedTraversal'-- @typeReifiedTraversal'sa=ReifiedTraversalssaa-- | Reify a 'Getter' so it can be stored safely in a container.newtypeReifiedGettersa=ReifyGetter{reflectGetter::Gettersa}-- | Reify an 'IndexedGetter' so it can be stored safely in a container.newtypeReifiedIndexedGetterisa=ReifyIndexedGetter{reflectIndexedGetter::IndexedGetterisa}-- | Reify a 'Fold' so it can be stored safely in a container.newtypeReifiedFoldsa=ReifyFold{reflectFold::Foldsa}-- | Reify a 'Setter' so it can be stored safely in a container.newtypeReifiedSetterstab=ReifySetter{reflectSetter::Setterstab}-- | @-- type 'ReifiedSetter'' = 'Simple' 'ReifiedSetter'-- @typeReifiedSetter'sa=ReifiedSetterssaa-- | Reify an 'IndexedSetter' so it can be stored safely in a container.newtypeReifiedIndexedSetteristab=ReifyIndexedSetter{reflectIndexedSetter::IndexedSetteristab}-- | @-- type 'ReifiedIndexedSetter'' i = 'Simple' ('ReifiedIndexedSetter' i)-- @typeReifiedIndexedSetter'isa=ReifiedIndexedSetterissaa-- | Reify an 'Iso' so it can be stored safely in a container.newtypeReifiedIsostab=ReifyIso{reflectIso::Isostab}-- | @-- type 'ReifiedIso'' = 'Simple' 'ReifiedIso'-- @typeReifiedIso'sa=ReifiedIsossaa-- | Reify a 'Prism' so it can be stored safely in a container.newtypeReifiedPrismstab=ReifyPrism{reflectPrism::Prismstab}-- | @-- type 'ReifiedPrism'' = 'Simple' 'ReifiedPrism'-- @typeReifiedPrism'sa=ReifiedPrismssaa