{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE DataKinds #-}
module OAlg.Data.Proxy
( module Prx
, Proxy2(..), Proxy3(..)
)
where
import Data.Proxy as Prx
data Proxy2 a b = Proxy2 deriving (ReadPrec [Proxy2 a b]
ReadPrec (Proxy2 a b)
Int -> ReadS (Proxy2 a b)
ReadS [Proxy2 a b]
(Int -> ReadS (Proxy2 a b))
-> ReadS [Proxy2 a b]
-> ReadPrec (Proxy2 a b)
-> ReadPrec [Proxy2 a b]
-> Read (Proxy2 a b)
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall k (a :: k) k (b :: k). ReadPrec [Proxy2 a b]
forall k (a :: k) k (b :: k). ReadPrec (Proxy2 a b)
forall k (a :: k) k (b :: k). Int -> ReadS (Proxy2 a b)
forall k (a :: k) k (b :: k). ReadS [Proxy2 a b]
$creadsPrec :: forall k (a :: k) k (b :: k). Int -> ReadS (Proxy2 a b)
readsPrec :: Int -> ReadS (Proxy2 a b)
$creadList :: forall k (a :: k) k (b :: k). ReadS [Proxy2 a b]
readList :: ReadS [Proxy2 a b]
$creadPrec :: forall k (a :: k) k (b :: k). ReadPrec (Proxy2 a b)
readPrec :: ReadPrec (Proxy2 a b)
$creadListPrec :: forall k (a :: k) k (b :: k). ReadPrec [Proxy2 a b]
readListPrec :: ReadPrec [Proxy2 a b]
Read,Int -> Proxy2 a b -> ShowS
[Proxy2 a b] -> ShowS
Proxy2 a b -> String
(Int -> Proxy2 a b -> ShowS)
-> (Proxy2 a b -> String)
-> ([Proxy2 a b] -> ShowS)
-> Show (Proxy2 a b)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall k (a :: k) k (b :: k). Int -> Proxy2 a b -> ShowS
forall k (a :: k) k (b :: k). [Proxy2 a b] -> ShowS
forall k (a :: k) k (b :: k). Proxy2 a b -> String
$cshowsPrec :: forall k (a :: k) k (b :: k). Int -> Proxy2 a b -> ShowS
showsPrec :: Int -> Proxy2 a b -> ShowS
$cshow :: forall k (a :: k) k (b :: k). Proxy2 a b -> String
show :: Proxy2 a b -> String
$cshowList :: forall k (a :: k) k (b :: k). [Proxy2 a b] -> ShowS
showList :: [Proxy2 a b] -> ShowS
Show,Proxy2 a b -> Proxy2 a b -> Bool
(Proxy2 a b -> Proxy2 a b -> Bool)
-> (Proxy2 a b -> Proxy2 a b -> Bool) -> Eq (Proxy2 a b)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
$c== :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
== :: Proxy2 a b -> Proxy2 a b -> Bool
$c/= :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
/= :: Proxy2 a b -> Proxy2 a b -> Bool
Eq,Eq (Proxy2 a b)
Eq (Proxy2 a b) =>
(Proxy2 a b -> Proxy2 a b -> Ordering)
-> (Proxy2 a b -> Proxy2 a b -> Bool)
-> (Proxy2 a b -> Proxy2 a b -> Bool)
-> (Proxy2 a b -> Proxy2 a b -> Bool)
-> (Proxy2 a b -> Proxy2 a b -> Bool)
-> (Proxy2 a b -> Proxy2 a b -> Proxy2 a b)
-> (Proxy2 a b -> Proxy2 a b -> Proxy2 a b)
-> Ord (Proxy2 a b)
Proxy2 a b -> Proxy2 a b -> Bool
Proxy2 a b -> Proxy2 a b -> Ordering
Proxy2 a b -> Proxy2 a b -> Proxy2 a b
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall k (a :: k) k (b :: k). Eq (Proxy2 a b)
forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Ordering
forall k (a :: k) k (b :: k).
Proxy2 a b -> Proxy2 a b -> Proxy2 a b
$ccompare :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Ordering
compare :: Proxy2 a b -> Proxy2 a b -> Ordering
$c< :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
< :: Proxy2 a b -> Proxy2 a b -> Bool
$c<= :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
<= :: Proxy2 a b -> Proxy2 a b -> Bool
$c> :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
> :: Proxy2 a b -> Proxy2 a b -> Bool
$c>= :: forall k (a :: k) k (b :: k). Proxy2 a b -> Proxy2 a b -> Bool
>= :: Proxy2 a b -> Proxy2 a b -> Bool
$cmax :: forall k (a :: k) k (b :: k).
Proxy2 a b -> Proxy2 a b -> Proxy2 a b
max :: Proxy2 a b -> Proxy2 a b -> Proxy2 a b
$cmin :: forall k (a :: k) k (b :: k).
Proxy2 a b -> Proxy2 a b -> Proxy2 a b
min :: Proxy2 a b -> Proxy2 a b -> Proxy2 a b
Ord)
data Proxy3 a b c = Proxy3 deriving (ReadPrec [Proxy3 a b c]
ReadPrec (Proxy3 a b c)
Int -> ReadS (Proxy3 a b c)
ReadS [Proxy3 a b c]
(Int -> ReadS (Proxy3 a b c))
-> ReadS [Proxy3 a b c]
-> ReadPrec (Proxy3 a b c)
-> ReadPrec [Proxy3 a b c]
-> Read (Proxy3 a b c)
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall k (a :: k) k (b :: k) k (c :: k). ReadPrec [Proxy3 a b c]
forall k (a :: k) k (b :: k) k (c :: k). ReadPrec (Proxy3 a b c)
forall k (a :: k) k (b :: k) k (c :: k).
Int -> ReadS (Proxy3 a b c)
forall k (a :: k) k (b :: k) k (c :: k). ReadS [Proxy3 a b c]
$creadsPrec :: forall k (a :: k) k (b :: k) k (c :: k).
Int -> ReadS (Proxy3 a b c)
readsPrec :: Int -> ReadS (Proxy3 a b c)
$creadList :: forall k (a :: k) k (b :: k) k (c :: k). ReadS [Proxy3 a b c]
readList :: ReadS [Proxy3 a b c]
$creadPrec :: forall k (a :: k) k (b :: k) k (c :: k). ReadPrec (Proxy3 a b c)
readPrec :: ReadPrec (Proxy3 a b c)
$creadListPrec :: forall k (a :: k) k (b :: k) k (c :: k). ReadPrec [Proxy3 a b c]
readListPrec :: ReadPrec [Proxy3 a b c]
Read,Int -> Proxy3 a b c -> ShowS
[Proxy3 a b c] -> ShowS
Proxy3 a b c -> String
(Int -> Proxy3 a b c -> ShowS)
-> (Proxy3 a b c -> String)
-> ([Proxy3 a b c] -> ShowS)
-> Show (Proxy3 a b c)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall k (a :: k) k (b :: k) k (c :: k).
Int -> Proxy3 a b c -> ShowS
forall k (a :: k) k (b :: k) k (c :: k). [Proxy3 a b c] -> ShowS
forall k (a :: k) k (b :: k) k (c :: k). Proxy3 a b c -> String
$cshowsPrec :: forall k (a :: k) k (b :: k) k (c :: k).
Int -> Proxy3 a b c -> ShowS
showsPrec :: Int -> Proxy3 a b c -> ShowS
$cshow :: forall k (a :: k) k (b :: k) k (c :: k). Proxy3 a b c -> String
show :: Proxy3 a b c -> String
$cshowList :: forall k (a :: k) k (b :: k) k (c :: k). [Proxy3 a b c] -> ShowS
showList :: [Proxy3 a b c] -> ShowS
Show,Proxy3 a b c -> Proxy3 a b c -> Bool
(Proxy3 a b c -> Proxy3 a b c -> Bool)
-> (Proxy3 a b c -> Proxy3 a b c -> Bool) -> Eq (Proxy3 a b c)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
$c== :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
== :: Proxy3 a b c -> Proxy3 a b c -> Bool
$c/= :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
/= :: Proxy3 a b c -> Proxy3 a b c -> Bool
Eq,Eq (Proxy3 a b c)
Eq (Proxy3 a b c) =>
(Proxy3 a b c -> Proxy3 a b c -> Ordering)
-> (Proxy3 a b c -> Proxy3 a b c -> Bool)
-> (Proxy3 a b c -> Proxy3 a b c -> Bool)
-> (Proxy3 a b c -> Proxy3 a b c -> Bool)
-> (Proxy3 a b c -> Proxy3 a b c -> Bool)
-> (Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c)
-> (Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c)
-> Ord (Proxy3 a b c)
Proxy3 a b c -> Proxy3 a b c -> Bool
Proxy3 a b c -> Proxy3 a b c -> Ordering
Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall k (a :: k) k (b :: k) k (c :: k). Eq (Proxy3 a b c)
forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Ordering
forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c
$ccompare :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Ordering
compare :: Proxy3 a b c -> Proxy3 a b c -> Ordering
$c< :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
< :: Proxy3 a b c -> Proxy3 a b c -> Bool
$c<= :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
<= :: Proxy3 a b c -> Proxy3 a b c -> Bool
$c> :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
> :: Proxy3 a b c -> Proxy3 a b c -> Bool
$c>= :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Bool
>= :: Proxy3 a b c -> Proxy3 a b c -> Bool
$cmax :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c
max :: Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c
$cmin :: forall k (a :: k) k (b :: k) k (c :: k).
Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c
min :: Proxy3 a b c -> Proxy3 a b c -> Proxy3 a b c
Ord)