module Taskell.Types where import ClassyPrelude newtype ListIndex = ListIndex { ListIndex -> Int showListIndex :: Int } deriving (Int -> ListIndex -> ShowS [ListIndex] -> ShowS ListIndex -> String (Int -> ListIndex -> ShowS) -> (ListIndex -> String) -> ([ListIndex] -> ShowS) -> Show ListIndex forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ListIndex] -> ShowS $cshowList :: [ListIndex] -> ShowS show :: ListIndex -> String $cshow :: ListIndex -> String showsPrec :: Int -> ListIndex -> ShowS $cshowsPrec :: Int -> ListIndex -> ShowS Show, ListIndex -> ListIndex -> Bool (ListIndex -> ListIndex -> Bool) -> (ListIndex -> ListIndex -> Bool) -> Eq ListIndex forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ListIndex -> ListIndex -> Bool $c/= :: ListIndex -> ListIndex -> Bool == :: ListIndex -> ListIndex -> Bool $c== :: ListIndex -> ListIndex -> Bool Eq, Eq ListIndex Eq ListIndex -> (ListIndex -> ListIndex -> Ordering) -> (ListIndex -> ListIndex -> Bool) -> (ListIndex -> ListIndex -> Bool) -> (ListIndex -> ListIndex -> Bool) -> (ListIndex -> ListIndex -> Bool) -> (ListIndex -> ListIndex -> ListIndex) -> (ListIndex -> ListIndex -> ListIndex) -> Ord ListIndex ListIndex -> ListIndex -> Bool ListIndex -> ListIndex -> Ordering ListIndex -> ListIndex -> ListIndex 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 min :: ListIndex -> ListIndex -> ListIndex $cmin :: ListIndex -> ListIndex -> ListIndex max :: ListIndex -> ListIndex -> ListIndex $cmax :: ListIndex -> ListIndex -> ListIndex >= :: ListIndex -> ListIndex -> Bool $c>= :: ListIndex -> ListIndex -> Bool > :: ListIndex -> ListIndex -> Bool $c> :: ListIndex -> ListIndex -> Bool <= :: ListIndex -> ListIndex -> Bool $c<= :: ListIndex -> ListIndex -> Bool < :: ListIndex -> ListIndex -> Bool $c< :: ListIndex -> ListIndex -> Bool compare :: ListIndex -> ListIndex -> Ordering $ccompare :: ListIndex -> ListIndex -> Ordering $cp1Ord :: Eq ListIndex Ord) newtype TaskIndex = TaskIndex { TaskIndex -> Int showTaskIndex :: Int } deriving (Int -> TaskIndex -> ShowS [TaskIndex] -> ShowS TaskIndex -> String (Int -> TaskIndex -> ShowS) -> (TaskIndex -> String) -> ([TaskIndex] -> ShowS) -> Show TaskIndex forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [TaskIndex] -> ShowS $cshowList :: [TaskIndex] -> ShowS show :: TaskIndex -> String $cshow :: TaskIndex -> String showsPrec :: Int -> TaskIndex -> ShowS $cshowsPrec :: Int -> TaskIndex -> ShowS Show, TaskIndex -> TaskIndex -> Bool (TaskIndex -> TaskIndex -> Bool) -> (TaskIndex -> TaskIndex -> Bool) -> Eq TaskIndex forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: TaskIndex -> TaskIndex -> Bool $c/= :: TaskIndex -> TaskIndex -> Bool == :: TaskIndex -> TaskIndex -> Bool $c== :: TaskIndex -> TaskIndex -> Bool Eq, Eq TaskIndex Eq TaskIndex -> (TaskIndex -> TaskIndex -> Ordering) -> (TaskIndex -> TaskIndex -> Bool) -> (TaskIndex -> TaskIndex -> Bool) -> (TaskIndex -> TaskIndex -> Bool) -> (TaskIndex -> TaskIndex -> Bool) -> (TaskIndex -> TaskIndex -> TaskIndex) -> (TaskIndex -> TaskIndex -> TaskIndex) -> Ord TaskIndex TaskIndex -> TaskIndex -> Bool TaskIndex -> TaskIndex -> Ordering TaskIndex -> TaskIndex -> TaskIndex 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 min :: TaskIndex -> TaskIndex -> TaskIndex $cmin :: TaskIndex -> TaskIndex -> TaskIndex max :: TaskIndex -> TaskIndex -> TaskIndex $cmax :: TaskIndex -> TaskIndex -> TaskIndex >= :: TaskIndex -> TaskIndex -> Bool $c>= :: TaskIndex -> TaskIndex -> Bool > :: TaskIndex -> TaskIndex -> Bool $c> :: TaskIndex -> TaskIndex -> Bool <= :: TaskIndex -> TaskIndex -> Bool $c<= :: TaskIndex -> TaskIndex -> Bool < :: TaskIndex -> TaskIndex -> Bool $c< :: TaskIndex -> TaskIndex -> Bool compare :: TaskIndex -> TaskIndex -> Ordering $ccompare :: TaskIndex -> TaskIndex -> Ordering $cp1Ord :: Eq TaskIndex Ord) type Pointer = (ListIndex, TaskIndex) startPointer :: Pointer startPointer :: Pointer startPointer = (Int -> ListIndex ListIndex Int 0, Int -> TaskIndex TaskIndex Int 0)