From cbdb612f85355930ea7a6fbc453edbdf76715f69 Mon Sep 17 00:00:00 2001 From: Chris Wells Date: Thu, 19 Dec 2024 11:46:31 -0600 Subject: Thinking about doing this in haskell --- src/Data/Presentation.hs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/Data/Presentation.hs (limited to 'src/Data/Presentation.hs') diff --git a/src/Data/Presentation.hs b/src/Data/Presentation.hs new file mode 100644 index 0000000..fd6ee7a --- /dev/null +++ b/src/Data/Presentation.hs @@ -0,0 +1,29 @@ +module Data.Presentation + ( Presentation (..) + , EventType (..) + ) where + + +data Presentation a = Presentation + { date :: !Day + , title :: !a + , event :: !a + , location :: !a + , eventType :: !EventType + , attendenceType :: !AttendenceType + } deriving (Eq, Foldable, Functor, Generic, Ord, Show, Traversable) + + +data AttendenceType + = Invited + | Contributed + deriving (Eq, Generic, Ord, Show) + + +data EventType + = Conference + | Colloquium + | Seminar + | Workshop + | AtHome + deriving (Eq, Generic, Ord, Show) -- cgit v1.2.3