Мне нужна помощь с моей программой. Предполагается, что sqrt все элементы списка Integer и возвращают список Float в 3 вариантах: 1) рекурсивный, 2) понимание списка, 3) функции высшего порядка. Я написал первый, который отлично работает:
-- recursive:
sqrtL1 :: [Integer] -> [Float]
sqrtL1 [] = []
sqrtL1 (n:ns) = (sqrt x) : sqrtL1(ns)
where x = fromIntegral n :: Float
-- Listenkomprehension:
sqrtL2 :: [Integer] -> [Float]
sqrtL2 (n:ns) = [sqrt x | x <- ns]
where x = fromIntegral n :: Float --(it doesn't work tho)
-- Higher-order:
sqrtL3 :: [Integer] -> [Float]
sqrtL3 ns = map sqrt ns
но у меня возникают проблемы с преобразованием в следующих двух случаях. Может ли кто-нибудь помочь мне?
sqrt x : sqrtL1 ns
. В принципе, это все еще правильно, но просто не в красивом стандартном стиле Haskell. - person leftaroundabout   schedule 19.12.2013