Почему в реализации простых чисел haskellwiki есть аргумент-единица - PullRequest
2 голосов
/ 21 августа 2011

Что говорит заголовок.

Пример, взятый со страницы простых чисел haskellwiki:

{-# OPTIONS_GHC -O2 -fno-cse #-}
primesTME () = 2 : ([3,5..] `minus` join [[p*p,p*p+2*p..] | p <- primes']) 
  where
    ....

Какова цель аргумента ()?Код, кажется, работает нормально без него.Я предполагаю, что это приводит к тому, что список простых чисел будет пересчитываться для каждого приложения, но почему это было бы желательно?

1 Ответ

3 голосов
/ 22 августа 2011

Хотели бы вы иметь постоянный список из 1000000+ простых чисел в памяти, который вам нужен только на более позднем этапе и который потребляет 8 МБ ОЗУ?Если нет, используйте фиктивный аргумент и несколько флагов, чтобы избежать совместного использования.

...