@haskellru

Страница 433 из 1551
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
kana
25.09.2017
08:44:11
Тем не менее в посте выше сказано, что любая линза - автоматически траверс

Vasiliy
25.09.2017
08:45:03
линзе от f нужно меньше, чем траверсалу

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
@xgrommx там же с plated решение было вроде простое
пример? я пробовал Plate но не понял как проще

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
в хаскеле с ТХ вообще лезть не хочется
Лучше ещё какой-нибудь лифт*н/curry/фолд*н запилить под каждый аргумент делая асимметричную пирамидку

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
Нужно мне эти линзы самому написать, без этого не разобраться. Мысль летает, но не щелкает

Google
Vasiliy
25.09.2017
09:18:05
https://artyom.me/#lens-over-tea
это твоя что ли статья?

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
надо кстати software foundations почитать
а там еще и 3-й том от Аппеля зарелизился недавно!

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
ну на haskell можно писать без CT вообще
вспомнился вот этот вопрос: https://cs.stackexchange.com/questions/3028/is-category-theory-useful-for-learning-functional-programming

Там прикольный коммент к вопросу: "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
what is TK?
what is CT? тогда ?

Sergey
25.09.2017
20:02:19
Never mind, I hadn't became to know about this better =)

Страница 433 из 1551