Size: a a a

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

2019 June 27

AK

Anton Komissarov in Elm Lang сообщество разработчиков
так как пока это нереально, справляемся как можем
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Вроде была либа, которая позволяла таскать вместе со словарём функцию "внешний ключ -> внутренний ключ". Тем самым можно было получить словари с произвольными типами ключей. Можно подумать, вдруг такое прокатит
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
было что-то в explorations
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А так неплохо хотя-бы для деконструкции иметь функцию Cart -> { selected, dict }, которая просто разберёт на составляющие. Не получится сделать настоящий Pattern Matching, но хоть что-то
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Такая деконструкция лучше, чем ворох геттеров
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
хм, может быть
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
пока не была нужды
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
но буду иметь ввиду
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
В своём коде обычно всё рядом. Но печально, когда такое делают в либах — автор либы не всегда может представить все кейсы, которые может захотеть пользователь
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Скажем, есть у меня
type RGB = RGB Float Float Float
и каждый Float должен быть в диапазоне 0.0..1.0.

Я хочу скрыть конструктор и давать создавать цвета через
rgb :: Float -> Float -> Float -> Maybe RGB

Так вот лучше иметь
unRGB -> RGB -> { red : Float, green : Float, blue : Float }
чем отдельные
rgbRed : RGB -> Float
rgbBlue ...
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Потому что отдельный геттер отлично композится через .red << unRGB, а если геттера три, то собирать во что-то большое будет уже неудобно. И за раз все компоненты не сматчишь.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
(правда рекорды в Elm всё равно нельзя матчить...)
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
вы небось фанат Эликсира?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Я-то (лучше на "ты")? Не, я хаскелист же
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
В хаскеле можно кстомные ключи иметь в словариках :)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
А Эликсир слишком динамически типизирован для меня. Я статику люблю
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
понятненько
источник

RT

Roman Truschev in Elm Lang сообщество разработчиков
Алексей, ну вот в таком примере с rgb ты как создатель либы потенциальной выставишь наружу rgb конструктор?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Я бы выставил. Потому что тип всё равно слабый, и на потребляющей стороне надо бы проверять.
источник

RT

Roman Truschev in Elm Lang сообщество разработчиков
Ну по мне скользкий вопрос. Наверно единого мнения тут не будет. Просто риски оценивать как то субъективно.
источник