{- |
Module      :  ./Common/Taxonomy.hs
Description :  type for selecting different kinds of taxonomy graphs
Copyright   :  (c) Klaus Luettich, Uni Bremen 2002-2004
License     :  GPLv2 or higher, see LICENSE.txt

Maintainer  :  luecke@informatik.uni-bremen.de
Stability   :  provisional
Portability :  portable

Type for selecting different kinds of taxonomy graphs

This module only provides a small type for selecting different kinds
of taxonomy graphs.

-}

module Common.Taxonomy where

data TaxoGraphKind = KSubsort | KConcept
     deriving (Int -> TaxoGraphKind -> ShowS
[TaxoGraphKind] -> ShowS
TaxoGraphKind -> String
(Int -> TaxoGraphKind -> ShowS)
-> (TaxoGraphKind -> String)
-> ([TaxoGraphKind] -> ShowS)
-> Show TaxoGraphKind
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TaxoGraphKind] -> ShowS
$cshowList :: [TaxoGraphKind] -> ShowS
show :: TaxoGraphKind -> String
$cshow :: TaxoGraphKind -> String
showsPrec :: Int -> TaxoGraphKind -> ShowS
$cshowsPrec :: Int -> TaxoGraphKind -> ShowS
Show, Int -> TaxoGraphKind
TaxoGraphKind -> Int
TaxoGraphKind -> [TaxoGraphKind]
TaxoGraphKind -> TaxoGraphKind
TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
TaxoGraphKind -> TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
(TaxoGraphKind -> TaxoGraphKind)
-> (TaxoGraphKind -> TaxoGraphKind)
-> (Int -> TaxoGraphKind)
-> (TaxoGraphKind -> Int)
-> (TaxoGraphKind -> [TaxoGraphKind])
-> (TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind])
-> (TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind])
-> (TaxoGraphKind
    -> TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind])
-> Enum TaxoGraphKind
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: TaxoGraphKind -> TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
$cenumFromThenTo :: TaxoGraphKind -> TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
enumFromTo :: TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
$cenumFromTo :: TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
enumFromThen :: TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
$cenumFromThen :: TaxoGraphKind -> TaxoGraphKind -> [TaxoGraphKind]
enumFrom :: TaxoGraphKind -> [TaxoGraphKind]
$cenumFrom :: TaxoGraphKind -> [TaxoGraphKind]
fromEnum :: TaxoGraphKind -> Int
$cfromEnum :: TaxoGraphKind -> Int
toEnum :: Int -> TaxoGraphKind
$ctoEnum :: Int -> TaxoGraphKind
pred :: TaxoGraphKind -> TaxoGraphKind
$cpred :: TaxoGraphKind -> TaxoGraphKind
succ :: TaxoGraphKind -> TaxoGraphKind
$csucc :: TaxoGraphKind -> TaxoGraphKind
Enum, TaxoGraphKind -> TaxoGraphKind -> Bool
(TaxoGraphKind -> TaxoGraphKind -> Bool)
-> (TaxoGraphKind -> TaxoGraphKind -> Bool) -> Eq TaxoGraphKind
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TaxoGraphKind -> TaxoGraphKind -> Bool
$c/= :: TaxoGraphKind -> TaxoGraphKind -> Bool
== :: TaxoGraphKind -> TaxoGraphKind -> Bool
$c== :: TaxoGraphKind -> TaxoGraphKind -> Bool
Eq)

data OntoObjectType =
    OntoClass | OntoObject | OntoPredicate deriving (Int -> OntoObjectType -> ShowS
[OntoObjectType] -> ShowS
OntoObjectType -> String
(Int -> OntoObjectType -> ShowS)
-> (OntoObjectType -> String)
-> ([OntoObjectType] -> ShowS)
-> Show OntoObjectType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OntoObjectType] -> ShowS
$cshowList :: [OntoObjectType] -> ShowS
show :: OntoObjectType -> String
$cshow :: OntoObjectType -> String
showsPrec :: Int -> OntoObjectType -> ShowS
$cshowsPrec :: Int -> OntoObjectType -> ShowS
Show, OntoObjectType -> OntoObjectType -> Bool
(OntoObjectType -> OntoObjectType -> Bool)
-> (OntoObjectType -> OntoObjectType -> Bool) -> Eq OntoObjectType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OntoObjectType -> OntoObjectType -> Bool
$c/= :: OntoObjectType -> OntoObjectType -> Bool
== :: OntoObjectType -> OntoObjectType -> Bool
$c== :: OntoObjectType -> OntoObjectType -> Bool
Eq)