Спрашивал уже это пол года назад примерно в новичковом чате, но теперь уже продвинулся по Хаскелю и думаю, может есть у этой задачи более красивые "продвинутые решения". Нужно...
Ещё, не относящийся к предыдущему, вопрос: Есть конечный автомат. У него часть переходов примитивные, а часть сами представляют собой автоматы. Нужно бегать по состояниям и, в...
Здравствуйте! Есть ли какое-то название для объекта в категории, из которого во все другие есть стрелки (возможно несколько), а в себя только тождественная? То есть как инициа...
По итогу удалось реализовать монадические геттеры, сеттеры, линзы, призмы и изоморфизмы. Даже написал вчера немного об этом. Для реализации понадобились следующие нестандартны...
Добрался до тестирования своего транслятора. Хотелось бы каким-то образом для последнего коммита на на мастере автоматически компилировать бинарники и загружать куда-нибудь, о...
Пытаюсь для своего простенького языка сделать интерпретатор нашёл пример с Call-by-value в Write you a haskell. Переписал чуть-чуть, добавив именованные переменные. Потом захо...
Ну, я придумал решение через MonadParsecDbg, просто странно, что его в библиотеке нет. Видимо, так не делают. И тогда возникает вопрос: а как делают?
Почему дока у lens такая ужасная: всё вместе смешано и базовые вещи, и продвинутые, и детали реализации... Сейчас вот пытаюсь разобраться, приходится параллельно открывать len...
Можно ли тут как-то ещё упростить код? Тут было совсем ужасно, теперь переписал на линзы стало чуть лучше, но может это ещё не предел? Я просто только первый раз линзы использ...
Как добиться такого вывода (диапазонами) у QuickCheck? Я сделал через newtype над Int и collect, но может есть стандартный способ? +++ OK, passed 100 tests: 56% 0 .. 10 ...
Есть ли способ красиво переписать list-comprehension'ы: [c <> c' | c <- toNormForm' f, c' <- toNormForm' f'] [[CDmd r c b] | c <- toNormForm' f] через Data.Set, а не списки? Н...
Есть класс class C c where type F c :: * -> * -> * instance C Foo where type F Foo = (->) Как сделать F Bar типом a -> b -> b?
Пишу парсер своего языка. Для бинарных операций завожу тип: data BinOp = OpSum | OpMult | ... и думаю: нельзя ли как-то сделать так, чтобы писать не OpSum, OpMult, а Op "+", O...
Есть ли способ как-то автоматически получать progM из prog? Понимаю, что прямо так (((a -> b) -> c) -> (a -> m b) -> m c)) написать не выходит, но не могу понять, почему: ведь...
Почему такой код не компилируется class Functor f => Foo f instance Applicative f => Foo f Could not deduce (Functor f) arising from the superclasses of an instance decla...
И если haskell — это лучший вариант, то есть какие-то гайды, как разобраться в его компиляторе на достаточном уровне, чтобы написать своё расширение такого типа? (как-то напис...
В haskell же, вроде бы, нет возможности органичить тип-сумму определёнными конструкторами data AorB = A | B data OnlyA = A так, чтобы значение типа OnlyA всегда было значением...
Почему haskell не может вывести MonadState s m из MonadState s (ExceptT a m) при том что instance MonadState s (ExceptT a m) вроде требует MonadState s m. Это связанно с Overl...
Как с помощью линз сматчить два разных конструктора и установить в них значения? Вроде должен получаться AffineTraversal, но почему-то (в optics) такая функция afailing есть т...
А affine traversal в lens не существует? Мне надо каким-то образом унифицировать линзу и призму и при этом, чтобы можно было matching и set