Size: a a a

2018 June 14

к

кана in TypeScript
у нас есть моноид (Type, |, empty)
то есть мы можем суммировать любые типы, empty/never - нейтральный элемент (то есть x | empty = x = empty | x)
у нас есть дуальный моноид (Type, Pair, void)
мы можем перемножать (делать кортежи) любых типов, при этом [x, void] = x = [void, x]

есть дистрибутивность:
[(a | b), c] = [a, c] | [b, c]

есть закон закон пересечения моноидов:
x * empty = empty = empty * x

все это можно понять, если заменить операции и значения на привычные тебе:
| = +
[,] = *
empty = 0
void = 1
источник

🦉⁣

🦉 ⁣ in TypeScript
и какой толк описывать функцию которую невозможно вызвать?
источник

к

кана in TypeScript
🦉 ⁣
и какой толк описывать функцию которую невозможно вызвать?
пример - редьюсер, когда нет экшонов
источник

🦉⁣

🦉 ⁣ in TypeScript
кана
пример - редьюсер, когда нет экшонов
смысл от такого редюсера?
источник

к

кана in TypeScript
а описать-то его нужно например, или передать, или еще для чего
источник

🦉⁣

🦉 ⁣ in TypeScript
кана
у нас есть моноид (Type, |, empty)
то есть мы можем суммировать любые типы, empty/never - нейтральный элемент (то есть x | empty = x = empty | x)
у нас есть дуальный моноид (Type, Pair, void)
мы можем перемножать (делать кортежи) любых типов, при этом [x, void] = x = [void, x]

есть дистрибутивность:
[(a | b), c] = [a, c] | [b, c]

есть закон закон пересечения моноидов:
x * empty = empty = empty * x

все это можно понять, если заменить операции и значения на привычные тебе:
| = +
[,] = *
empty = 0
void = 1
но пользу empty я так и не понял
конкретно из этого текста
источник

к

кана in TypeScript
в элме такие кейсы возникают например когда нужно в рендере сделать верстку, которая никогда не вызовет экшонов (Html Never)
источник

к

кана in TypeScript
или промис который никогда не упадет (и мы об этом знаем статически) (если бы мы типизировали обе ветки)
источник

к

кана in TypeScript
Promise<empty, x>
источник

к

кана in TypeScript
empty кажется бессмысленным точно так же, как id кажется бессмысленной функцией
источник

AK

Aleh Kashnikau in TypeScript
🦉 ⁣
и какой толк описывать функцию которую невозможно вызвать?
ее возможно вызвать, она никогда ничего не вернет
источник

к

кана in TypeScript
а используется id довольно часто
источник

🦉⁣

🦉 ⁣ in TypeScript
Aleh Kashnikau
ее возможно вызвать, она никогда ничего не вернет
function foo(a: never) {}
источник

AK

Aleh Kashnikau in TypeScript
а, это absurd называется да)
источник

G

GG in TypeScript
откуда начинать читать?)
источник

к

кана in TypeScript
ну не конкетно такая
источник

к

кана in TypeScript
абсурд это когда еще возвращаем любой тип
источник

🦉⁣

🦉 ⁣ in TypeScript
GG
откуда начинать читать?)
источник

к

кана in TypeScript
function absurd<T>(x: never): T {
 throw "absurd";
}
источник

🦉⁣

🦉 ⁣ in TypeScript
кана
абсурд это когда еще возвращаем любой тип
но в итоге, мы не можешь протипизировать весь жс
источник