0
ответов

Перекрывающиеся экземпляры и функции типов Haskell

У меня есть следующий класс типов, который моделирует оптимизацию запросов в стиле SQL: class OptimizableQuery q, где type Optimized q :: * optimize :: q -> Optimized q instance Query q => ...
вопрос задан: 12 May 2011 03:23
0
ответов

Overriding (==) in Haskell

I have the following algebraic data types: data Exp = Con Int | Var String | Op Opkind Exp Exp | Input deriving (Show,Eq) data Opkind = Plus | Minus | Mult | Div | More | Equal ...
вопрос задан: 10 May 2011 20:33
0
ответов

Почему я не могу сделать String экземпляром класса типов?

Дано: data Foo = FooString String… class Fooable a where - (это хороший способ назвать это?) toFoo :: a -> Foo Я хочу сделать String экземпляром Fooable: instance Fooable String ...
вопрос задан: 9 May 2011 20:21
0
ответов

Функциональная зависимость в Haskell

Я действительно не могу этого понять. Зачем это вообще нужно? Я имею в виду, что если я использую параметр одного и того же типа, я думаю, это означает, что они должны быть одного типа. Я слышал, что это может помочь компилятору избежать бесконечного цик
вопрос задан: 9 May 2011 01:58
0
ответов

Haskell - получить TypeRep из конкретного экземпляра типа

Я хочу написать функцию с такой сигнатурой: getTypeRep: : Typeable a => ta -> TypeRep, где TypeRep будет представлением типа для a, а не для t a. То есть компилятор ...
вопрос задан: 8 May 2011 01:11
0
ответов

Существует ли в Haskell эквивалент абстрактных классов ООП, использующий алгебраические типы данных или полиморфизм?

Можно ли в Haskell написать функцию с сигнатурой, которая может принимать два разных (хотя и похожих) типа данных, и работать по-разному в зависимости от того, какой тип передан? Пример ...
вопрос задан: 2 May 2011 21:07
0
ответов

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

Я относительно новичок в Haskell. Я пишу клон карточной игры uno, и мне нужен красивый цветной вывод карты. Я импортирую System.Console. ANSI, который предоставляет данные Color = Black | Красный ...
вопрос задан: 30 April 2011 22:21
0
ответов

Дизайн абстракции интерфейса

