Как создать постоянную аппликативную форму, а не константную аппликативную форму, чтобы остановить ее сохранение на время жизни программы?
Я пробовал этот подход:
-- | Dummy parameter to avoid creating a CAF
twoTrues :: () -> [[[Bool]]]
twoTrues _ = map (++ (True : repeat False)) . trueBlock <$> [1..]
но он, похоже, не работает - профиль показывает, что он все еще сохраняется и по-прежнему отмечает его как CAF.
Я нашел один соответствующий результат Google по этому поводу, ответ Саймона Пейтона-Джонса Нилу Митчеллу, который задал именно этот вопрос, - но к сожалению, ответ относится к мертвой ссылке.