Size: a a a

2021 February 17

к

кана in Haskell
тогда сигнатуры будут меняться конечно
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
но немного похоже на преждевременную оптимизацию, ибо мы же "на всякий случай" оборачиваем - и тут вопрос - можно ли заранее вот так "универсально" обернуть все, но чтобы 1 раз и больше не требовалось расширять?

и наверное да, но тогда это максимально неконкретный контекст будет "сабсет интересующего состояния мира на момент Х", а это же и есть IO. и вот тут уже стало больно 🙂
источник

KV

Kirill Valyavin in Haskell
Да просто везде прокидывать сразу Map ByteString ByteString и нормально
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
вот как надо троллить, да. но грустно
источник

AA

A64m AL256m qn<co... in Haskell
по моему, хаскелисты больше озабочены тем чтоб еще придумать чтоб сигнатуры ломались больше, когда чет меняется, чем тем как меньше
источник

VD

Velvet Darkness in Haskell
А какая там следующая "клевая штука" после завтипов?
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
но вот этот момент - сразу же знаешь, что этот флаг потом уйдет
источник

VD

Velvet Darkness in Haskell
Vlad 0xd728c4a7cd55d8db
но вот этот момент - сразу же знаешь, что этот флаг потом уйдет
По-моему ты преувеличиваешь кол-во строк, которые надо будет поменять из-за смены сигнатур 🤔
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
чтобы не летать в абстракциях 2 придуманых, но имо реальных примера
1) процент выкатки (и давайте забудем что есть куберы и балансировщики) - т.е. плавно наращиваем процент выкатки сетя что-то скажем в редис
2) а/б тест, который проводит аналитик и хочет в онлайне включать и выключать флоу для конкретных тенантов
не сильно надумано? - это все к тому, что читать хочется именно в рантайме, не рестартовать с 12 factor env
источник

KV

Kirill Valyavin in Haskell
Velvet Darkness
А какая там следующая "клевая штука" после завтипов?
Линейные зависимые гомотопические
источник

KV

Kirill Valyavin in Haskell
Vlad 0xd728c4a7cd55d8db
чтобы не летать в абстракциях 2 придуманых, но имо реальных примера
1) процент выкатки (и давайте забудем что есть куберы и балансировщики) - т.е. плавно наращиваем процент выкатки сетя что-то скажем в редис
2) а/б тест, который проводит аналитик и хочет в онлайне включать и выключать флоу для конкретных тенантов
не сильно надумано? - это все к тому, что читать хочется именно в рантайме, не рестартовать с 12 factor env
Если нужны глобальные мутабельные переменные, то надо делать глобальные мутабельные переменные, щито поделать
Можно ограничить интерфейс только на чтение релевантных переменных в отдельных кусках
источник

IK

Ivan Kretov in Haskell
Здравствуйте! Скажите, как дать определение ключу в persistent, чтобы он выдавал не Int64 а Int8? Я сейчас имею в виду Yesod persistent
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
A64m AL256m qn I0
по моему, хаскелисты больше озабочены тем чтоб еще придумать чтоб сигнатуры ломались больше, когда чет меняется, чем тем как меньше
Добро и зло: точные, но хрупкие сингатуры
Анонимный опрос
33%
есть прод, добро
28%
есть прод, зло
28%
нет прода, добро
11%
нет прода, зло
Проголосовало: 18
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
а ведь это серьезнее чем показалось на первый взгляд, наверное стоит опроса?
1) есть прод на хаскеле, хочу чтобы сигнатуры были точными но хрупкими
2) есть прод на хаскеле, не хочу на каждый чих править много
3) умозрительно первое, но пока прода нет
4) умозрительно второе, но пока прода нет
источник

AP

Aleksei (astynax) Pi... in Haskell
"Щас бы сигнатуры ломать ежечасно, но прод стоит"
источник

A

Andrey in Haskell
не понял вопроса или точнее посыла.. хрупкие - это что значит?
источник

NI

Nick Ivanych in Haskell
Aleksei (astynax) Pirogov
"Щас бы сигнатуры ломать ежечасно, но прод стоит"
- Шариков, от чего от вас такой запах?
- А мы вчера сигнатуры ломали-ломали, ломали-ломали...
источник

VD

Velvet Darkness in Haskell
Если сигнатуры прям ломаются, то они недостаточно generic
источник

V0

Vlad 0xd728c4a7cd55d... in Haskell
Andrey
не понял вопроса или точнее посыла.. хрупкие - это что значит?
из контекста выше - если надо добавить feature flag который IO в рантайме на несколько дней - нормально добавить IO по всему тракту где до этого были чистые fn, а потом удалить
источник

A

Andrey in Haskell
it depends

например, в некоторых проектах не используется такой подход с Has классами типов (если я верно понимаю, то оттуда уже произрастают вариации в сторону mtl, фримонад, систем эффектов, ...), а вместо этого — Handle Pattern, в котором сервисы со своими контекстами явно передаются в качестве аргументов функций, и ничего, брат жив..
источник