hypertypes-0.2.2: src/Hyper/Class/Optic.hs
{-# LANGUAGE FlexibleContexts #-}
module Hyper.Class.Optic
( HNodeLens (..)
, HSubset (..)
, HSubset'
) where
import Control.Lens (Lens', Prism)
import Hyper.Type (type (#))
class HNodeLens s a where
hNodeLens :: Lens' (s # h) (h # a)
class HSubset s t a b where
hSubset :: Prism (s # h) (t # h) (a # h) (b # h)
type HSubset' s a = HSubset s s a a