Implementa un reloj que maneje horas sin fechas.
Debes poder sumarle y restarle minutos.
Dos relojes que representen la misma hora deben ser iguales entre sí.
Es un reloj de 24 horas que va de «00:00» a «23:59».
Para completar este ejercicio necesitas definir el tipo de dato Clock,
añadir una instancia de Eq e implementar las funciones:
addDelta suma una duración, expresada en horas y minutos, a una hora dada,
representada por una instancia de Clock.
fromHourMin recibe una hora y unos minutos y devuelve una instancia de Clock con
esa hora y esos minutos.
toString recibe una instancia de Clock y devuelve una representación como string
del reloj, en formato con relleno de ceros, como «08:03» o «22:35».
Encontrarás una declaración de datos ficticia y las firmas de tipo ya preparadas, pero te toca a ti definir las funciones y crear un tipo de dato, un newtype o un sinónimo de tipo con sentido.
Si necesitas ayuda para empezar con los tipos, echa un vistazo a:
Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.