Implemente um relógio que lida com horários sem datas.
Você deve conseguir somar e subtrair minutos a ele.
Dois relógios que representam o mesmo horário devem ser iguais entre si.
É um relógio de 24 horas que vai de "00:00" a "23:59".
Para completar este exercício, você precisa definir o tipo de dado Clock, adicionar uma instância de Eq e implementar as funções:
addDelta adiciona uma duração, expressa em horas e minutos, a um horário, representado por uma instância de Clock.
fromHourMin recebe uma hora e um minuto e retorna uma instância de Clock com essa hora e esse minuto.
toString recebe uma instância de Clock e retorna uma representação em string do relógio, no formato com zeros à esquerda, como "08:03" ou "22:35".
Você vai encontrar uma declaração de dados fictícia e assinaturas de tipo já prontas, mas cabe a você definir as funções e criar um tipo de dado, um newtype ou um sinônimo de tipo que faça sentido.
Se você precisar de ajuda para começar com tipos, dê uma olhada em:
Crie sua conta no Exercism para aprender e dominar Haskell com 107 exercícios e mentoria humana de verdade, tudo de graça.