-- | Heterogenous lists
module Hackage.Security.Util.Stack (
    (:-)(..)
  ) where

data h :- t = h :- t
  deriving ((h :- t) -> (h :- t) -> Bool
((h :- t) -> (h :- t) -> Bool)
-> ((h :- t) -> (h :- t) -> Bool) -> Eq (h :- t)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall h t. (Eq h, Eq t) => (h :- t) -> (h :- t) -> Bool
/= :: (h :- t) -> (h :- t) -> Bool
$c/= :: forall h t. (Eq h, Eq t) => (h :- t) -> (h :- t) -> Bool
== :: (h :- t) -> (h :- t) -> Bool
$c== :: forall h t. (Eq h, Eq t) => (h :- t) -> (h :- t) -> Bool
Eq, Int -> (h :- t) -> ShowS
[h :- t] -> ShowS
(h :- t) -> String
(Int -> (h :- t) -> ShowS)
-> ((h :- t) -> String) -> ([h :- t] -> ShowS) -> Show (h :- t)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall h t. (Show h, Show t) => Int -> (h :- t) -> ShowS
forall h t. (Show h, Show t) => [h :- t] -> ShowS
forall h t. (Show h, Show t) => (h :- t) -> String
showList :: [h :- t] -> ShowS
$cshowList :: forall h t. (Show h, Show t) => [h :- t] -> ShowS
show :: (h :- t) -> String
$cshow :: forall h t. (Show h, Show t) => (h :- t) -> String
showsPrec :: Int -> (h :- t) -> ShowS
$cshowsPrec :: forall h t. (Show h, Show t) => Int -> (h :- t) -> ShowS
Show)
infixr 5 :-