Вопросы по теме 'type-signature'

Почему нельзя помещать сигнатуры типов в объявления экземпляров в Haskell?
Мне нравится помещать сигнатуры типов для всех определений верхнего уровня в свой код. Однако сигнатуры типов в объявлениях экземпляров кажутся недопустимыми, и если я их поставлю, я получаю сообщение об ошибке «Неуместная сигнатура типа» от GHC....
4534 просмотров

Haskell - узнайте подпись типа
Я новичок в Haskell и функциональном программировании, и я не могу понять, почему подпись типа t2 = (\x y z a -> ((x.y) z, (y.x) z)) выглядит так: t2 :: (a -> a) -> (a -> a) -> a -> b -> (a,a) Подскажите, пожалуйста, как это...
206 просмотров

Что означает # (знак фунта) в подписях типов?
Что означает # в сигнатурах типа 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 просмотров

Получение подписи типа для функции в 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 просмотров

Использование нестандартной подписи основного типа в C
Просматривал исходный код sudo, представленный на этом сайте , и наткнулся на эту супер странную подпись типа (дополнительный вопрос: есть ли более похожий на C термин для "подписи типа"?) для main: int main(argc, argv, envp) int argc;...
104 просмотров
schedule 01.11.2022

Haskell не может сопоставить ожидаемый тип «a» с фактическим типом «[a0]»
Я делаю проект на Haskell, где я пытаюсь создать функцию, которая принимает два входа списка, а затем возвращает объединение списка, но без каких-либо дубликатов. Проблема в том, что я продолжаю получать сообщение об ошибке: Couldn't match...
5912 просмотров

что означает символ # в сигнатуре функции 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