moonlight-homology-0.1.0.0: src-chain/Moonlight/Homology/Pure/Degree.hs
module Moonlight.Homology.Pure.Degree
( HomologicalDegree (..),
incrementDegree,
decrementDegree,
)
where
import Data.Kind (Type)
type HomologicalDegree :: Type
newtype HomologicalDegree = HomologicalDegree
{ unHomologicalDegree :: Int
}
deriving stock (Eq, Ord, Show, Read)
incrementDegree :: HomologicalDegree -> HomologicalDegree
incrementDegree (HomologicalDegree degreeValue) =
HomologicalDegree (degreeValue + 1)
decrementDegree :: HomologicalDegree -> HomologicalDegree
decrementDegree (HomologicalDegree degreeValue) =
HomologicalDegree (degreeValue - 1)