Что означает это предупреждающее сообщение, когда я загружаю модуль в HackageDB?

Когда я загружаю модуль в Hackage, появляется следующее сообщение об ошибке:

"Открытые модули используют нераспределенные имена верхнего уровня"

Я объявляю модуль как открытый модуль в файле .cabal. Есть ли что-нибудь еще, что я должен делать?

Ответ 1

Кажется, что хакеры применяют одно из общих имен верхнего уровня в иерархии для ваших модулей, например. Data, Control, System.

Таким образом, вы не можете назвать свою библиотеку катаната бананов Banana.Catapult, а скорее System.Banana.Catapult или где бы вы ни думали, что ваша библиотека будет соответствовать.