WD
Size: a a a
WD
h
DC
h
WD
WD
AD
h
WD
AD
AD
WD
AD
h
h
h
data Select = Select [String]
data Question = Question String
data VK = VK
data Facebook = Facebook
class ChatFlowForm form provider where
handle :: form -> provider -> String
instance ChatFlowForm Select VK where
handle (Select _) VK = "select vk"
instance ChatFlowForm Select Facebook where
handle (Select _) Facebook = "select facebook"
instance ChatFlowForm Question VK where
handle (Question _) VK = "question vk"
l :: (ChatFlowForm Select a, ChatFlowForm Question a) => [a -> String]
l = [handle (Question "???"), handle (Select ["1", "2"])]
run provider = (l !! 0) provider ++ (l !! 1) provider
AD
DC
h
AD