История изменений
Исправление hateyoufeel, (текущая версия) :
data T = A Int | B String | C Double
Выдаёт: «Your function is not total»
А где здесь полиморфизм-то? Я об анонимных суммах говорил, типа Which
из https://hackage.haskell.org/package/data-diverse-4.7.0.0/docs/Data-Diverse-Which.html или Variant
из https://hackage.haskell.org/package/HList-0.5.0.0/docs/Data-HList-Variant.html.
В любом случае, я верю что GHC это должен уметь. Вопрос в том, можно ли писать более интересные инварианты на LH, которые GHC либо не умеет, либо умеет но через такую задницу, что лучше не трогать.
Условие ведь (почти) произвольная функция.
Вот именно, что «почти».
Исправление hateyoufeel, :
data T = A Int | B String | C Double
Выдаёт: «Your function is not total»
А где здесь полиморфизм-то? Я об анонимных суммах говорил, типа Which
из https://hackage.haskell.org/package/data-diverse-4.7.0.0/docs/Data-Diverse-Which.html или Variant
из https://hackage.haskell.org/package/HList-0.5.0.0/docs/Data-HList-Variant.html.
Условие ведь (почти) произвольная функция.
Вот именно, что «почти».
Исходная версия hateyoufeel, :
data T = A Int | B String | C Double
Выдаёт: «Your function is not total»
А где здесь полиморфизм-то? Я об анонимных суммах говорил, типа Which
из https://hackage.haskell.org/package/data-diverse-4.7.0.0/docs/Data-Diverse-Which.html.
Условие ведь (почти) произвольная функция.
Вот именно, что «почти».