им заменять рекорды с бойлерплейтными полями.
UPD: оно еще и с зависимыми типами значений. Есть пакет dependent-map, но он странный и мап там не тотальный.
Тотальный мап по енаму это тотальная функция по енаму. Если не надо сильно много раз обновлять, то функцией прямо и кодируйте.
Функцией неудобоно совсем и на них Eq нет. А еще они не тотальные в хаскелле и так.
Ну допустим Eq можно и написать через newtype, для bounded enum совсем даже не сложно. Ну а что касается тотальности функций, -Werror=incomplete-patterns в помощь.
Для ценителей есть ещё vinyl. Определённо не Map, но тотальность на тайплевеле можно обеспечить.
Так бери либы для row рекордов, типа large-records
Обсуждают сегодня