Size: a a a

F# Flood: r/FreeFolk

2020 February 23

O

Orbarax in F# Flood: r/FreeFolk
Арсений Высоцкий
Большинство полезных вещей из хаскеля реализуемы на том же сишарпе
ну да, hkt, gadt, deriving, закрытые суммы
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Я сам в основном пишу на тайпскрипте, но я так думаю, что в сишарпе есть не меньшие инструменты выразительности
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Hkt в явном виде, например, в сишарпе отсутствуют, но могут быть сымитированы
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
И компилятор таки поможет
источник

DS

Doge Shibu in F# Flood: r/FreeFolk
Арсений Высоцкий
Hkt в явном виде, например, в сишарпе отсутствуют, но могут быть сымитированы
Вопрос в том, что такая имитация абсолютно не эргономична в своем использовании
источник

O

Orbarax in F# Flood: r/FreeFolk
да
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Вполне эргономична, поспорю
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Всего лишь пара вспомогательных типов
источник

DS

Doge Shibu in F# Flood: r/FreeFolk
Арсений Высоцкий
Вполне эргономична, поспорю
Ага, бегать повсюду с Hkt<Tag, Type>
источник

DS

Doge Shibu in F# Flood: r/FreeFolk
Очень эргономично
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Будто сильно сложнее, чем в в скале с F[_]
источник

DS

Doge Shibu in F# Flood: r/FreeFolk
И с постоянными Project, Inject
источник

DS

Doge Shibu in F# Flood: r/FreeFolk
Арсений Высоцкий
Будто сильно сложнее, чем в в скале с F[_]
Кардинально сложнее, т.к. у тебя нет даже того вывода типов, который есть в скале.

Приходится постоянно делать Project/Inject, чтобы перейти к реальным типами.

Нет никаких тайп-лямбд, как в скале, чтобы можно было каррировать HKT, где нужно
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Doge Shibu
Кардинально сложнее, т.к. у тебя нет даже того вывода типов, который есть в скале.

Приходится постоянно делать Project/Inject, чтобы перейти к реальным типами.

Нет никаких тайп-лямбд, как в скале, чтобы можно было каррировать HKT, где нужно
В случае с тс таки вывод есть
источник

O

Orbarax in F# Flood: r/FreeFolk
мы же про сишарп вроде как
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Каррирования типов, разумеется, нет
источник

АВ

Арсений Высоцкий in F# Flood: r/FreeFolk
Orbarax
мы же про сишарп вроде как
Я выше писал, что я на тс в основном пишу
источник

O

Orbarax in F# Flood: r/FreeFolk
да, но
источник

O

Orbarax in F# Flood: r/FreeFolk
Арсений Высоцкий
Большинство полезных вещей из хаскеля реализуемы на том же сишарпе
^
источник

DS

Doge Shibu in F# Flood: r/FreeFolk
Арсений Высоцкий
В случае с тс таки вывод есть
Но все остальные проблемы точно так же остаются.

Плюс отутствие тайпклассов сильно мешает стандартным паттернам из ФП. Либо руками ресолвить инстансы, что в случае любого нормального стека трансформеров превратится в ад.
источник