parket
Но ведь не каждый морфизм из A в A является единицей
Anonymous
ну да
Alexander
блин билдеров поразвелось : (
parket
Так вот как проверить нейтральность, не зная внутреннюю структуру объекта? Никак?
parket
Мы просто говорим, что единица есть?
parket
Или что ее нет...
Alexander
fromArchive :: Archive -> LBS.ByteString
:/
parket
Всё, я гоню :D Спасибо.
parket
Вопрос действительно в существовании операции. И она должна существать для любого! объекта категории.
Vladislav
Alexander
а как там назывался плагин к vim, vim-golf?
Aragaer
vim-hardtime вроде был
Alexander
@Masteroid ^
Anonymous
Alexander
hardtime вроде не подсказывает чо можно делать?
Alexander
он тупо запрещает jjj kkk?
Aragaer
он запрещает j, если предыдущая была меньше секунды назад
Alexander
или будет пинать, что типа по скобкам так по абзацам так
Ilya
jk тоже нельзя
Anonymous
а как в виме вместо jk
Anonymous
а стоп, это же ничего не делает?
Vladislav
Каким образом удалять пакеты из stack? Ручками удалил, так как uninstall не работает. Но, видимо, где-то пакет разрегестрирован, поэтому выдает ошибку:
Ambiguous interface for ‘Graphics.UI.Gtk’:
it was found in multiple packages: gtk-0.14.7 gtk3-0.14.7
Aragaer
j и k можно, но нельзя много раз
Kirill
есть какой-нибудь оператор для mplus (как <> для mappend)?
Alexander
<|> ?
Alexander
хм.. а есть mplus которые могут иметь другой Alternative?
Alexander
или не иметь
Kirill
спасибо
A64m
Меня так раздражает unsafeRead/unsafeWrite что я почти всегда сам операторы для них определяю
A64m
даже скорее читать, а не писать
Алексей
Да меня и ! радражает
A64m
к этому я привык уже
Anonymous
A64m
Удивительно, сколько всего стрелки заняли, и оператор для mplus <+> и скобки для идиом-брекетов (| |) и вообще сколько труда вложено, аж специальный синтаксис для них сделали, а для аппликативов нет. И почти не используются.
Alexander
о <+>
Alexander
стрелки первыми заняли поляну?
Alexander
Profunctor WTF!
A64m
по-моему, монадплюс раньше появился.
Alexander
но автор не упарывался по операторам?
A64m
да, то что могло быть для профунктор-стронг-чойс полезно всякие +++ ||| &&& *** тоже позанимали
A64m
ну видимо да, вон и для моноида оператор спустя много лет сделали
A64m
хотя есть прецедент отбирания оператора у стрелок - <<< >>>
A64m
да и то не совсем, иерархия-то там одна
Alexander
угу
Alexander
это ж в Category ушло?
A64m
да
Alexander
для стрелок то ничего не поменялось
Alexander
воообще интересно как такая упоротая система так крепко засела
A64m
ну для написания инстансов поменялось
Alexander
впрочем для дураков типа меня они проще чем Profunctor-Strong-Choice
Alexander
и когда я что-то со стрелками писал, то на них у меня получилось значительно быстрее
Alexander
ещё и упоротый синтаксис может быть прозе чем с профункторами
A64m
какую-нибудь используемою иерархию гораздо тяжелее так перестраивать , как в случае моноида-полугруппы, а там раз и поменяли
Alexander
вот со стрелками к этому убогому синтаксису можно привыкнуть
Alexander
а на профункторах я боюсь, что при мало-мальски сложной сети можно будет просто убиться
A64m
да, на стрелочных операторах сети сносно читаются, там есть какая-то интуитивность
Anonymous
а можно в хаскеле запилить тип который является сабсетом какого-либо числового типа?
Anonymous
например unit interval, [0, 1]
A64m
можно, но не просто
Anonymous
и как
Anonymous
с какими нибудь рефайнмент типами вроде просто было бы
A64m
индексировать числами - границами интервала, написать операторы с соотв. типами, один раз проверять интервал при конвертации, работать с соотв. экзистенциальным типом в континьюэйшене потом
Alexander
refiment это в liquid haskell там поидее можно
Alexander
но это отдельно, а так нужно свой тип индексации и т.п
A64m
ну да, лучше это внешним тулом вроде ликвид хаскеля делать
Anonymous
Alexander
с liquid haskell у меня даже пример валяется в блоге, где тип это число <256
Anonymous
интересно было бы чтоб нельзя было создать вообще
Alexander
если индексировать границами интервала, то можно сделать, что нельзя создать кривое
A64m
в смысле?
Alexander
правда там рантайм проверки и все дела наверное будут
A64m
ну при конвертации из другого числа будет рантайм проверка как везде
Alexander
т.к. (5 :: Int [0,256] + 19 :: Int [0,254]) или потребует рантайм проверку или вернёт 24:: Int (0,510]
Alexander
что потребует совсем своего +
Alexander
причем какого-то адского типа class Plus a b c | a b -> c
A64m
да понятно, что все операторы свои писать
Alexander
liquid haskell может больше статически чекнуть
Alexander
а можно как в лиспах