Вопросы с тегом 'typeclass'

Типовые классы в Haskell являются языковым механизмом для поддержки специального полиморфизма. Они также существуют в Scala, Coq и Isabelle.
2

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

Что такое класс Comonad в Haskell? Как и в Comonad от Control.Comonad в пакете comonad (также приветствуются объяснения любых других пакетов, которые предоставляют класс Comonad). Я смутно слышал о Comonad, но все, что я действительно знаю об этом, э...
08 дек. '11 в 9:08
10

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

Пока я изучаю Haskell, я заметил его класс типа, который должен стать отличным изобретением, которое возникло из Haskell. Однако в странице Википедии в классе классов: Программист определяет класс типа, задавая набор функций или постоянные имена...
04 авг. '11 в 20:32
4

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

Учитывая data Foo = FooString String … class Fooable a where --(is this a good way to name this?) toFoo :: a -> Foo Я хочу сделать String экземпляр Fooable: instance Fooable String where toFoo = FooString GHC затем жалуется: Ill...
09 мая '11 в 19:45
6

Сиротные случаи в Хаскелле

При компиляции моего приложения Haskell с опцией -Wall GHC жалуется на потерянные экземпляры, например: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Тип класса ToSElem не является моим, он определяется HStringTemplate...
20 июн. '10 в 14:17
3

Как происходит работа в Haskell?

Алгебраические Типы данных (ADT) в Haskell могут автоматически становиться экземплярами некоторых типов (например, Show, Eq) путем их получения. data Maybe a = Nothing | Just a deriving (Eq, Ord) Мой вопрос: как работает этот deriving, т....
05 окт. '10 в 14:29
1

Различие между классами MonadPlus, Alternative и Monoid?

Стандартные библиотеки Haskell typeclasses MonadPlus, Alternative и Monoid каждый из них предоставляют два метода с по существу той же семантикой: Пустое значение: mzero, empty или mempty. Оператор a -> a -> a, который объединяет значения...
16 апр. '12 в 1:53
4

Что такое Haskell Data.Typeable?

Я встречал ссылки на Haskell Data.Typeable, но мне непонятно, почему я хотел бы использовать его в своем коде. Какую проблему он решает и как?
06 июл. '11 в 17:17
5

Типы Haskell расстраивают простую "среднюю" функцию

Я играю с новичком Haskell, и я хотел написать среднюю функцию. Это казалось простейшей вещью в мире, верно? Неправильно. Кажется, что система типа Haskell запрещает среднюю работу от общего числового типа - я могу заставить ее работать над списком...
04 мар. '10 в 5:00
11

Scala двойное определение (2 метода имеют стирание того же типа)

Я написал это в scala, и он не будет компилироваться: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } компилятор уведомляет: [error] double definition: [error] method foo:(List[String])Unit and [error] method fo...
22 июл. '10 в 9:30
1

Что такое "полиморфизм a la carte" и как я могу извлечь из этого выгоду?

В своем выступлении Простой Made Easy Рик Хики говорит о Полиморфизме a la carte "(около 30:00 в видео), В этом же контексте он также упоминает Haskell Type Classes и Clojure Multi-Methods (и протоколы). Поскольку я не очень хорошо знаком с этими...
25 нояб. '12 в 16:43
5

Смущает смысл класса "Альтернативный" и его отношение к другим типам классов

Я изучаю Typeclassopedia, чтобы узнать классы типов. Я застрял в понимании Alternative (и MonadPlus, если на то пошло). Проблемы, которые у меня возникают: "pedia говорит, что" класс альтернативного типа предназначен для аппликативных функторов, ...
26 окт. '12 в 4:11
4

Могу ли я определить интерфейс Negatable в Java?

Задав этот вопрос, чтобы прояснить мое понимание классов типов и более высоких типов, я не ищу обходные пути в Java. В Haskell я мог написать что-то вроде class Negatable t where negate :: t -> t normalize :: (Negatable t) => t -> t n...
08 авг. '18 в 3:17
7

Почему Haskell отсутствует "очевидный" Typeclasses

Рассмотрим объектно-ориентированные языки: Большинство людей, исходящих из объектно-ориентированного программирования, знакомы с общими и интуитивно понятными интерфейсами на разных языках, которые захватывают суть Java Collection и List. Colle...
07 авг. '14 в 20:32
4

Разница между интерфейсами ООП и классами FP

Возможный дубликат: Интерфейс Java и класс типа Haskell: различия и сходства? Когда я начал изучать haskell, мне сказали, что классы типов более мощные, чем/разные для интерфейсов. Через год я широко использовал интерфейсы и типы таблиц, и мн...
14 нояб. '11 в 13:12
2

Что такое "|" для определения класса Haskell?

Я не могу понять, что означает "| m → w" -part в определении класса следующим образом: class (Monoid w, Monad m) => MonadWriter w m | m -> w Какую дополнительную информацию это добавляет к определению класса?
20 апр. '10 в 13:57