Implementa un orologio che gestisce orari senza date.
Dovresti poter aggiungere e sottrarre minuti.
Due orologi che rappresentano lo stesso orario devono essere uguali tra loro.
È un orologio a 24 ore che va da «00:00» a «23:59».
Per completare questo esercizio devi definire il tipo di dato Clock,
aggiungere un'istanza di Eq e implementare le funzioni:
addDelta aggiunge una durata, espressa in ore e minuti, a un orario dato,
rappresentato da un'istanza di Clock.
fromHourMin prende un'ora e un minuto e restituisce un'istanza di Clock con
quell'ora e quei minuti.
toString prende un'istanza di Clock e restituisce una rappresentazione
dell'orologio sotto forma di stringa, in un formato con zeri iniziali come «08:03» o «22:35»
Troverai già pronti una dichiarazione di dato fittizia e delle firme di tipo, ma sta a te definire le funzioni e creare un tipo di dato, un newtype o un sinonimo di tipo significativo.
Se hai bisogno di aiuto per iniziare con i tipi, dai un'occhiata a:
Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.