dsv-1.0.0.0: library/DSV/LookupError.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE DerivingStrategies, DeriveAnyClass #-}
module DSV.LookupError
( Missing (..)
, Duplicate (..)
, LookupError (..)
) where
import DSV.IO
import DSV.Prelude
data Missing = Missing
deriving stock (Eq, Show)
deriving anyclass Exception
data Duplicate = Duplicate
deriving stock (Eq, Show)
deriving anyclass Exception
-- | The general concept of what can go wrong when you look up the position of a particular element in a list.
data LookupError
= LookupError_Missing -- ^ There is /no/ matching element.
| LookupError_Duplicate -- ^ There are /more than one/ matching elements.
deriving stock (Eq, Show)
deriving anyclass Exception