Vasiliy
25.09.2017
08:34:20
тут ограничение, которое накладывается на f, оно по сути пользователя ограничивает: если твой f только функтор, то тебе доступны только линзы, если оно ещё и аппликатив, то ты можешь использовать и линзы, и траверсалы
kana
25.09.2017
08:36:19
Ну собственно я про это же, там же сказано, что линза автоматом и траверс, потому что функтор - суперкласс аппликатива
Vasiliy
25.09.2017
08:36:51
по-умному, наверное, можно сказать что-то про то, что f стоит в контравариантной позиции, поэтому для подтипов f оно становится супертипом в самой линзе
kana
25.09.2017
08:42:55
Не понимаю. Ну, понимаю, что первый f в отрицательной позиции, но не понимаю, как из этого следуют вещи про тайпклассы. Если бы Identity и Const не были бы аппликативами, а только функторами, то мы бы могли сделать линзу, но траверсом это бы не стало
Google
Denis
25.09.2017
08:43:34
kana
25.09.2017
08:44:11
Тем не менее в посте выше сказано, что любая линза - автоматически траверс
Vasiliy
25.09.2017
08:45:03
линзе от f нужно меньше, чем траверсалу
illiatshurotshka❄️
25.09.2017
08:45:16
в скале просто написал функцию которая создаёт траверсал
Yuriy
25.09.2017
08:45:58
в положительной позиции — чем меньше требование, тем легче его удовлетворить
в отрицательной позиции — чем больше требование, тем легче оно удовлетворяет другие требования
Denis
25.09.2017
08:46:23
illiatshurotshka❄️
25.09.2017
08:46:59
в хаскеле с ТХ вообще лезть не хочется
Alexander
25.09.2017
08:48:14
@xgrommx там же с plated решение было вроде простое
Yuriy
25.09.2017
08:48:23
Denis
25.09.2017
08:48:52
illiatshurotshka❄️
25.09.2017
08:49:30
темплейт хаскаль
Google
Denis
25.09.2017
08:50:26
kana
25.09.2017
08:51:14
Окей, я еще очень тупой и все еще не понимаю, как каждый функтор станет аппликативом
Alexander
25.09.2017
08:51:52
смотрм
линза требует чтобы функция имела констрейнт Functor так?
траверсабл требует, чтобы у функции был констрейнт Applicative, так?
а не, неверно говорю
type Traversal' a b =
forall f . Applicative f =>
(b -> f b) -> (a -> f a)
тут тип f задает caller?
adam
25.09.2017
08:53:31
Alexander
25.09.2017
08:53:38
он может задать только такой f, который Applicative
как следствие этот же f автоматически будет и Functor
т.е. как следствие будет подходить для любой линзы
type Lens' a b =
forall f . Functor f =>
(b -> f b) -> (a -> f a)
я опять все перепутал похоже и с больной головой надо спать, а не в чяте сидеть
Denis
25.09.2017
08:56:02
@qnikst как решить то с Plate?
Alexander
25.09.2017
08:56:11
у клапауция спроси
он это n раз писал
я не линзогуру
kana
25.09.2017
08:58:18
Нужно мне эти линзы самому написать, без этого не разобраться. Мысль летает, но не щелкает
Denis
25.09.2017
08:59:04
Google
Denis
25.09.2017
09:00:23
Vasiliy
25.09.2017
09:18:05
Alexander
25.09.2017
09:18:50
@lightgreen (только он куда-то опять переименовался)
поищи по Artyom в списке участников чата, если он не вышел
Denis
25.09.2017
09:19:09
Alexander
25.09.2017
09:20:58
похоже или переименовался так что не узнать или из чятика вышел
Dmitry я наверное снимаю pinned message наверху, все равно никто уже не отвечает; как сайт обновите пните, я туда объявление про fby (а заодно и мск-шную конфу добавлю)
Dmitry
25.09.2017
09:25:11
Да, спасибо!
Vasiliy
25.09.2017
09:25:38
ресурс действительно очень годный, я, правда, на третьей статье уже сдался, до профункторов не дошёл...
Alexander
25.09.2017
09:28:18
NICTA lens тоже ничо так
там как раз задачи на переизобретение линз
причем сначала более простых версий
правда тут как с МОНАДАМИ
пока практического опыта использования нормальных линз не набрать, даже при понимании теории есть сложности
я так и не набрал, не считая всякой неинтересной тривиальщины
Denis
25.09.2017
09:38:41
Alexander
25.09.2017
09:39:01
https://github.com/data61/lets-lens
Leonid
25.09.2017
15:55:02
или забанят
Ilya
25.09.2017
15:56:35
>Приз: токены LAT
Это что ещё за фантики?:) В рублях то сколько?
? animufag ?
25.09.2017
15:57:06
самое заманчивое здесь это конечно же божественные токены LAT
Google
Kirill
25.09.2017
17:26:25
Есть у кого-нибудь годные текстовые ресурсы по теориям типов, доказательств, лямбда исчислению, HoTT?
P.S. Желательно понятным для нематематика языком и с примерами использования в реальном мире, например, как у Милевского по теоркату
Alexander
25.09.2017
17:52:59
Типы в языках программирования. Пирса уже прочитаны?
Kirill
25.09.2017
17:54:05
Нет, спасибо, почитаю
Alexander
25.09.2017
17:54:34
наверное must read книга
потом уже к всяким HoTT идти
Kirill
25.09.2017
17:56:11
Да я в целом очертил, то во что хочу въехать, так что порядок изучения мне тоже интересно узнать
Anton
25.09.2017
18:07:07
Software Foundations (типа TaPL, но не вся) - можно въехать в компьютерные доказательства, очень доходчиво написано, главный автор тот же B.C. Pierce (книга бесплатная).
Type-Driven Development with Idris by E. Brady- отличная книга с упором на зависимые типы
Alexander
25.09.2017
18:12:14
надо кстати software foundations почитать
Dmitry
25.09.2017
18:13:57
А лучше начинать с практики (хаскель) или с теории (тапл, CT)? Я пока параллельно читаю
Alex
25.09.2017
18:15:53
SF надо не сколько читать сколько писать :)
Alexander
25.09.2017
18:16:08
ну и TaPL писать надо
без этого не так много толку
Dmitry
25.09.2017
18:19:01
Ну у меня сейчас haskell programming параллельно с category theory от awodey
Alexander
25.09.2017
18:19:46
ну на haskell можно писать без CT вообще
и уйти достаточно далеко
потом появятся зайчатки знаний по СТ все равно
причем достаточные чтобы кметтолибы читать (возможно)
Anton
25.09.2017
18:29:20
Alexander
25.09.2017
18:31:31
ну что ж за жизнь ещё и по sequential calculus кучу ресурсов читать
Denis
25.09.2017
18:39:38
о боги! в SF Coq
Google
Anton
25.09.2017
18:44:30
Там прикольный коммент к вопросу: "Learning Category Theory to become better in Haskell" is a bit like "Learning physics to become better in tennis"
Alexander
25.09.2017
18:47:38
вот да
Tshiva
25.09.2017
19:34:31
Всем привет
Yuriy
25.09.2017
19:41:11
кто-то из великих говорил, что изучать ТК, чтобы понимать Хаскелл — это как учить испанский, чтобы понимать буррито
Serghei
25.09.2017
19:41:14
Привет
ну ты сравнил конечно
хаскел с бурито
Donat
25.09.2017
19:47:47
это не тот который говорил что монады как бурито?
Anton
25.09.2017
19:53:07
Alexander
25.09.2017
19:58:35
ну тогда аналогия логична
ксть те кто знают ТК, но не понимают Haskell
Sergey
25.09.2017
19:59:11
what is TK?
Anton
25.09.2017
20:00:02
Sergey
25.09.2017
20:02:19
Never mind, I hadn't became to know about this better =)