Size: a a a

Elm Lang сообщество разработчиков

2018 March 14

AK

Anton Kotenko in Elm Lang сообщество разработчиков
А, тогда жаль. Не смогу отвечать на претензии, не видя самих претензий.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Нет чтобы на публике Эльм не любить, так нет секретничают
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Потому что знают что мы за Эльм в ответе. И боятся!
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
кана
Ну так же можно про любые абстракции писать.

Ну окей, попытаюсь - Generic для генерации декодеров/енкодеров

Линзы для вложенных обновлений
Линзы, написанные вручную, читаются лучше кмк. Это вкусовщина, а не концепиуальное ограничение.
про дженерики не понял. они есть, что же ещё нужно?
источник

к

кана in Elm Lang сообщество разработчиков
Pawel Filimonenkow
Линзы, написанные вручную, читаются лучше кмк. Это вкусовщина, а не концепиуальное ограничение.
про дженерики не понял. они есть, что же ещё нужно?
не генерики, речь про обобщенное программирование зная в рантайме структуру типов (рефлексия в какой-то мере)

через это в хаскеле/пурсе, например, те же энкодеры и декодеры и генерируются
источник

к

кана in Elm Lang сообщество разработчиков
Pawel Filimonenkow
Линзы, написанные вручную, читаются лучше кмк. Это вкусовщина, а не концепиуальное ограничение.
про дженерики не понял. они есть, что же ещё нужно?
как они могут читаться лучше, код же точно такой же, только их нужно еще вручную определять, очень-очень много одинакового кода, настолько много что их попросту не использовал

тут правда все равно без кодогенерации не обойтись, иначе придется добавлять еще какие тайпл-левел метки и type application
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
кана
не генерики, речь про обобщенное программирование зная в рантайме структуру типов (рефлексия в какой-то мере)

через это в хаскеле/пурсе, например, те же энкодеры и декодеры и генерируются
рефлексия же утяжеляет рантайм очень сильно и создат дыры в безопасности - зогчем? если чисто для энкодеров/декодоров, то я бы лично не стал эту фичу использовать - я уже давно приловчился кодогенерировать их из жсон-а с сервера с помощью json-to-elm, а не писать вручную.
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
кана
как они могут читаться лучше, код же точно такой же, только их нужно еще вручную определять, очень-очень много одинакового кода, настолько много что их попросту не использовал

тут правда все равно без кодогенерации не обойтись, иначе придется добавлять еще какие тайпл-левел метки и type application
если давать им осмысленные имена, то для чтения и вызывающего кода никаких проблем - такой бойлерпоейт попросту не замечаешь.
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
а кто следит за дискорсом ельмовским? там вобще часто бывает что-то заслуживающее внимания от Эвана?
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
@bardt от Эвана не часто
источник

AK

Andrey Koppel in Elm Lang сообщество разработчиков
источник

PM

Petr Myazin in Elm Lang сообщество разработчиков
Pawel Filimonenkow
Линзы, написанные вручную, читаются лучше кмк. Это вкусовщина, а не концепиуальное ограничение.
про дженерики не понял. они есть, что же ещё нужно?
Я слышал такой совет: если вам нужно менять значения где-то в глубине структуры данных, значит у вас что-то не так с архитектурой. Менять нужно только то, что на первом уровне вложенности. Следовательно, линзы не нужны. Что думаете, дельный совет или нет?
источник

QZ

Quet Zal in Elm Lang сообщество разработчиков
ну в элме просто не завезли удобных механизмов для апдейта структур
источник

QZ

Quet Zal in Elm Lang сообщество разработчиков
так что да, стараться плоско делать и это не от хорошей жизни
источник

PM

Petr Myazin in Elm Lang сообщество разработчиков
Тут как бы обратный посыл: правильно и хорошо - это плоско, а значит и механизмы «глубокого обновления» не нужны
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
Petr Myazin
Я слышал такой совет: если вам нужно менять значения где-то в глубине структуры данных, значит у вас что-то не так с архитектурой. Менять нужно только то, что на первом уровне вложенности. Следовательно, линзы не нужны. Что думаете, дельный совет или нет?
насколько я помню там в оригинале шла речь о том, что архитектурной ошибкой будет большое количество таких выпуклых структур данных, а не единичные случаи - это да. Я для себя выработал критерий, что если подобных вручную написанных линз больше чем  5 - 6 на модуль, то стоит задуматься о рефакторинге
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
вообще я хочу сказать - всё это фигня не стоящая внимания, а не какая то там концептуальная проблема языка. выпуклые или плоские рекорды - вкусовщина же. А что автор языка навязывает программистам опрелённый подход, ограничивая возможности говнокодить, так это очень даже гут. а недовольные в любом случае будут
источник

rq

r q in Elm Lang сообщество разработчиков
глубокое обновление иммутабельных структур это не "вкусовщина"
источник

rq

r q in Elm Lang сообщество разработчиков
если у тебя пабсаб, обсерверы etc, можешь делать что угодно, там другие практики
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
в таком случае создай ишшуй, в которм опиши проблему по всем правилам - с примерами из практики.
а при чём здесь пабсаб ?
источник