module Main where import CmdLine import qualified Role.User import qualified Role.Developer import Graphviz import Replay import Server import Network.Socket import System.Exit main :: IO () main = withSocketsDo $ do c <- getCmdLine case mode c of UserMode o -> Role.User.run o >>= exitWith DeveloperMode o -> Role.Developer.run o GraphvizMode o -> graphviz o ReplayMode o -> replay o ServerMode o -> server o