Size: a a a

2019 February 13

(

( in pro.elixir
Eugene Vasiliev
слышал разок как её на митапе бичкрафтом назвали
Мама я в телевизоре
источник

PS

Petr Stepchenko in pro.elixir
Anton Evdokimov
а кому-нибудь приходило оповещение, кто был подписан на elixir-lang.moscow? вроде подписался, но оповещение не приходило(вопрос тогда - нахуя подписывался?)
анонса еще не было, может придет
источник

SS

Salem Saberhagen in pro.elixir
Alex Bubnov
это тоже "функциональный стиль"
это же наоборот хорошо я считаю , комунити развивается что то новое появляется
источник

SS

Salem Saberhagen in pro.elixir
и в таком духе
источник

AB

Alex Bubnov in pro.elixir
Salem Saberhagen
это же наоборот хорошо я считаю , комунити развивается что то новое появляется
Новое новому рознь. Если хочется нового, можно попробовать реализовать мультиметоды или протоколы для рекордов. А переписать без адаптации стдлиб хаскела - это фигня какая-то
источник

(

( in pro.elixir
Alex Bubnov
я до сих пор не понимаю, зачем наворачивать io-монаду в энергичном языке, еще и такой ценой
Шоб без исключений писать
источник

(

( in pro.elixir
Конкретно Arrow - вообще не самая удачная штука, но без монад тяжко красивую бизнес-логику пилить
источник

AB

Alex Bubnov in pro.elixir
(
Конкретно Arrow - вообще не самая удачная штука, но без монад тяжко красивую бизнес-логику пилить
У тебя "красиво" и "бизнес-логика" в одном предложении, это почти как деление на ноль
источник

AB

Alex Bubnov in pro.elixir
Бизнес-логика это беспорядочное нагромождение частных случаев и костылей, какое там красиво
источник

(

( in pro.elixir
Вы её наверное как-то неправильно делаете
источник

AB

Alex Bubnov in pro.elixir
Её нужно писать предельно тупо, читабельно, быстро и изолированно. С низким порогом вхождения. Без добавленной сложности.
источник

(

( in pro.elixir
Ну, у меня лично вся бизнес-логика - это либо Either<DomainError, ResultType>, либо ResultType, в зависимости от контекста
источник

(

( in pro.elixir
А, а Either не эрроувский, самописный
источник

AB

Alex Bubnov in pro.elixir
(
Ну, у меня лично вся бизнес-логика - это либо Either<DomainError, ResultType>, либо ResultType, в зависимости от контекста
о, это интересно. а как там организовать аналог with/do без исключений внутри?
источник

(

( in pro.elixir
Alex Bubnov
о, это интересно. а как там организовать аналог with/do без исключений внутри?
Ну, без исключений кстати не получится, многие инструменты их кидают, типа JPA или чего-то такого. В Эрроу для этого есть ForEither, я себе написал топ-левел функцию retrieve(() -> R): Either<Exception, R>. Если внутри передаваемой лямбды кинется исключение, то её исполнение сразу завершится и вернётся Left(Exception), потом можно в DomainError смаппить
источник

(

( in pro.elixir
Если лямбда нормально отработает и вернёт R, то вернётся Right(R)
источник

AB

Alexey Bolshakov in pro.elixir
(
Конкретно Arrow - вообще не самая удачная штука, но без монад тяжко красивую бизнес-логику пилить
а можно какой-то прибер бизнес логики, то, как оно не красиво у всех, но получается красиво с монадами?
источник

AB

Alex Bubnov in pro.elixir
(
Ну, без исключений кстати не получится, многие инструменты их кидают, типа JPA или чего-то такого. В Эрроу для этого есть ForEither, я себе написал топ-левел функцию retrieve(() -> R): Either<Exception, R>. Если внутри передаваемой лямбды кинется исключение, то её исполнение сразу завершится и вернётся Left(Exception), потом можно в DomainError смаппить
не, меня именно аналог with/do интересует. то есть, как выглядит монадическое связывание, чтобы при a; b не выполнилось b, если сфейлилось a.
источник

AB

Alex Bubnov in pro.elixir
в своем коде
источник

(

( in pro.elixir
Я не помню, честно говоря
источник