Вопросы по теме 'type-signature'
Перегрузка сигнатур функций Haskell
Я получаю следующее сообщение об ошибке при компиляции:
Подпись повторяющегося типа: weightedMedian.hs:71:0-39: findVal :: [ValPair] -> Double -> Double weightedMedian.hs:68:0-36: findVal :: [ValPair] -> Целый -> Двойной
Мое решение...
21571 просмотров
schedule
23.04.2024
Что не так с моими подписями типа get и put?
Я пытаюсь сделать StateMonadPlus экземпляром MonadState .
data StateMonadPlus s a = StateMonadPlus (s -> Either String (a, s))
instance MonadState s (StateMonadPlus s) where
-- get :: StateMonadPlus s
get = StateMonadPlus (\s ->...
77 просмотров
schedule
30.11.2022
Подпись типа в однофункциональной цепочке коллаца
Я новичок в haskell и борюсь с подписями типов. Я работаю над однофункциональным генератором цепи Коллатца. Я видел несколько вопросов по Haskell Collatz, но не видел ни одного, отвечающего на проблему, на которую я пытаюсь ответить. Я использую...
77 просмотров
schedule
11.05.2024
Как узнать сигнатуру типа (ссылки на) функции?
У меня есть несколько реализаций функции, которую я хотел бы протестировать. Чтобы сделать это чисто, я хочу поместить ссылки на них в массив и вызывать их одну за другой. Из-за недавних изменений синтаксиса для этого необходимо сначала явно...
654 просмотров
schedule
22.05.2023
Почему сигнатура типа выглядит так? (Преобразование номера церкви в Int)
Я изучаю Haskell и пытаюсь написать функцию, которая преобразует число Черча в Int. Мой код работает, только если я не пишу сигнатуру типа.
type Church a = (a -> a) -> a -> a
zero :: Church a
zero s z = z
c2i :: Church a -> Int --...
76 просмотров
schedule
19.03.2022
Следует ли указывать сигнатуру типа для main или нет? Почему, почему нет?
Из главы 9 книги Изучите Haskell во благо я узнал, что
По соглашению мы обычно не указываем объявление типа для main .
Насколько я могу судить, это соглашение широко распространено. Однако, если я скомпилирую с использованием флага...
2791 просмотров
schedule
13.05.2023
Как указать тип аргумента в сигнатуре закрытия в Swift?
Я пытаюсь написать класс легкого наблюдателя в Swift (в настоящее время Swift 2). Идея состоит в том, чтобы использовать его в системе Entity Component как средство взаимодействия компонентов друг с другом, не будучи связанными друг с другом....
2619 просмотров
schedule
04.07.2023
Понимание Data.Function.on сигнатуры типа
Я все еще новичок, когда дело касается синтаксиса Haskell и языков функционального программирования, поэтому, когда я смотрю на объявление типа для Data.Function.on , которое равно on :: (b -> b -> c) -> (a -> b) -> a -> a -> c...
1051 просмотров
schedule
26.06.2022
Подпись правильного типа для параметра типа в Haskell
У меня есть два типа данных и я хочу написать класс, который возвращает данные из этих типов данных:
data D1 a = Da1 a | Db1 a
data D2 a = Da2 a | Db2 a
class D a where
extract :: ??? a -> a
instance D (D1 a) where
extract (Da1 a) =...
84 просмотров
schedule
13.08.2023
Подпись типа Haskell MonadWriter
Вопрос новичка о MonadWriter:
monadWrite :: Writer String Int
monadWrite = writer (3003, "log 1\n")
Почему String идет первым в typeig и Int вторым, тогда как 3003 явно Int , а "log 1\n" - String . Я знаю банально, но хочу понять.
102 просмотров
schedule
25.07.2023
В чем разница в выводе типов по сравнению с как-шаблоном в двух аналогичных определениях функций?
У меня есть два следующих похожих определения функций:
left f (Left x) = Left (f x)
left _ (Right x) = Right x
left' f (Left x) = Left (f x)
left' _ r@(Right _) = r
Когда я проверяю сигнатуры типов двух функций, меня сбивают с толку...
630 просмотров
schedule
09.02.2024
Почему предикаты для итератора Rust — это FnMut, а не Fn?
Глядя на такие предикаты, как skip_while и take_while , они
skip_while<P>(self, predicate P) -> ...
where Self: Sized, P: FnMut(&Self::Item) -> bool;
Если предикат просто возвращает истину или ложь, а не изменяет...
189 просмотров
schedule
20.04.2023
Как описать сигнатуру типа функций Haskell, не зависящих от типа?
Для такой функции, как negate , она имеет сигнатуру типа:
negate :: Num a => a -> a
который я бы назвал типом a в контексте Num (поправьте меня, если вы думаете, что я ошибаюсь).
Но я не совсем уверен, как описать что-то вроде...
93 просмотров
schedule
22.04.2023