Это моя первая попытка создать собственный экземпляр класса, такого как Ord. Я определил новую структуру данных для представления списка: список данных a = Empty | Минусы a (List a) производное (Show, Eq) ...
Я играл с векторами и матрицами, где размер закодирован в их типе, используя новое расширение DataKinds. В основном это выглядит так: data Nat = Zero | Succ Nat data Vector :: Nat -&...
Вместо fmap, который применяет функцию к значению -в -a -functor :fmap ::Functor f => (a -> b)-> fa -> fb Мне нужна функция, в которой функтор имеет функцию, а значение простое :...
Что именно происходит со следующим? > пусть тест = показать карту > :t тест test ::[ ()] -> [String] > :t (map show)
(map show)::Show a => [a] -> [String] I am Интересно, как я...
У меня есть тип данных, который я продвигаю через DataKinds в ghc 7.4.1, и заданный класс типов, который я хочу использовать для выполнения операций, специфичных для типа. Тип данных = TInt32 | Тинт64 | TInt16 class TypeTraits a where.....
В Haskell у нас есть возможность комбинировать ограничения на типы с логическим «и». Рассмотрим следующий тип И (a ::Ограничение )b = (a, b )или более сложный класс (a, b )=> И a...
Стандартные-классы типов библиотеки Haskell MonadPlus, Alternative и Monoid предоставляют по два метода с практически одинаковой семантикой:Пустое значение:mzero, empty или mempty. Оператор a ->...
Заголовок в значительной степени резюмирует мой вопрос: есть ли штраф во время выполнения, связанный с классами типов Haskell, или это просто одна из тех вещей (например, фантомные типы) без последствий во время выполнения...
Я так хотел спать, что написал следующий код, (модифицированный, чтобы просто показать путаницу):fac s = take 10 [s, s `mod` 1..] maxFactor x = if (s = = [])then x else head &...
Я пытаюсь эмулировать систему классов типов в F#; Я хотел бы создать парный принтер, который автоматически создает правильную серию вызовов функций печати. Моя последняя попытка...
У меня есть куча классов типов хранилища данных, которые выглядят одинаково. trait FooStore[C] { def create(f: FooId => Foo)(c: C): Foo // методы обновления и поиска
} Я хотел упростить вещи и был...
Предположим, у меня есть тип данных, такой как данные D a = D a a a и класс класса типов C c ...
instance (C c1, C c2) => C (c1, c2) Затем я хочу иметь возможность записывать данные D a = D aaa, производные C, и иметь...
Это сложная проблема больше, чем полезная проблема (я потратил несколько часов на нем). Учитывая некоторые функции, put_debug, put_err :: String -> IO ()
put_foo :: String -> StateT [String] m () I ...
Я имею в виду определение экземпляра класса типов, который применяется в локальной (let или where) области действия функции. Что еще более важно, я хочу, чтобы функции в этом экземпляре были замыканиями, т. е. были...
Я получаю сообщение об ошибке, что ограничение не входит в область действия, когда я пытаюсь написать простой пример, {- # LANGUAGE UndecidableInstances, MultiParamTypeClasses, KindSignatures,. ..
Вопрос. Есть ли способ заставить этот код работать без явной подписи типа? Код. Во-первых, у меня есть гораздо более удобный альтернативный класс MonadTrans, вдохновленный Data.Newtype. Похоже ...
Да, я знаю, что UndecidableInstances может быть плохим. Я очень старался спроектировать свой модуль так, чтобы он не нуждался в нем, однако у меня получилось что-то вроде этого: instance Foo x (C x y) => Bar (C x y) where
...
Это что-то вроде философского вопроса, но я надеюсь, что на него я ответил официальной документацией или «словом божьим» (прочтите : SPJ). Есть ли какая-то конкретная причина, по которой комитет Haskell решил ...
Временами я сталкиваюсь с "особенностью", что Haskell соответствует только головкам экземпляров, а именно: instance (a ~ NewDataTyp b) => C a теперь будет соответствовать любому типу, т.е. писать еще один экземпляр ...
Существует раздражающая «особенность», что на создание экземпляров также влияет расширение RebindableSyntax. Пример того, что я хочу написать: {- # LANGUAGE RebindableSyntax # -}
импортная версия Prelude
...
У меня ужасные времена, когда я пытаюсь подключить функции во время выполнения (что мне и приходится делать), что может включать ограничения класса типов на входах и выходах функции. В таком языке, как Java, ...
Я пытаюсь найти более элегантный способ написать следующий код. class C c, где тип E c :: * -> * class C c => A c, где g :: E ca -> E ca class (C c, A c) => D c, где ...
Я прочитал статью, в которой говорится: Предоставление экземпляров для многих стандартных классов типов [Functors] сразу же даст вам много функциональности практически бесплатно Мой вопрос: что это за ...
Я хотел бы реализовать на Haskell следующий сценарий. У меня есть
перечислимый набор "событий", определенный следующим образом: data MyEvent = Event1 | Event2 | Event3 Я хочу ...
Я новичок в D и ищу хороший способ программирования с классами типов, подобными Haskell, например Функторы, моноиды и т. Д. В D. Реализовано ли что-то подобное в Tango или Phobos? Я слышал о ...
Примите во внимание: {- # OPTIONS -fglasgow-exts # -} data Second = Second
данные Минута = Минута
data Hour = Hour - Смотри Ma ', фантомный тип!
data Time a = Time Int instance Show (Time Second) where show (...
Я возился с HashMap и пытался использовать Data.Bson.ObjectId в качестве ключа. Я, конечно, обнаружил, что для этой структуры не существует экземпляра Hashable. Это нормально, потому что написание одного…
Играя с классами типов, я придумал, казалось бы, невинный класс Pair p a | p -> a where one :: p -> a two :: p -> a Кажется, это работает нормально, например. экземпляр Pair [a] a где
...