Size: a a a

F# Flood: ПДД made functional, making illegal state INGIBDDdale

2020 April 28

IC

Iλyα Che in F# Flood: ПДД made functional, making illegal state INGIBDDdale
И горжусь.
источник

DB

Danil Braindead in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Крылатый Пегас
> In 1970, graphic designer Tom Doerr selected the lower-case Greek letter lambda to be the symbol of the New York chapter of the Gay Activists Alliance.
источник

IC

Iλyα Che in F# Flood: ПДД made functional, making illegal state INGIBDDdale
В скала чате дошли до осуждения перегрузок. Держу в курсе.
источник

VP

Vasiliy Pereverzev in F# Flood: ПДД made functional, making illegal state INGIBDDdale
а их там нет разве?
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Vasiliy Pereverzev
а их там нет разве?
Есть
источник

IC

Iλyα Che in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Есть. Но всё равно осуждают. Предлагают указывать тип параметра в имени метода.
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Обсуждение вялое. Пара людей пытаются сказать что иногда это проще чем лепить тип сумму на вход и матчить, а догматики говорят что перегрузки зло
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Iλyα Che
Есть. Но всё равно осуждают. Предлагают указывать тип параметра в имени метода.
Ну это чьё-то личное мнение, так перегрузок везде в любой либе скаловской дофига
источник

IC

Iλyα Che in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Очень хочется влезть с вопросом про методы с несколькими параметрами.
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Iλyα Che
Очень хочется влезть с вопросом про методы с несколькими параметрами.
Делаешь тип сумму с нужным списком параметров в каждом кейсе
источник

IC

Iλyα Che in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Ну это чьё-то личное мнение, так перегрузок везде в любой либе скаловской дофига
Да понятное дело. Но выглядит всё равно забавно.
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Iλyα Che
Да понятное дело. Но выглядит всё равно забавно.
С перегрузками в скале и джаве правда можно получить прооблемы из-за особенностей рантайма, ну это не то чтобы часто стреляет
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Ayrat Hudaygulov
Обсуждение вялое. Пара людей пытаются сказать что иногда это проще чем лепить тип сумму на вход и матчить, а догматики говорят что перегрузки зло
Так там не про тип сумму на вход, а про подход а-ля любимый в расте From и Into:
// вместо такого:
def createFromString(s: String): MyType = ???
def createFromInt(i: Int): MyType = ???

// делаем вот так:
trait From[T, K] {
  def from(t: T): K
}

given From[String, MyType] { def from(s: String): MyType = ??? }
given From[Int, MyType] { def from(s: Int): MyType = ??? }
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Так там не про тип сумму на вход, а про подход а-ля любимый в расте From и Into:
// вместо такого:
def createFromString(s: String): MyType = ???
def createFromInt(i: Int): MyType = ???

// делаем вот так:
trait From[T, K] {
  def from(t: T): K
}

given From[String, MyType] { def from(s: String): MyType = ??? }
given From[Int, MyType] { def from(s: Int): MyType = ??? }
Вот расскажи мне чем объявление двух тайпклассов проще чем объявление двух функций?
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Это же просто лишние приседания на ровном месте
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
С тем же эффектом
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Ayrat Hudaygulov
Вот расскажи мне чем объявление двух тайпклассов проще чем объявление двух функций?
Эти тайпклассы берутся один раз из библиотеки
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Эти тайпклассы берутся один раз из библиотеки
точно так же перегруженная функция можеть быть импортирована один раз из библиотеки
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Ayrat Hudaygulov
точно так же перегруженная функция можеть быть импортирована один раз из библиотеки
Ты не можешь абстрагироваться от перегруженной функции. Т.е. посмотри для примера как оно в расте сделано с Into/From:

https://doc.rust-lang.org/std/convert/trait.Into.html
https://doc.rust-lang.org/std/convert/trait.From.html
источник

AH

Ayrat Hudaygulov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Ты не можешь абстрагироваться от перегруженной функции. Т.е. посмотри для примера как оно в расте сделано с Into/From:

https://doc.rust-lang.org/std/convert/trait.Into.html
https://doc.rust-lang.org/std/convert/trait.From.html
это несуществующая проблема
источник