CurryInfo: cpm-3.3.0 / CPM.Package.vgt

definition:
vgt :: Version -> Version -> Bool
vgt (majorA, minorA, patchA, preA) (majorB, minorB, patchB, preB) =
  major || minor || patch || pre
 where
  major = majorA > majorB
  minor = majorA >= majorB && minorA > minorB
  patch = majorA >= majorB && minorA >= minorB && patchA > patchB
  pre   = case preA of
    Nothing -> case preB of Nothing -> patch
                            Just  _ -> False
    Just a  -> case preB of Nothing -> False
                            Just b  -> a > b
demand:
arguments 1 2
deterministic:
deterministic operation
documentation:
--- Greater than operator for versions.
failfree:
(_, _)
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{({(,,,)},{(,,,)}) |-> _}
name:
vgt
precedence:
no precedence defined
result-values:
_
signature:
(Prelude.Int, Prelude.Int, Prelude.Int, Prelude.Maybe String)
-> (Prelude.Int, Prelude.Int, Prelude.Int, Prelude.Maybe String) -> Prelude.Bool
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term