Вопросы по теме 'newtype'
Указание кортежа в аргументе `newtype`
Изучай Haskell обсуждает newtype .
Как его сигнатура Pair b a означает, что переданный аргумент должен быть кортежем?
ghci> newtype Pair b a = Pair { getPair :: (a, b) }
ghci> let p = Pair (5, 10)
Я запутался, как b a...
839 просмотров
schedule
02.09.2023
Новый тип с кортежем
Об этом коде из LearnYouaHaskell :
newtype Pair b a = Pair {getPair :: (a,b)}
instance Functor (Pair c) where
fmap f (Pair (x, y)) = Pair (f x, y)
Я понимаю, что первая строка создает новый тип данных из кортежа. Однако почему порядок...
415 просмотров
schedule
26.06.2023
Не удается создать производный экземпляр Num
Я использую ghci , этот раздел кода
newtype Gold = Gold Int
deriving (Eq, Ord, Show, Num)
показывает ошибку как
Can't make a derived instance of 'Num Gold':
'Num' is not a derivable class
Try GeneralizedNewTypeDeriving for GHC's...
3544 просмотров
schedule
15.03.2024
Haskell создает список из данных нового типа
Это домашнее задание в первую очередь. Нам дана матрица нового типа, которая является реализацией профессором абстрактной матрицы. Моя главная проблема заключается в том, как создать список типа Matrix. Первая функция fillWith, которую мне нужно...
566 просмотров
schedule
08.04.2022
Можно ли использовать ограничение класса типов в определении нового типа?
Предположим, у нас есть следующее определение newtype :
newtype A = A { _run :: Monad m => A -> [Int] -> m Int }
Это не компилируется с GHC 8.0.2:
error: Not in scope: type variable ‘m’
Замена m конкретным классом типов,...
1766 просмотров
schedule
07.08.2022
Импорт новых типов из другого модуля
В последнее время я изучаю PureScript и сделал небольшое приложение, которое рисует куб на экране. Все хорошо, и я определил несколько newtype в верхней части модуля Main следующим образом:
newtype Vec2 = Vec2
{
x :: Number
,...
350 просмотров
schedule
28.04.2024
Как определить экземпляр MonadUnliftIO для нового типа с фантомной переменной типа?
Связанный вопрос - Безопасно ли наследовать MonadThrow, MonadCatch, MonadBaseControl, MonadUnliftIO и т. Д.? - где я включил оба - DeriveAnyClass и GeneralizedNewtypeDeriving для компиляции кода, но не стал смотреть на зловещие предупреждения....
364 просмотров
schedule
25.04.2023
Почему синтаксис newtype создает функцию
Я смотрю на это объявление:
newtype Parser a = Parser { parse :: String -> Maybe (a,String) }
Вот что я понимаю:
1) Парсер объявлен как тип с параметром типа a
2) Вы можете создать экземпляр Parser, предоставив функцию парсера,...
169 просмотров
schedule
02.01.2023