Buenas, estoy con inconvenientes para interpretar como hacer éstas partes con REPR.
En tails, hice la lista de entrada pase a una función que me devuelve una Repr next s y luego usé fromRepr para ejecutarla, eso está bien?
En evens estoy pensando como hacer, tal vez manteniendo un estado para saber en que elemento estoy.
La duda que me queda es si siempre debería llevar la entrada al mundo de Repr con la función toRepr, o puedo usar otra función para generar la Repr?
Me confunde por el tema de que definimos la regla para el compilador
-- {-# RULES
-- "toRepr/fromRepr" forall r. toRepr (fromRepr r) = r
-- #-}
No se si se entiende mi duda.
En resumen es si está bien ésto:
evens' xs = fromRepr . evensRepr $ (algo, algo)
o tiene que ser de la forma: evens' xs = fromRepr . evensRepr . toRepr