В настоящее время я пытаюсь написать небольшую игровую программу (Skat) в качестве хобби-проекта. Скат - это игра, в которой два игрока играют против одного. Поскольку есть разные типы игроков (lokal ...
вопрос задан: 24 April 2011 15:32
0
ответов

В чем разница между «классом» в Haskell и «абстрактным классом» в объектно-ориентированном языке?

На первый взгляд, существуют очевидные различия между двумя видами «классов». Однако я считаю, что есть больше общего: у обоих есть разные типы конструкторов. Оба определяют группу ...
вопрос задан: 23 April 2011 22:51
0
ответов

Альтернативные реализации классов типов стандартной библиотеки Haskell

Я видел, как многие люди жаловались на некоторые классы типов из стандартной библиотеки, говоря что-то вроде «Monad должен требовать Functor» или даже «Monad должен требовать Applicative», » Applicative ...
вопрос задан: 23 April 2011 22:46
0
ответов

Полиморфные экземпляры с ограничениями класса

Я хочу сделать все типы, которые являются экземплярами Enum и Bounded, также экземплярами Random. Следующий код делает это и должен работать (с соответствующими расширениями): import System ....
вопрос задан: 23 April 2011 22:45
0
ответов

null вместо ==

Я только ради интереса начал изучать Haskell. Я слежу за Learnyouahaskell.com. Там я нашел это: null проверяет, пуст ли список. Если это так, он возвращает True, в противном случае возвращает False. ...
вопрос задан: 23 April 2011 21:21
0
ответов

Почему сумма xy имеет тип (Num a) => a -> a -> a в Haskell?

Я читал о Haskell, и мне сложно понять, как определения функций обрабатываются на этом языке. Скажем, я определяю функцию суммы: let sum xy = x + y, если я запрашиваю ...
вопрос задан: 22 April 2011 21:58
0
ответов

Классы типов в Scala

Имея опыт работы в Haskell, я в настоящее время пытаюсь познакомиться со Scala. Я столкнулся с некоторыми проблемами, пытаясь перевести небольшой расширяемый язык выражений из Haskell в Scala. ...
вопрос задан: 22 April 2011 21:14
0
ответов

Можно ли использовать конструкторы сопоставления с шаблоном для параметра с ограничениями класса типа?

См. Пример кода ниже. Он не компилируется. Я думал, что, возможно, это потому, что у него должен быть единственный тип для первого параметра в тестовой функции. Но это не имеет смысла, потому что если я не ...
вопрос задан: 22 April 2011 17:52
0
ответов

In Haskell, why isn't there a TypeClass for things that can act like lists?

I'm reading Learn You a Haskell and I'm wondering why so many things are acting like a list, and nothing in the Prelude is using the native facility of type classes to set this up: "The bytestring ...
вопрос задан: 17 April 2011 19:06
0
ответов

Вопрос о классах типов в Scala

Пусть есть классы Fruit, Orange и Apple. класс Orange extends Fruit class Apple расширяет Fruit Теперь я хочу добавить функциональность записи для обоих типов Orange и Apple. Использование ...
вопрос задан: 12 April 2011 14:04
0
ответов

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

У меня есть пользовательский тип данных Foo = Foo {a :: Int, b :: Int}, и я пытаюсь сделать Foo настраиваемым экземпляром чтения. У меня уже есть панель функций :: String -> Foo, и я попробовал сделать это: instance Read (...
вопрос задан: 2 April 2011 03:43
0
ответов

Перевод интерфейса OO на Haskell

Моя конкретная проблема на самом деле не связана с общим переводом объектно-ориентированного интерфейса на Haskell. Это просто лучшее название, которое я мог придумать. Тем не менее, я уверен, что моя проблема связана с ...
вопрос задан: 1 April 2011 17:33
0
ответов

Каким образом: t в ghci получает доступ ко всей этой интроспективной информации?

Кажется, невозможно интроспективно исследовать ограничения классов типов на функции, типы данных и тому подобное. Однако похоже, что ghci это делает. Prelude>: t show show :: (Show a) => a -> String Итак ... ...
вопрос задан: 29 March 2011 18:50
0
ответов

Проблема класса типа, связанная с «FlexibleInstances»

Учитывая тип класса class Dictionary w, где insert :: String -> String -> w -> w remove :: String -> w -> w lookUp :: String -> w -> String Я не могу записать экземпляр ...
вопрос задан: 28 January 2011 09:29
0
ответов

Создание (a, a) функтора

Как я могу создать (a, a) функтор, не прибегая к новому типу? В основном я хочу, чтобы он работал следующим образом: instance Functor (a, a) where fmap f (x, y) = (fx, fy) Но, конечно, это не законно ...
вопрос задан: 27 January 2011 05:58
0
ответов

Определение типа данных, который не хочет быть defined

У меня есть тип данных Polynomial r для многочленов в Haskell и экземпляр Ring для него. (Класс Ring r, где plus :: r -> r -> r; times :: r -> r -> r; negative :: r -> r; zero :: ...
вопрос задан: 6 January 2011 07:42
0
ответов

Как вы используете класс типов Bounded в Haskell для определения типа с диапазоном с плавающей запятой?

Я ожидал, что следующий код завершится с ошибкой типа из-за нарушения minBound и maxBound. Но, как видите, он проходит без отметки об ошибке. {- # OPTIONS_GHC -...
вопрос задан: 29 December 2010 20:02
0
ответов

Как я могу указать, что две операции коммутируют в классе типов?

Я начал читать этот документ по CRDT, который является способом совместного использования изменяемых данных одновременно, гарантируя, что операции, которые изменяют данные коммутативны. Мне казалось, что это будет ...
вопрос задан: 23 December 2010 19:53
0
ответов

Классы типов Haskell и классы шаблонов C ++

Можно ли имитировать функциональность классов типов Haskell с помощью шаблонов C ++ (или C #)? Есть ли в этом смысл или есть ли в этом выгода? Я пытался создать класс Functor на C ++ и ...
вопрос задан: 10 December 2010 16:53
0
ответов

Добавление проверки действительности в зависимости от класса типов (необязательно implits)

В scala мы можем использовать неявные классы типов для условного добавления методов к параметризованному типу в зависимости от параметров этого типа. Например, Iterator.sum: def sum [B>: A] (неявное число: ...
вопрос задан: 8 December 2010 09:04
0
ответов

Как мне перевести класс типа Haskell в F #?

Я пытаюсь перевести стрелки основной библиотеки Haskell на F # (я думаю, что это ' это хорошее упражнение для лучшего понимания Arrows и F #, и я мог бы использовать их в проекте, над которым я работаю.) ...
вопрос задан: 27 October 2010 15:34
0
ответов

Общий класс типа преобразования

Я хотел бы посмотреть, возможно ли иметь тип класс для преобразования одной вещи в другую и обратно из отображения [(a, b)]. Этот пример должен проиллюстрировать то, что я хотел бы сделать: data XX = ...
вопрос задан: 24 October 2010 10:16
0
ответов

Есть ли способ выразить в Haskell, что тип должен быть экземпляром класса типов более чем одним способом?

(Заранее извините, если вопрос глупый или очевидно - у меня нет большого опыта работы с Haskell). Есть ли способ выразить, что тип должен быть экземпляром класса типов более чем в одном ...
вопрос задан: 22 October 2010 17:05