{-# LANGUAGE TemplateHaskell #-} module Rattletrap.Type.List ( List(..) ) where import Rattletrap.Type.Common newtype List a = List { List a -> [a] listValue :: [a] } deriving (List a -> List a -> Bool (List a -> List a -> Bool) -> (List a -> List a -> Bool) -> Eq (List a) forall a. Eq a => List a -> List a -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: List a -> List a -> Bool $c/= :: forall a. Eq a => List a -> List a -> Bool == :: List a -> List a -> Bool $c== :: forall a. Eq a => List a -> List a -> Bool Eq, Eq (List a) Eq (List a) -> (List a -> List a -> Ordering) -> (List a -> List a -> Bool) -> (List a -> List a -> Bool) -> (List a -> List a -> Bool) -> (List a -> List a -> Bool) -> (List a -> List a -> List a) -> (List a -> List a -> List a) -> Ord (List a) List a -> List a -> Bool List a -> List a -> Ordering List a -> List a -> List a 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 a. Ord a => Eq (List a) forall a. Ord a => List a -> List a -> Bool forall a. Ord a => List a -> List a -> Ordering forall a. Ord a => List a -> List a -> List a min :: List a -> List a -> List a $cmin :: forall a. Ord a => List a -> List a -> List a max :: List a -> List a -> List a $cmax :: forall a. Ord a => List a -> List a -> List a >= :: List a -> List a -> Bool $c>= :: forall a. Ord a => List a -> List a -> Bool > :: List a -> List a -> Bool $c> :: forall a. Ord a => List a -> List a -> Bool <= :: List a -> List a -> Bool $c<= :: forall a. Ord a => List a -> List a -> Bool < :: List a -> List a -> Bool $c< :: forall a. Ord a => List a -> List a -> Bool compare :: List a -> List a -> Ordering $ccompare :: forall a. Ord a => List a -> List a -> Ordering $cp1Ord :: forall a. Ord a => Eq (List a) Ord, Int -> List a -> ShowS [List a] -> ShowS List a -> String (Int -> List a -> ShowS) -> (List a -> String) -> ([List a] -> ShowS) -> Show (List a) forall a. Show a => Int -> List a -> ShowS forall a. Show a => [List a] -> ShowS forall a. Show a => List a -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [List a] -> ShowS $cshowList :: forall a. Show a => [List a] -> ShowS show :: List a -> String $cshow :: forall a. Show a => List a -> String showsPrec :: Int -> List a -> ShowS $cshowsPrec :: forall a. Show a => Int -> List a -> ShowS Show) $(deriveJson ''List)