2016-03-08 2 views
-2

Я использую splitEvery в моем коде Haskell, импортируя Data.List.Split.Internals. За каждый раз, когда я использую splitEvery я получаю следующее предупреждение:Haskell - то, что устарела функция

In the use of `splitEvery` 
(imported from Data.List.Split.Internals): 
Deprecated: "Use chunksOf." 

Если я использую chunksOf вместо splitEvery я не получаю никаких предупреждений. Кто-нибудь знает причину? (Отмечу, я использовал только splitEvery как я наткнулся на него первым.

+1

Возможно, вы должны изменить свой вопрос и спросить «что такое устаревшая функция», чтобы предотвратить downvotes. – Zeta

ответ

4

Предупреждение говорит splitEvery осуждается. Возможно, splitEvery собирается быть удален в будущих версиях библиотеки, поэтому автор библиотеки советует не использовать его использование и использование chunksOf.

В качестве общей директивы модули, заканчивающиеся на ....Internal, не предназначены для непосредственного импорта пользователями библиотеки. Интерфейс таких модулей очень нестабилен: автор будет свободно изменять его на каждом прихоть

Обновление: как указано в Zeta ниже, splitEveryis уже удален из текущей библиотеки.

+1

К сожалению, откат: он все еще существует, но не документирован больше: https://hackage.haskell.org/package/split-0.2.2/docs/src/Data-List-Split-Internals.html#splitEvery. Но, как вы сказали, его скорее всего удалит в следующей версии 0.x. – Zeta

+0

Спасибо за ваши ответы, я понимаю сейчас. –

Смежные вопросы