Size: a a a

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

2020 November 02

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
a = Just 42
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это что? Просто Just Int? Или Maybe? Или ещё какой юнион с Just примешанным?
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
это джаст инт, но так как в тс структурная типизация ты можешь слать это значение туда где ожидается мэйби
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
и ты можешь сделать так
const a: Maybe<number> = {tag: 'Just', value: 1}
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
А я не хочу, чтобы это значение можно было использовать нигде кроме Maybe!
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Это нельзя выразить
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
И вывести тип Maybe из Just нельзя. Потому что структурная типизация так не работает
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
ну тем не менее это уже реализовано таким вот образом
источник

GP

Gleb Patsiia in Elm Lang сообщество разработчиков
Если только наследование сделать
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
и тот же fp-ts целиком на этом построен
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Gleb Patsiia
Если только наследование сделать
И поиметь проблемы с вариантностью?
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
ну кстати можно просто не экспортить конкретные варианты а только целый тип
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
будет опакью
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
и нигда не будет джаст что-то
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Denis Krivosheev
ну тем не менее это уже реализовано таким вот образом
Я с чего начал: в TS нет размеченных сумм. Ты пытался меня убедить, что есть аналог. Но нет, я прав оказался :)
Про то, что есть в TS, я знаю — знаком со структурной типизацией
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
можно даже конструкроты сделать just(15)
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Denis Krivosheev
будет опакью
Без exhaustiveness analysis?
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
есть анализ но сделан странно
источник

AP

Aleksei (astynax) Pi... in Elm Lang сообщество разработчиков
Как и многое другое :)
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
да
источник