Описание тега overloaded-lists

Расширение OverloadedLists - это расширение GHC на языке программирования Haskell, которое позволяет использовать литералы списков для автоматического преобразования в другие объекты, подобные спискам (например, NonEmpty, Set и т. Д.).
1 ответ

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

Итак, у меня есть этот тестовый пример, и я пытаюсь избавиться от необходимости делать миллион перегрузок оператора или обрабатывать конфликты перегрузки или сложности. Я хочу иметь возможность обрабатывать константы литерального массива с перегрузк…
1 ответ

Литерал OverloadedLists верхнего уровня

У меня есть набор тестов для рефакторинга, и я бы хотел, чтобы он был совместим с обоими Data.List а также Data.List.NonEmpty. Упражнение состоит из функцииfoo :: [Foo] -> Foo и в наборе тестов есть data Case = Case { description :: String , inpu…
04 дек '19 в 13:07
1 ответ

Почему IsList требует toList?

Когда используешь -XOverloadedStrings вы можете реализовать, для чего требуется только функция fromString. Теперь, если вы хотите использовать строковые литералы для сопоставления с образцом, вам также необходимо реализовать, что имеет смысл: f :: M…
0 ответов

Есть ли способ использовать синтаксический сахар для построения списков экзистенциальных типов?

Рассмотрим список, подобный этому: {-# LANGUAGE ExistentialQuantification #-} data ShowList = Nil | forall a. Show a => a :* ShowList infixr 5 :* myShowList :: ShowList myShowList = 'x' :* () :* Nil Я хотел бы иметь возможность использовать синта…