plots-0.1.1.1: src/Plots/Name.hs
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE TemplateHaskell #-}
module Plots.Name where
-- import Control.Lens
-- -- import Data.Map (Map)
-- import Data.Ord (comparing)
-- import Data.Function
-- import Data.Typeable
-- import Diagrams.Types.Names
-- import Diagrams.Prelude hiding (view)
-- data PlotName = PlotName
-- { _plotName :: String
-- , _namedSize2D :: SizeSpec V2 Double
-- , _namedT2 :: T2 Double
-- } deriving Typeable
-- makeLenses ''PlotName
-- instance Show PlotName where
-- show pn = "Plot: " ++ view plotName pn
-- -- equating :: Eq b => (a -> b) -> a -> a -> Bool
-- -- equating = on (==)
-- instance Eq PlotName where
-- (==) = on (==) (view plotName)
-- instance Ord PlotName where
-- compare = comparing (view plotName)
-- instance IsName PlotName
-- -- _AName :: IsName a => Prism' AName a
-- -- _AName = prism' AName (\(AName a) -> cast a)
-- -- _Names :: IsName a => Traversal' Name a
-- -- _Names = _Wrapped' . traverse . _AName
-- -- _NamedString :: Traversal' Name String
-- -- _NamedString = _Names
-- -- _NamedPlot :: Typeable n => Traversal' Name (PlotName n)
-- -- _NamedPlot = _Names
-- -- diaNames :: OrderedField n => QDiagram b V2 n Any -> Map Name [P2 n]
-- -- diaNames = over (mapped . traversed) location . view (subMap . _Wrapped')