Вопросы по теме '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 просмотров

Как указать тип аргумента в сигнатуре закрытия в Swift?
Я пытаюсь написать класс легкого наблюдателя в Swift (в настоящее время Swift 2). Идея состоит в том, чтобы использовать его в системе Entity Component как средство взаимодействия компонентов друг с другом, не будучи связанными друг с другом....
2619 просмотров

Понимание 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 просмотров

Подпись типа 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 просмотров