> import Project5DataConversion(unpack, display) > import Project5Calculation(bestMatches) > import IOutilities(getCookedLine) > main :: IO() > main = > do > putStr promptFilename > filename <- getCookedLine > datafile <- readFile filename > do > let (preArmistice, postArmistice) = unpackFloat datafile > let results = bestMatches postArmistice preArmistice > let resultsDisplays = (map([""]++) . map display) results > (putStr . unlines . concat) resultsDisplays specialize unpacking of file to interpret numbers in type Float > unpackFloat :: String -> ([(String, [Float])], [(String, [Float])]) > unpackFloat = unpack interaction prompts > promptFilename :: String > promptFilename = "Enter name of data file: "