Size: a a a

Scala User Group

2020 August 02

SA

Sergey Alaev in Scala User Group
Oleg ℕizhnik
Я думаю, можно построить функторы -  генераторы случайных числе и т.п. между категориями, описывающими вероятностные пространства или случайные процессы.
В принципе, можно сказать любое слово и можно придумать функтор, который подходит. Такая уж обобщённая конструкция

Но функторы в ФП это понять не поможет
Понятно, это вопрос терминологии.
def foo[F[_]: Functor](f: F[Int])
Здесь F[_] - это функтор. Как тогда называется F[Int], на котором есть метод map[A](f: Int => A): A ?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
Понятно, это вопрос терминологии.
def foo[F[_]: Functor](f: F[Int])
Здесь F[_] - это функтор. Как тогда называется F[Int], на котором есть метод map[A](f: Int => A): A ?
Сергей, вы построили функторы, которые приводили в качестве примера?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Покажите код для функтора - генератора псевдослучайных чисел
источник

SA

Sergey Alaev in Scala User Group
Oleg ℕizhnik
Сергей, вы построили функторы, которые приводили в качестве примера?
Нет, т.к. я называл функтором F[Int]. Но это не функтор.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ясно
источник

KC

Kain Crow in Scala User Group
Sergey Alaev
Нет, т.к. я называл функтором F[Int]. Но это не функтор.
Хорошо что это не функтор
источник

KC

Kain Crow in Scala User Group
Значит теоркат не бред?
источник

D

Dreamerinnoise in Scala User Group
Дней без обсуждения, что же такое монада: 0
источник

KC

Kain Crow in Scala User Group
Dreamerinnoise
Дней без обсуждения, что же такое монада: 0
Сначала с функтором бы разобраться еще
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Dreamerinnoise
Дней без обсуждения, что же такое монада: 0
мы обсуждаем статью участника чата
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Kain Crow
Сначала с функтором бы разобраться еще
ну как уже обсуждали - не обязательно, и в теоркате даются оба определения монады, не привязанные у определению функтора
источник

SA

Sergey Alaev in Scala User Group
А все-таки,
`Как тогда называется F[Int], на котором есть метод map[A](f: Int => A): A ?`
источник

SA

Sergey Alaev in Scala User Group
Если у кого-то опять зачешется ЧСВ, можно пугать людей утверждениями, что IO[Int] - не монада)
источник

KC

Kain Crow in Scala User Group
Sergey Alaev
Если у кого-то опять зачешется ЧСВ, можно пугать людей утверждениями, что IO[Int] - не монада)
А разве IO[Int] это монада? Я думал IO это монада, а не IO[Int]
источник

KC

Kain Crow in Scala User Group
Возможно это вопрос не сюда а в лёрн.
источник

SA

Sergey Alaev in Scala User Group
Kain Crow
А разве IO[Int] это монада? Я думал IO это монада, а не IO[Int]
всё так, это не монада. А что это тогда?)
источник

D

Dreamerinnoise in Scala User Group
Значение в результате работы какого-то io
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
А все-таки,
`Как тогда называется F[Int], на котором есть метод map[A](f: Int => A): A ?`
Очень сложно понять, что здесь конкретно нужно "назвать"
Обычно "название" даётся для абстрактного типа, любого рода.
Т.е. рассматривается некоторый подкласс типов этого рода.
Например F[_] - имя абстрактного типа первого рода Type -> Type, в классе таких типов можно рассмотреть подкласс типов, имеющих конструкцию функтора или монады.
А F[Int] - это уже не имя абстрактного типа. Это какой-то F[_] применённый к типу Int. Я не понимаю, к какому классу относится F[Int], чтобы давать название его подклассам
источник

SA

Sergey Alaev in Scala User Group
Dreamerinnoise
Значение в результате работы какого-то io
это определение F[Int] без тайпклассов
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
это определение F[Int] без тайпклассов
Если вы напишете трейт, мы попробуем придумать название для этой структуры
источник