Something
public text v1 · immutable
data Action a =
Login UserID
| Logout
| StartGame Game UserID
| GameAction a
| GameOver Status
| Error Status
main1 = toString (Login "asd")
class Serializable a where
toString :: a -> String
fromString :: String -> a
instance Serializable a => Serializable (Action a) where
toString (Login user) = "Login,(" ++ user ++ ")"
etc....