module HsImport.SymbolImport
( SymbolImport(..)
, Symbol(..)
, symbol
, isHiding
, toggleHiding
)
where
type Name = String
data Symbol
= Only Name
| AllOf Name
| SomeOf Name [String]
deriving (Show)
data SymbolImport
= Import Symbol
| Hiding Symbol
deriving (Show)
symbol :: SymbolImport -> Symbol
symbol (Hiding s) = s
symbol (Import s) = s
isHiding :: SymbolImport -> Bool
isHiding (Hiding _) = True
isHiding (Import _) = False
toggleHiding :: SymbolImport -> SymbolImport
toggleHiding (Hiding s) = Import s
toggleHiding (Import s) = Hiding s