Size: a a a

F# Flood: пописываем для души

2020 April 03

RM

Roman Melnikov in F# Flood: пописываем для души
Vasily Shapenko
Где самоизолируешься?
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Кстати, вот это топчик

https://twitter.com/jdegoes/status/1245305980512067585?s=20
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Тоже так хочу в фшарпе
источник

VS

Vladimir Shchur in F# Flood: пописываем для души
а как это будет выглядеть? что то не оч понимаю
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Vladimir Shchur
а как это будет выглядеть? что то не оч понимаю
def parse(a : String | Uuid): Int =...

parse("..")

parse(Uuid.new)
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
При этом всякие
(string | null) | (int | null) | (double)
Будут правильно схлопываться до (string | int | double | null) и тип (double | null) будет валидным для входа в эту функцию
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Так как компилятор может доказать что он подтип
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Vladimir Shchur
а как это будет выглядеть? что то не оч понимаю
Это же мечта алгебраических типов
источник

VS

Vladimir Shchur in F# Flood: пописываем для души
Ayrat Hudaygulov
def parse(a : String | Uuid): Int =...

parse("..")

parse(Uuid.new)
вот это вроде понятно) но у нас же
type X =
| A of string
| B of string
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Vladimir Shchur
вот это вроде понятно) но у нас же
type X =
| A of string
| B of string
У нас нет юнион типов (
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Поэтому у нас не сработает никак
источник

VS

Vladimir Shchur in F# Flood: пописываем для души
понятно) а & как работает?
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Vladimir Shchur
понятно) а & как работает?
Как тип пересечение
источник

VS

Vladimir Shchur in F# Flood: пописываем для души
нужен пример)
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Ок. Int && IComparable
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Это тип пересечение
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
В ООП реализован через наследование
источник

VS

Vladimir Shchur in F# Flood: пописываем для души
но это же невалидное пересечение?
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Vladimir Shchur
но это же невалидное пересечение?
Чо бы это?
источник

AH

Ayrat Hudaygulov in F# Flood: пописываем для души
Любое пересечение валидно
источник