169 похожих чатов

Господа, копаюсь вот в Data.Constraint и увидел там занимательнный тип newtype

a :- b
где :k a :: Constraint и :k b :: Constraint
Судя по описанию, он представляет собой следование, то есть "имеем в скоупе констрейнт a, значит имеем констрейнт b"
и наличие объекта типа :- означает что мы имеем в скоупе констрейнт b

я не могу придумать другого случая следования кроме как
class (Eq a) => Ord a
И по идее по дефолту должно выполняться, что Ord a :- Eq a , зачем для пруфа этого факта нужен отдельный тип? Разве если у нас в скоупе есть Ord a, не значит ли это что есть Eq a?

помимо этого решил немного поиграться и ручками создать экземпляр :- для игрушечных тайпклассов
class A a where
class (A a) => B a where

instance A Int
instance B Int

proof :: B Int :- A Int
proof = ???
но понял что не совсем понимаю как его создать, ибо вид конструктора :-`меня смущает -- `Sub (a => Dict b) , а именно смущает наличие толстой стрелки внутри скобок

5 ответов

15 просмотров

proof = Sub Dict не работает?

Тут про это рассказывают: https://www.youtube.com/watch?v=hIZxTQP1ifo

Dmitriy-Mozhevitin Автор вопроса
Ilya Kos
proof = Sub Dict не работает?

да, работает -__- казалось бы до этого так писал, но линтер ругался (зря доверял видать)

Dmitriy-Mozhevitin Автор вопроса
Cheese Syrowiecki
доверяй только компилятору

в который раз в этом убеждаюсь)

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта