Size: a a a

2020 December 05

AV

Alexander Vershilov in Haskell
Ну как бы это очевидно должно быть
источник

к

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

AV

Alexander Vershilov in Haskell
На этом уровне newtype Set, что выше не отличается от containers:Set
источник

YR

Yuki Rito in Haskell
ну контракт, ассюм :) Ладно, Хаскель же не прувебл язык, что вы в самом деле
источник

AV

Alexander Vershilov in Haskell
У них одинаковый уровень безопасности, это инварианты прописанные в документации к API и тесты
источник

AV

Alexander Vershilov in Haskell
Можно сделать структуру, которая гарантирует определенные свойства, она более безопасна будет, но как правило более тормозная
источник

AV

Alexander Vershilov in Haskell
Или сильно более сложная в реализации
источник

YR

Yuki Rito in Haskell
у меня начальник после неуспешного пропихивания LiquidHaskell начинает подкаты с Идрисом. С coq-ом тоже не прошло, мда :) Вот я как прагматичный программер не понимаю зачем бы я хотел прувать код
источник

к

кана in Haskell
так, ладно, я свой поинт высказал, просто список никаких гарантий не дает

список с какими-то функциями может давать гарантии, но мы не можем быть уверены в этом, потому что кто-то мог и другую функцию вызвать, не из этого списка функций

дерево с какими-то функциями может давать гарантии и еще и давать эффективность

номинальный тип для сета облегчит чтение, мы можем быть уверены, что этот сет это именно сет, а не какой-то список составленный хз кем

можем быть уверены пока верим что либа реализована коррентно
источник

к

кана in Haskell
точно так же как можем быть уверены в пруфе на идрисе, пока верим что тайпчек идриса реализован корректно
источник

JS

Jerzy Syrowiecki in Haskell
Yuki Rito
у меня начальник после неуспешного пропихивания LiquidHaskell начинает подкаты с Идрисом. С coq-ом тоже не прошло, мда :) Вот я как прагматичный программер не понимаю зачем бы я хотел прувать код
ну вот пишешь ты маленький стартапчик, а инвестор спрашивает: как проверить, что за все оказанные услуги взяты деньги?
источник

YR

Yuki Rito in Haskell
тест-план. QA отдел. Идрис их не аннулирует никогда. А если они есть, зачем он нужен? :) И потом, инвестор понимает что такое начальник QA отдела - его прув весомее прува какого-то Идриса, о котором инвестор не слыхивал. А QA будет тестить, а не прувать. Двойная работа ИМХО.
источник

к

кана in Haskell
QA теоретически может и прувать, а не тестить
источник

YR

Yuki Rito in Haskell
а уж мне как программисту еще менее выгодно прувать, если у меня много багов - это хорошо, мне за их фиксинг будут платить. Я уже проходил такое, когда у тебя все перфектно и твой проект закрывают, а вас реорганизируют. Лучше уж пусть будут баги, а я буду нужен и получать ЗП по коммитам :)
источник

к

кана in Haskell
на написание проекта с багами, а потом фикс всех багов может уйти меньше времени, чем на написание проекта с прувами, значит и денег будет меньше)
источник

YR

Yuki Rito in Haskell
кана
QA теоретически может и прувать, а не тестить
вообще говорят, есть такая должность - прув инженер или типа того.
источник

AA

A64m AL256m qn<co... in Haskell
кана
как типа так и функций
определением типа не гарантирует, определением функций гарантирует или нет, зависит от того, можно ли считать что когерентность инстансов гарантирована
источник

R

Roman in Haskell
A64m AL256m qn I0
может про что-то забыл, но скорее лишнего притянул за уши
2008 vector* (ио так и не появилось)
2009 iteratee
2010 enumerator
2011 conduit
2012 pipes, machines
2013 io-streams, foldl* (ио в turtle в 2016)
2014
2015 streaming
2016 turtle Bytes
2017 streamly
есть еще potoki
источник

A

Aleksandr Khristenko in Haskell
Иронично, на https://hackage.haskell.org/package/haddock-api совсем нет доков
источник
2020 December 06

VS

Vadim Shadrin in Haskell
Доброго здоровья всем!
источник