
Alexander
30.03.2018
12:57:13
хотя тайпчекер не всегда помогает

Denis
30.03.2018
12:58:19
без тайпчекера вообще неюзабельно

Alexander
30.03.2018
13:00:40
@A64m_qb0 ещё помощь нужна
name = gen ^. nameL . to(Right . RefName) . non(Left "Name not present") nameL линза в Maybe Text

Google

Alexander
30.03.2018
13:01:24
тут точно to надо, чтобы применилось для just только?

A64m
30.03.2018
13:02:42
а там на выходе-то перед non Maybe будет?
я бы вообще не советовал все эти линзы с мейбями использовать, а лучше призмы - траверсалы

Andrei
30.03.2018
13:03:13

Alexander
30.03.2018
13:03:21
то не взлетело, пробую ещё раз
а не это я дурак

Rigidus
30.03.2018
13:04:34

A64m
30.03.2018
13:04:42
и призмы _MetadataInt и _MetadataText
там что с этим всем делать-то надо?

Alexander
30.03.2018
13:06:31
а. сделать линзу/траверсал wtf, который позволяет записать/прочитать определенный ключ из Map
name :: Either Text Text$
name = gen ^? nameL . to(Right) ^. non(Left "Name not present")
Couldn't match type ‘Text’ with ‘Maybe Text’

A64m
30.03.2018
13:07:23
для ньютайп обертки Iso же сгенерировано?

Google

Alexander
30.03.2018
13:08:38
вот в куске выше newtype-ов нету

Aleksey
30.03.2018
13:10:12

A64m
30.03.2018
13:11:02
если namel линза в мейби? тогда уж ^? nameL . _Just . to Right ^. non (Left "!") или что-то вроде

Andrei
30.03.2018
13:11:11

Alexander
30.03.2018
13:12:15
name = gen ^. nameL . to(fmap Right) . non(Left "Name not present") так взлетело
сейчас _Just вместо fmap запилю

A64m
30.03.2018
13:13:34
но из-за to это не линза
а только геттер

Alexander
30.03.2018
13:13:58
тут покатит
щас, у меня большой ворпос про то как nameL написать

Leonid
30.03.2018
13:14:23

Alexander
30.03.2018
13:14:23

A64m
30.03.2018
13:16:00
ну и мне разонравился такой подход с non, мне теперь больше нравится второй вариант c matching где отдельно получение значения, а отдельно превращение "несматчившегося" значения в сообщение об ошибке в Left

Alexander
30.03.2018
13:16:46
у меня nameL :: Metadata -> Maybe Text
ой
блин
Lens Matadata (Maybe Text)
смотрит в мапу в определенный ключ

A64m
30.03.2018
13:18:17
а не лучше ли делать не линзу? а _Metadata . _ix "key" . _MetadataText

Google

Alexander
30.03.2018
13:18:48
кусок класса типов
другие могут переопределить
для других типов по другому работать может, так то да, приятнее выглядит

A64m
30.03.2018
13:19:49
соотв. matching (_Metadata . _ix "key" . _MetadataText) mmap & _Left %~ функцияПреобразующаяНеправильныйМапВСообщОбОшибке

Alexander
30.03.2018
13:20:19
так я что matching делает?

A64m
30.03.2018
13:21:05
пробует призму, если все получилось - Right ответ если не получилось Left тоКЧемуПрикладывалиПризму

Alexander
30.03.2018
13:21:34
сложно
так думаю

A64m
30.03.2018
13:22:41
ну такой prismToEither, только вместо задаваемого значения по умолчанию для ошибки дает все что нужно чтоб диагностику ошибки произвести, т.е. разбираемое дерево
те. парсим число вместо Right n или Left "бабах!" будет Right n или Left "не число, не распарсится"
в прочем, возможно есть какой-то изящий подход с запихиванием в Right посреди конвейера, только я тупанул и его не вспомнил
также может ix "key" не сработает а надо at "key" . _Just

Alexander
30.03.2018
13:28:17
опа мне на лекцию @bravit111 надо полчаса назад выходить
ага понял
пасиб

Vitaly
30.03.2018
13:29:07

A64m
30.03.2018
13:29:24
в другом городе

Alexander
30.03.2018
13:29:32
1.5 часа ехать
т.е. на самом деле вот щас выходить

Leonid
30.03.2018
13:34:11
ага, в 18:00 за 1.5 часа. нуну

Google

Vyacheslav
30.03.2018
13:35:49
опа
а лекция уже сегодня что ли
я думал завтра?
или это какая-то другая лекция

Denis
30.03.2018
13:37:53
а завтра трансляция будет?

Alexander
30.03.2018
13:40:07
биокаде

Leonid
30.03.2018
13:41:07
3 вечера с @bravit111 !

Alexander
30.03.2018
13:41:54
мне тут дома сказали что Брагилевский круче меня, т.к. меня 3 вечера читать лекции не приглашают

Leonid
30.03.2018
13:43:01
верно сказали

Vyacheslav
30.03.2018
13:43:53
а есть какая-то ссылка?
на то что сегодня

A64m
30.03.2018
13:47:13
а сколько часов по устройству ghc?

Ignat
30.03.2018
13:48:37

Vyacheslav
30.03.2018
13:49:30
о, так это ж рядом со мной

Alexander
30.03.2018
13:49:52
почему в маршрутках ещё не придумали телепорт

Yuriy
30.03.2018
13:50:28

Vitaly
30.03.2018
13:51:26

Denis
30.03.2018
13:52:14

Google

Leonid
30.03.2018
13:54:09
Тут ехать то всего-ничего. Чуть дольше чем из Гатчины.

Kirill
30.03.2018
13:57:12
ты к тому, что Саша в Гатчине лекции будет читать скоро?

A64m
30.03.2018
13:57:18
шесть раз на сапсане

Alexander
30.03.2018
13:58:22
негде тут
в Питере хотя бы места есть где читать можно

Leonid
30.03.2018
14:02:00
@dshevchenko https://twitter.com/domenkozar/status/979713850428846081 всё, Никс побежден?

Kirill
30.03.2018
14:04:23
у меня тож такой вопрос
но вроде это скорей в никсочат, хотя там вроде Дениса нет

Denis
30.03.2018
14:09:11
там снойман пришел и стеком все собрал?

Denis
30.03.2018
14:10:06
Нет, тут дело именно в Домене, это его личное решение уйти.
понятно, что с его уходом мы не перестанем использовать Никс
у нас же есть и другие спецы в Никсе

Alexander
30.03.2018
14:11:09
и Снойман..
который не любит никс
@dshevchenko переходите на nix+bazel

Denis
30.03.2018
14:12:03
Это решаю не я, у нас для этого девопс-команда есть
:-)

Kirill
30.03.2018
14:12:11
@qnikst а вы уже кругом базель пользуете?

Denis
30.03.2018
14:12:22
Кстати, Снойман не с нами

Alexander
30.03.2018
14:12:26
нет
только в паре проектов