In other words, I want to provide the same UI across multiple implementations of the engine that actually processes the commands.

You can ofc make my reply somewhat more functional by removing the interact from run, and just making it have type IEngine a => a -> String -> String. That way it will be nice and functional and composable and fit into a larger system.

Bob
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to