blob: 8f8c465047344e65b3537abd7c051ea1af0946d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
{-# LANGUAGE DeepSubsumption #-}
{-# LANGUAGE NoPolyKinds #-}
module DeepSubsumption03 where
class Profunctor p where
dimap :: (s -> a) -> (b -> t) -> p i a b -> p i s t
type Iso s t a b = forall p i . Profunctor p => p i a b -> p i s t
iso :: (s -> a) -> (b -> t) -> Iso s t a b
-- iso f g = dimap f g
iso = dimap
|