module Exercise_6 where import Data.Ratio import Data.List import Data.Maybe import Control.Arrow import GHC.Num traceFractran :: [Rational] -> Integer -> [Integer] {-WETT-} traceFractran rs i = case find (denominator >>> mod i >>> eqInteger 0) rs of Nothing -> [i] Just y -> i : rs `traceFractran` numerator (fromInteger i * y) {-TTEW-}