Пропустив что-то со строгостью
У меня есть этот код:
divisors n = 1:[y|y<-[2..(n `div` 2)], n `mod` y == 0]
writeList l = do print "Start"
print l
Затем я хочу вызвать функцию со строгим аргументом; Я старался:
writeList $! (divisors 12345678)
а также
(divisors 12345678) \`seq\` (writeList (divisors 12345678))
Но он не ведет себя так, как если бы у него были строгие аргументы: т.е. после "Старт" мне приходится ждать оценки (divisors 12345678)
Что мне не хватает?