Вопросы по теме 'type-signature'
Почему нельзя помещать сигнатуры типов в объявления экземпляров в Haskell?
Мне нравится помещать сигнатуры типов для всех определений верхнего уровня в свой код. Однако сигнатуры типов в объявлениях экземпляров кажутся недопустимыми, и если я их поставлю, я получаю сообщение об ошибке «Неуместная сигнатура типа» от GHC....
4534 просмотров
schedule
07.10.2021
Haskell - узнайте подпись типа
Я новичок в Haskell и функциональном программировании, и я не могу понять, почему подпись типа
t2 = (\x y z a -> ((x.y) z, (y.x) z))
выглядит так:
t2 :: (a -> a) -> (a -> a) -> a -> b -> (a,a)
Подскажите, пожалуйста, как это...
206 просмотров
schedule
05.10.2021
Что означает # (знак фунта) в подписях типов?
Что означает # в сигнатурах типа seq<#seq<'a>> по сравнению с просто seq<seq<'a>> ?
812 просмотров
schedule
19.10.2021
Что происходит в подписи этого типа? (Модификаторы Vector.Mutable в Haskell)
Изменяемые векторы в Haskell имеют три мутатора на уровне элемента:
read :: PrimMonad m => MVector (PrimState m) a -> Int -> m a
write :: PrimMonad m => MVector (PrimState m) a -> Int -> a -> m ()
swap :: PrimMonad m =>...
900 просмотров
schedule
14.05.2022
Получение подписи типа для функции в elm
Я использую вяз 0.18.
Допустим, у меня есть функция, которая связывает воедино кучу вещей, которые я собрал в спешке. Это работает, но я не уверен, что это за сигнатура типа, и я хотел бы, чтобы elm сказал мне (или подсказал мне) эту сигнатуру...
358 просмотров
schedule
06.06.2022
Haskell использует классы типов внутри сигнатур типов
Предполагая простую подпись с ограничениями по классу типов:
f :: (Eq a, Num b) => a -> b
f str = 4
Мне было интересно, почему это не сработало
f :: (Eq a) -> (Num b)
f str = 4
f :: Eq -> Num
f str = 4
Я знаю, что классы...
333 просмотров
schedule
26.07.2022
Подписи типа Haskell с различными параметрами
Проект Эйлера № 4: палиндромное число одинаково читается в обоих случаях. Самый большой палиндром, составленный из произведения двух двузначных чисел, равен 9009 = 91 × 99. Найдите наибольший палиндром, составленный из произведения двух трехзначных...
61 просмотров
schedule
18.09.2022
`Ord a =›` или `Число a =›`
У меня есть следующие функции:
which (x:xs) = worker x xs
worker x [] = x
worker x (y:ys)
| x > y = worker y ys
| otherwise = worker x ys
и мне интересно, как мне определить сигнатуры типов этих вышеперечисленных функций...
938 просмотров
schedule
23.11.2022
Подпись типа Haskell с несколькими ограничениями класса
Как я могу иметь несколько ограничений класса, поэтому, если A является Eq , а B является Num , я мог бы сказать либо
f :: Eq a => a -> b`
or
f :: Num b => a -> b
Итак, как я могу иметь Eq a => и Num b =>...
13683 просмотров
schedule
30.12.2022
Использование нестандартной подписи основного типа в C
Просматривал исходный код sudo, представленный на этом сайте , и наткнулся на эту супер странную подпись типа (дополнительный вопрос: есть ли более похожий на C термин для "подписи типа"?) для main:
int
main(argc, argv, envp)
int argc;...
104 просмотров
schedule
01.11.2022
Haskell не может сопоставить ожидаемый тип «a» с фактическим типом «[a0]»
Я делаю проект на Haskell, где я пытаюсь создать функцию, которая принимает два входа списка, а затем возвращает объединение списка, но без каких-либо дубликатов.
Проблема в том, что я продолжаю получать сообщение об ошибке:
Couldn't match...
5912 просмотров
schedule
07.05.2023
что означает символ # в сигнатуре функции f#?
Я видел функцию, определенную следующим образом:
let private applyTarget (logger:#ILogger) ceiling target =
logger.Debug "enforce ceiling"
match target > ceiling with
| true -> ceiling | false -> target
Что означает...
842 просмотров
schedule
07.07.2023
Подписание с помощью XAdeS-BES в Android
Я пытаюсь подписать файл с помощью XADES-BES в Android. Я нашел библиотеку об этом. Сборка и создание APK работает нормально. После того, как я выбираю файл и нажимаю кнопку «Подписать», он выдает ошибку времени выполнения. После отладки я...
473 просмотров
schedule
20.05.2023
Как указать, что две переменные типа одинаковы?
Произнесите такой код:
fun :: (a -> b) -> [a] -> [b]
fun f as = someLogic as
where someLogic :: [a] -> [b]
someLogic xs = map f xs
Последняя строка будет жаловаться компилятору, что тип a для " f " не совпадает с типом...
57 просмотров
schedule
07.09.2023
тип подписи Haskell
cow :: (Eq a) => a -> a -> [a] -> Bool
cow x y z = x && y `elem` z
foo ::
foo x y z = x `elem` y && y `elem` z
bar::
bar x y = case y of
Nothing -> x
Just z -> x + z
Я не знаю, какой должна быть...
113 просмотров
schedule
08.01.2024
Подписи типов Haskell и монады
Я сделал функцию в haskell, которая должна принимать список вместе с размером списка; и предполагается создать Data.Vector.Mutable. MVector с заданным размером, заполнить вектор содержимым списка и вернуть этот вектор.
TL;DR
Я хочу...
118 просмотров
schedule
23.03.2024