2
ответа

Scala: согласование классов типа с внедрением зависимости

Кажется, существует большой энтузиазм среди блоггеров Scala в последнее время для шаблона классов типа, в котором простому классу добавил функциональность к нему дополнительный класс, соответствующий некоторой черте или...
вопрос задан: 17 July 2010 12:31
2
ответа

Моделирование Typeclasses в C++

Действительно ли возможно реализовать Haskell typeclasses в C++? Если да, то, как?
вопрос задан: 27 June 2010 18:25
2
ответа

“не может экзистенциально абстрагировать по параметризованному типу …”

Я бездельничал с Scala 2.8 для забавы и пытался определить сутенера, который добавляет "как" метод для ввода конструкторов, позволяя преобразовывать от одного функтора до другого (пропустите то, что я'...
вопрос задан: 26 June 2010 02:38
2
ответа

STUArray с полиморфным типом

Я хочу реализовать алгоритм с помощью монады ST и STUArrays, и я хочу, чтобы это смогло работать и с Плаванием и с Двойными данными. Я продемонстрирую на более простой проблеме в качестве примера: вычисление...
вопрос задан: 8 February 2010 16:18
2
ответа

Haskell typeclass

У меня есть Haskell typeclass вопрос. Я не могу munge синтаксис, чтобы заставить эту (на вид разумную) программу компилировать под Управлением импортом GHC. Параллельный. MVar blah1::-> IO blah1 =...
вопрос задан: 1 December 2009 17:21
2
ответа

Существует ли энциклопедия/список классов общего типа в Haskell?

Есть ли какой-либо веб-сайт, который перечисляет и описывает классы общего типа в Haskell?
вопрос задан: 28 August 2009 11:29
2
ответа

Haskell: Перекрывающиеся экземпляры

Рассмотрите следующий пример программы: затем:: Интервал-> Интервал затем я | 0 == m2 = d2 | иначе = 3 * я + 1, где (d2, m2) = я 'divMod' 2 loopIteration:: MaybeT (Интервал StateT IO) ()...
вопрос задан: 30 June 2009 15:10
2
ответа

Haskell: введите вопрос о классах

Я хочу определить следующее Отображение typeclass: {-# язык MultiParamTypeClasses #-} класс, Отображающийся k v m, где пустой:: m v вставляют:: k-> v-> m v-> m v поиск:: k-> m v-&...
вопрос задан: 19 June 2009 20:48
1
ответ

Scala неявный def, возвращающий A с B

Я бился головой об этом и не могу понять, есть ли способ сделать это правильно. Я чувствую, что знаю, в чем проблема, но не знаю, как ее решить. У меня есть метод: неявное определение ...
вопрос задан: 2 March 2019 08:27
1
ответ

Экзистенциальные цели слишком быстро заполняются

У меня есть класс, содержащий как данные, так и аксиомы. Я хочу создать еще один экземпляр в режиме доказательства на основе (1) существующего экземпляра и (2) другого ввода. Я хочу уничтожить этот второй вход до ...
вопрос задан: 13 July 2018 21:22
1
ответ

«Объявление незаконного экземпляра» при объявлении экземпляра IsString

Я пишу приложение, которое использует строки UTF-16, и чтобы использовать расширение перегруженных строк, я попытался создать для него экземпляр IsString: import Data .Word (Word16) import Data.String (...
вопрос задан: 10 July 2014 07:38
1
ответ

Что такое контекст в классе типа мультипараметра Haskell

В главе 15 Реального мира Haskell определяется класс типа: класс (Монада m) => MonadSupply s m | m-> s, где Пара абзацев позже, это говорит, что>> = и возврат не должны быть определены...
вопрос задан: 20 April 2011 22:49
1
ответ

Что делает канал в среднем определении класса?

класс (Моноид w, Монада m) => MonadWriter w m | m-> w, где передача:: m (a, w-> w)-> m слушание:: m-> m (a, w) скажите:: w-> m (), Каково значение канала...
вопрос задан: 17 April 2011 21:05
1
ответ

Haskell: Принимающие значение по умолчанию ограничения для ввода

Рассмотрите этот пример: applyKTimes:: Интеграл i => я-> (-> a)->-> applyKTimes 0 _ x = x applyKTimes k f x = applyKTimes (k-1) f (f x) applyThrice:: (-> a)->->...
вопрос задан: 18 May 2010 23:53
0
ответов

Как указать экземпляр класса типов?

У меня есть (вполне) допустимый случай, когда есть две реализации экземпляра типа, и я хочу указать вариант по умолчанию. Заметив, что выполнение модульной арифметики с типами Int привело к большому количеству ...
вопрос задан: 19 September 2019 07:01
0
ответов

Haskell: Получение Show для настраиваемого типа

У меня есть определение этого типа: data Operace = Op (Int-> Int-> Int) String (Int-> Int-> Int) производное Show Я хочу напечатать этот тип в интерактивной оболочке ( GHCi). Все, что должно быть ...
вопрос задан: 25 July 2019 03:47
0
ответов

Будет ли иметь смысл класс типа «между» категорией и стрелкой?

Часто у вас есть что-то вроде аппликативного без чистого слова или что-то вроде монады, но без возврата. Пакет полугруппоид охватывает эти случаи с помощью Apply и Bind. Теперь я нахожусь в подобном ...
вопрос задан: 2 June 2019 14:22
0
ответов

Ссылочная прозрачность полиморфных функций

рассмотрим эту реализацию on на f g = curry $ (. bimap g g) $ uncurry f Каков его тип? GHC сказал бы (b -> b -> c) -> (a - > b) - > а - > а - > с, и это хорошее предположение. ...
вопрос задан: 19 March 2019 17:17
0
ответов

Разница между интерфейсами ООП и классами типов FP [дубликат]

Возможный дубликат: интерфейс Java и класс типов Haskell: различия и сходства? Когда я начал изучать Haskell, мне сказали, что классы типов разные и более мощные ...
вопрос задан: 25 December 2018 09:09
0
ответов

"некоторые" и "многие" функции из класса типа "Альтернативный" [дубликат]

Для чего полезны функции некоторых и многих из класса альтернативных типов? Документы содержат рекурсивное определение, которое я не смог понять.
вопрос задан: 14 December 2018 01:06
0
ответов

Соответствующее использование Monad `fail` по сравнению с MonadPlus` mzero`

Это вопрос, который несколько раз возникал у меня при разработке код, особенно библиотеки. Кажется, это вызывает некоторый интерес, поэтому я подумал, что это может стать хорошей вики для сообщества. Ошибка ...
вопрос задан: 23 May 2017 12:34
0
ответов

Кто-нибудь знает (или помнит), как нарушение классовых законов может вызвать проблемы в GHC?

Спустя некоторое время после того, как я спросил, что произойдет с вами, если вы нарушите законы монад? Я наткнулся на эту необъяснимую фразу в Haskell Wiki, на странице о безопасном запуске ненадежного кода haskell: «создание ...
вопрос задан: 23 May 2017 12:28
0
ответов

Как работают IncoherentInstances?

Поигрались с некоторым кодом: {- # LANGUAGE FlexibleInstances, OverlappingInstances # -} class Arity f, где arity :: f -> Int instance Arity x, где arity _ = 0 instance Arity f = > Arity ...
вопрос задан: 23 May 2017 12:26
0
ответов

Лучший способ использовать классы типов со списком, параметризованным с каким-либо базовым классом, абстрактным классом или трейтом

Думаю, было бы проще описать проблему на конкретном примере. Предположим, у меня есть иерархия классов Fruit и класс Show type: trait Fruit Класс дела Яблокорасширитель Фрукты дело класса "Оранжевый"...
вопрос задан: 23 May 2017 12:25
0
ответов

Поиск пропущенного класса типов "Reduce" в статье Finger Tree

Вчерашний Wikibender, который начался с этого вопроса о переполнении стека по Comonads, закончился статьей MarkCC о Finger Trees. В статье он широко использует класс типа Reduce. Он ...
вопрос задан: 23 May 2017 12:24
0
ответов

Функция Haskell, которая принимает в качестве аргумента функцию с переменным числом аргументов (и возвращает что-то еще, кроме этой функции) без FlexibleInstances, чистый Haskell2010

Можно ли выразить следующую программу Haskell без FlexibleInstances, т.е. на чистом Haskell2010? {- # LANGUAGE FlexibleInstances # -} class Funk a where true :: a -> [Bool] ...
вопрос задан: 23 May 2017 12:20
0
ответов

How do I get an instance of the type class associated with a context bound?

Note: I'm posing this question to answer it myself, but other answers are welcome. Consider the following simple method: def add[T](x: T, y: T)(implicit num: Numeric[T]) = num.plus(x,y) I can ...
вопрос задан: 23 May 2017 12:15
0
ответов

Почему Numeric ведет себя иначе, чем Ordered?

Scala имеет ряд характеристик, которые вы можете использовать как классы типов, например, Ordered и Numeric в пакете scala.math. Я могу, например, написать универсальный метод, используя Ordered следующим образом: def f [T & ...
вопрос задан: 23 May 2017 12:13
0
ответов

Можно ли реализовать liftM2 в Scala?

В Haskell liftM2 можно определить как: liftM2 :: (Monad m) => (a1 -> a2 -> r) -> m a1 -> m a2 -> г-н liftM2 f m1 m2 = do x1 <- m1 x2 <- m2 return $ f x1 x2 Я бы хотел ...
вопрос задан: 23 May 2017 11:53
0
ответов

Понимание нескольких типов / классов типов в объявлениях Haskell

Я пытаюсь изучить Haskell с помощью Learn You A Haskell ... но я потерял терпение и хотел реализовать свой любимый алгоритм, чтобы посмотреть, смогу ли я. Я работаю над алгоритмом черепаха / заяц (Флойд ...
вопрос задан: 23 May 2017 10:31