0
ответов

Определение класса типов с функциями, зависящими от дополнительного типа

Все еще новичок в Haskell, я столкнулся со следующим: я пытаюсь определить некоторые классы типов, чтобы обобщить набор функций, которые используют гауссовское исключение для решения линейные системы ...
вопрос задан: 16 December 2011 12:36
0
ответов

Что такое класс типов Comonad в Haskell?

Что такое класс типов Comonad в Haskell? Как и в Comonad от Control.Comonad в пакете comonad (также приветствуются объяснения любых других пакетов, которые предоставляют класс типов Comonad). Я смутно ...
вопрос задан: 8 December 2011 09:08
0
ответов

Почему в Haskell нельзя ставить подписи типов в объявлениях экземпляров?

Я люблю ставить подписи типов для всех определений верхнего уровня в своем коде. Однако подписи типов в объявлениях экземпляров, похоже, не разрешены, и если я их поставлю, то получу сообщение "Misplaced type signature" ...
вопрос задан: 3 December 2011 11:48
0
ответов

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

У меня есть тип данных под названием Praat. Я хочу, чтобы Praat был экземпляром Eq, чтобы два Praat были равны тогда и только тогда, когда равны mx. Как это сделать? - тип данных data Praat t = Praat [k] [(k, k, k, k)] ...
вопрос задан: 2 December 2011 07:03
0
ответов

Data.Foldable для неупорядоченных контейнеров

Я работаю над языком Haskell-встречает-SQL для манипуляций с базой данных, а также над библиотекой классов общих типов, которая будет использоваться вместе с ним, заимствуя из Hackage везде, где это имеет смысл. Потому что значительный ...
вопрос задан: 23 November 2011 20:21
0
ответов

Выбор между классом и записью

Основной вопрос: каким принципам проектирования следует придерживаться при выборе между использованием класса или использованием записи (с полиморфными полями)? Во-первых, мы знаем, что классы и записи по сути ...
вопрос задан: 12 November 2011 18:56
0
ответов

haskell - ограничения ранга n? (или преобразователи монад и Data.Suitable)

