Вопросы по теме 'deriving'

Как я могу получить экземпляр данных для GADT в Haskell?
У меня есть GADT, который всегда используется только с двумя разными параметрами: ForwardPossible и (): -- | Used when a forward definition is possible. data ForwardPossible = ForwardPossible deriving (Eq, Ord, Typeable, Data, Show) -- | GADT...
1373 просмотров
schedule 13.11.2021

Получение MonadFree от нового типа с помощью стека трансформаторов
Я пытаюсь вывести MonadFree из newtype и просто не могу это понять. Мой текущий код: newtype ApplicationStack s r p m = ApplicationStack { runApplication :: StateT s (ReaderT r p) m } deriving (Functor, Applicative, Monad, MonadState s,...
89 просмотров
schedule 29.09.2021

Что это за синтаксис `deining newtype`?
Из сообщения в блоге я прочитал -- | Newtype for disabling logging newtype NoLoggingT m a = NoLoggingT { runNoLoggingT :: m a } deriving newtype (Functor, Applicative, Monad) deriving (MonadTrans) via IdentityT instance Monad m =>...
78 просмотров
schedule 29.09.2021

Почему вы можете создать ценность с помощью Just (+)?
В настоящее время я изучаю Haskell и застрял на создании экземпляров типов в классы типов. Я вообще-то не понимаю, почему можно создать значение типа Maybe a с помощью Just (+) . Проблема, почему это ведет себя странно для меня, заключается в...
109 просмотров
schedule 02.03.2022

Типизируемый экземпляр Haskell
Я использую cmdargs для получения аргументов из программы командной строки. Я использую какой-то специальный тип в своей программе data Function = Max | Min | Moy | Med deriving...
519 просмотров
schedule 11.05.2022

Автоматически получать Add, Mul, Ord и т. д. для числового типа
Какой самый простой способ создать собственный тип, который ведет себя как число? Мне нужна проверка типов, которая предотвращает смешивание разных единиц в моей программе, но я все еще хочу иметь возможность легко выполнять вычисления для типа без...
2576 просмотров
schedule 04.07.2022

Создайте новый тип экземпляра Eq
Я изучаю Haskell, и мне дали следующее задание: у меня есть новый тип, состоящий из двух смешанных типов данных, и я должен сделать его экземпляром Eq без использования производных. Вот что у меня есть: data Number = One | Two | Three deriving...
551 просмотров
schedule 03.05.2023

Могу ли я сделать инфикс конструктора данных haskell GADT в производном шоу?
Рассмотрим два объявления data : {-# LANGUAGE GADTs #-} data X = Int `Y` Int deriving Show data Z where W :: Int -> Int -> Z deriving Show main = do print (1 `Y` 2) print (3 `W` 4) Запуск вышеуказанной...
328 просмотров
schedule 16.07.2023

Не удается вывести Generic для этого типа?
Компиляция этого короткого фрагмента на GHC 8.6.2: {-# LANGUAGE DeriveGeneric, PolyKinds #-} import GHC.Generics data Foo f = FA | FB (f (Foo f)) deriving (Generic, Generic1) Результаты в этой ошибке: Can't make a derived...
352 просмотров

Можно ли предоставить экземпляры по умолчанию некоторого класса типов X для моего класса типов Y?
Чтобы уточнить, часто можно предоставить реализации по умолчанию для функций экземпляра класса типов, но мне интересно, возможно ли также предоставить реализации по умолчанию для экземпляров класса типов других классов типов. Например, скажем, я...
290 просмотров
schedule 09.02.2023