dictfr/WordDef.hs

38 lines
1021 B
Haskell

module WordDef
(
WordFullDef(WordFullDef),
WordDefHeader(WordDefHeader),
WordName(WordName),
WordType(WordType),
WordSentence(..),
renderWordList,
renderHeader,
renderFullDef
) where
data WordFullDef = WordFullDef WordDefHeader [WordSentence] deriving Show
data WordSentence = WordDefSentence String
| WordExampleSentence String deriving Show
data WordDefHeader = WordDefHeader WordName WordType deriving Show
data WordName = WordName String deriving Show
data WordType = WordType String deriving Show
renderFullDef :: WordFullDef -> String
renderFullDef w = show w
renderHeader :: WordDefHeader -> String
renderHeader (WordDefHeader n t) = (getNameString n) ++ (getTypeString t)
getNameString :: WordName -> String
getNameString (WordName s) = s
getTypeString :: WordType -> String
getTypeString (WordType s) = s
renderWordList :: [WordDefHeader] -> String
renderWordList [] = ""
renderWordList (x:xs) = (renderHeader x) ++ "\n" ++ (renderWordList xs)