Я пытаюсь написать что-то, что похоже на «типы ранга 2», но вместо этого для ограничений. (Или, может быть, неверно предполагать изменение -> в определении "типы ранга 2" на = & ...
вопрос задан: 10 November 2011 09:01
0
ответов

Построение иерархии классов в Coq?

Я могу наивно построить иерархию алгебраических структур в Coq, используя классы типов. У меня проблемы с поиском ресурсов по синтаксису и семантике Coq для классов типов. Однако я считаю, что ...
вопрос задан: 3 November 2011 04:41
0
ответов

Создание Vector.Generic экземпляра Functor (и других классов типов

Я столкнулся с проблемой, пытаясь сделать Vector.Generic.Vector экземпляром других классов типов (в моем случае - Functor). Я мог бы довольствоваться добавлением экземпляра Functor в Vector.Unboxed.Vector, но я не могу ...
вопрос задан: 27 October 2011 16:17
0
ответов

Как создать экземпляр Read для типа данных в haskell

Итак, у меня есть тип данных data SomeType a = Type a | Mix (SomeType a) (SomeType a) Это мой экземпляр шоу для экземпляра SomeType (Show a) => Show (SomeType a), где show (Type a) = show ...
вопрос задан: 21 October 2011 16:29
0
ответов

Что не так с этим классом / экземпляром?

У меня есть это: данные Vector3 t = Vector3 {ax, ay, az :: t} данные Point3 t = Point3 {x, y, z :: t} данные Ray3 t = Ray3 {ori :: Point3 t, dir :: Vector3 t} data Sphere t = Sphere {center :: Point3 t, ...
вопрос задан: 6 October 2011 05:07
0
ответов

Перегрузка (+)

Я пытаюсь определить тип данных Vector3 в haskell и разрешить использовать для него оператор (+). Я пробовал следующее: data Vector3 = Vector3 Double Double Double Double Double Vector3 x y z + Vector3 x' y' ...
вопрос задан: 4 October 2011 10:46
0
ответов

Добавление ограничений типа в контекст объявлений экземпляров в Haskell

Я пытаюсь представить взвешенные ребра. В конечном итоге я хочу, чтобы OutE был экземпляром Eq и Ord, с ограничением, что etype является экземпляром Eq и Ord. Предположим, у меня есть следующий файл ...
вопрос задан: 30 September 2011 19:20
0
ответов

объяснение «незаконной семьи синонима типа»

мне просто любопытно, почему я должен написать это, случай (HzMonad
вопрос задан: 23 September 2011 01:21
0
ответов

Почему "type class" называется "type class"?

При более глубоком погружении в Scala я нахожу термин type class. Это сбивало с толку, потому что класс - это тип, а тип может быть классом по Scala, а "тип" и "класс" сами по себе являются абстрактными терминами. ...
вопрос задан: 9 September 2011 10:07
0
ответов

Как создать тип, ограниченный в определенном диапазоне

, я хотел бы создать новый интегральный тип, который ограничен определенным диапазоном. Я пробовал: pathclass dataclass = pc int, полученный (ord, eq, show) экземпляра ограниченный patheclass, где minbound = pc 0 ...
вопрос задан: 4 September 2011 23:22
0
ответов

Отсутствие выводов типа приводит к неисправности, не посвященные неисправности

, я отбухнул, почему этот код компилирует с подсказками типа, но не скомпилируется без. Не должно быть никаких неоднозначных чисел (есть один экземпляр). Класс Monad M => FCNDEF β M | β -> ...
вопрос задан: 29 August 2011 01:33
0
ответов

Сокращение кода за счет использования симметрии между экземплярами классов нескольких типов

Контекст Я пишу модуль Haskell, представляющий префиксы SI: модуль Unit.SI.Prefix, где Каждый префикс SI имеет соответствующий тип данных: data Kilo = Kilo derating Показать data Mega = Mega deriving ...
вопрос задан: 26 August 2011 16:12
0
ответов

Как ограничение типа Scalaz `F [_]: Applicative` подразумевает использование неявных параметров?

Я изо всех сил пытаюсь понять следующее определение функции в типе Traverse в Scalaz : def traverse [F [_]: Аппликативный, A, B] (f: A => F [B], t: T [A]): ​​F [T [B]] Часть, которую я не понимаю. ..
вопрос задан: 18 August 2011 14:59
0
ответов

Почему я должен указывать класс типов в функции, если он был объявлен в определении данных?

Если у меня есть ADT с указанными ограничениями класса типов, мне все равно нужно указать один и тот же класс типов для каждой функции используя этот тип данных. В чем причина этого и как я могу уменьшить ненужное ...
вопрос задан: 12 August 2011 17:06
0
ответов

Интерфейс Java и класс типов Haskell: различия и сходства?

Пока я изучаю Haskell, я обратил внимание на его класс типов, который, как предполагается, является великим изобретением, возникшим в Haskell. Однако на странице Википедии о классе типов: «Программист определяет ...
вопрос задан: 5 August 2011 13:38
0
ответов

Есть ли в Haskell хороший способ написать функцию преобразования числа в число `toNum :: (Num a, Num b) => a -> b`?

Например , один из плохих способов - использовать строку: toReadableNum :: (Num a, Num b, Read b) => a -> b toReadableNum = читать. show Если хороших способов нет, есть ли другие плохие? ...
вопрос задан: 23 July 2011 06:48
0
ответов

Экземпляры класса типа для типов с 2 параметрами, когда класс типа имеет только один

Рассмотрим следующий класс-тип: class Listable a where asList :: at -> [t] Достаточно легко создать экземпляры для типов с одним параметром: instance Listable [] где asList = id ...
вопрос задан: 19 July 2011 12:26
0
ответов

Как я могу совместить типовой класс с подтипированием?

Предположим, я использую типовой класс в Скале. Вот как я делаю класс С часть шрифтового стекла Foo: Добро пожаловать в Scala версии 2.9.0.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26). scala&....
вопрос задан: 15 July 2011 11:23
0
ответов

Написание функции, полиморфной в семействе типов

Вчера я экспериментировал с семейством типов и наткнулся на препятствие со следующим кодом: {- # LANGUAGE TypeFamilies # - } class C a where type A a myLength :: A a -> Int ...
вопрос задан: 12 July 2011 15:06
0
ответов

Как организовать модули Haskell с экземплярами: придерживаться типа данных или класса типа?

Общий вопрос в том, какая структура модуля более удобна при добавлении экземпляров для существующих объектов? Какие есть плюсы и минусы? Допустим, я хочу добавить экземпляр NFData для типа Seq. Я ...
вопрос задан: 10 July 2011 12:36
0
ответов

Почему `Bits` зависит от` Num`?

Я кодировал свои собственные битовые векторы (представленные как строгие кортежи над значениями Word64) в качестве упражнения по оптимизации времени и пространства и хотел определить для них экземпляры класса типов Bits, но ...
вопрос задан: 3 July 2011 13:55
0
ответов

Список элементов типов, ограниченных классом типов

Я пытаюсь закодировать список элементов, типы которых ограничены быть экземплярами некоторого класса типов: {- # LANGUAGE RankNTypes, TypeSynonymInstances, LiberalTypeSynonyms # -} module Test where class ...
вопрос задан: 8 June 2011 20:47
0
ответов

Почему Haskell по умолчанию читает Int при чтении Num?

Я не ожидал, что следующий код будет работать: foo :: (Num a) => a -> a foo x = x + x main = do print (foo (читай «7»)), потому что невозможно полностью вывести тип (читай «7») на основе ...
вопрос задан: 28 May 2011 23:41
0
ответов

Есть ли в Haskell какой-нибудь общий класс типов Hashable? (также известный как «вывод (Hashable)»)

Написал ли кто-нибудь универсальную функцию, чтобы хеш-функции могли создаваться автоматически для пользовательских типов данных (с использованием механизма получения)? Несколько раз я писал следующий вид ...
вопрос задан: 25 May 2011 07:12