summaryrefslogtreecommitdiff
path: root/src/Erebos/Conversation
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-11-16 10:51:44 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2025-11-16 19:27:04 +0100
commit5be8f266e0af73917d8b73797c94333f7806b7c8 (patch)
tree17643786f659b8f7412744ad237ac5c62dfeaf7c /src/Erebos/Conversation
parent8b0a70f002d55ea68c092997d3e7721aef2ee0b7 (diff)
Conversation type class
Diffstat (limited to 'src/Erebos/Conversation')
-rw-r--r--src/Erebos/Conversation/Class.hs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Erebos/Conversation/Class.hs b/src/Erebos/Conversation/Class.hs
new file mode 100644
index 0000000..909dac6
--- /dev/null
+++ b/src/Erebos/Conversation/Class.hs
@@ -0,0 +1,15 @@
+module Erebos.Conversation.Class (
+ ConversationType(..),
+) where
+
+import Data.Text (Text)
+import Data.Time.LocalTime
+import Data.Typeable
+
+import Erebos.Identity
+
+
+class (Typeable conv, Typeable msg) => ConversationType conv msg | conv -> msg, msg -> conv where
+ convMessageFrom :: msg -> ComposedIdentity
+ convMessageTime :: msg -> ZonedTime
+ convMessageText :: msg -> Maybe Text