La conversion d'Entier Double en Haskell

Je veux de croissance composé de plus d'un an mais je ne se soucient pas de décimales, donc j'ai essayé

take 52 $ iterate (floor . (*1.1)) 100

Le problème est que le type de (floor . (*1.1)) est Double -> Integer, alors que le type attendu par le premier argument de itérer est a -> a.

J'ai essayé plusieurs approches, mais il a fini d'attacher moi-même dans les noeuds.

Quelle est la meilleure solution pour garder les types numériques cohérentes à travers l'application de fonction?

Vous ne pouvez pas maintenir l'arrondissement des résultats intermédiaires et de l'espoir d'obtenir une réponse correcte à la fin. Pourquoi ne pas déplacer le floor de la iterate et ne map floor . take 52 $ ... ?
juste point, c'était juste quelque chose que j'ai essayé de courir dans ghci quand j'ai couru dans la question.

OriginalL'auteur Paul Carey | 2013-08-16