Size: a a a

Scala User Group

2020 August 02

AG

Alex Gryzlov in Scala User Group
источник

AG

Alex Gryzlov in Scala User Group
Orbarax
так это разве константа? это константный функтор
ой всё
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Orbarax
так это разве константа? это константный функтор
чем константный функтор не константа
источник

SA

Sergey Alaev in Scala User Group
𝛈 µ
пример функтора: константа
А что не так?
42
42.map[A](f: Int => A) = f(42)
источник

KC

Kain Crow in Scala User Group
Sergey Alaev
А что не так?
42
42.map[A](f: Int => A) = f(42)
Ты умеешь для отдельных значений определять методы?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Kain Crow
Ты умеешь для отдельных значений определять методы?
да
источник

KC

Kain Crow in Scala User Group
Вообще будь там написано "Id" возможно джейли бы не тригернулся, но имеем что имеем.
источник

SA

Sergey Alaev in Scala User Group
Kain Crow
Ты умеешь для отдельных значений определять методы?
Аааа, это джейли. Ну, ему ничего объяснять уже не нужно.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
object Const42{
   type F42[+A] = Const42.type
   implicit object monad extends StackSafeMonad[F42]{
      def pure[A](a: A) = Const42
      def flatMap[A, B](fa: F42[A],
         f: A => F42[B]) = fa
  }
источник

Oℕ

Oleg ℕizhnik in Scala User Group
далее
источник

AD

Apache DOG™ in Scala User Group
Функтор мапает морфизмы в морфизмы
источник

AD

Apache DOG™ in Scala User Group
Как 42 мапает, и что во что?
источник

SA

Sergey Alaev in Scala User Group
Apache DOG™
Функтор мапает морфизмы в морфизмы
именно поэтому я и написал эту статью - объяснить смысл без лапши, которую навешивают в этом чате. Вообще я имел в виду не саму обертку, а реализацию генератора значений, который используется в функторе. Т.е. код, который можно залифтить в функтор. Неужели ты это не понял?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
`
case class Const[A, +B](a : A)


object Const{
   
 
   implicit def monad[A](
      implicit va: ValueOf[A]):
        Monad[Const[A, *]] =
   new StackSafeMonadMonad[Const[A, *]]{
       val res: Const[A, Nothing] =
            Const (ValueOf())
       def pure[B](b : B) = res
       def flatMap[B, C](
         fb : Const [A, B],  f: B => Const[A,C]) = res
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Apache DOG™
Как 42 мапает, и что во что?
функтор 42 на порядке натуральных чисел мапает любое число в 42, любое неравенство в 42 <= 42
источник

SA

Sergey Alaev in Scala User Group
@odomontois Нужен ответ теоретика. Функтор F[Int], который при evaluation возвращает случайное число, это морфизм между какими категориями?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Apache DOG™
Как 42 мапает, и что во что?
Функтор 42 из любой категории в порядок натуральных чисел мапает любой объект в 42, любой морфизм в нервенство 42 <= 42
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
@odomontois Нужен ответ теоретика. Функтор F[Int], который при evaluation возвращает случайное число, это морфизм между какими категориями?
Не между какими, я защищаю только константы, остальные куски той статьи, что я видел на скриншотах - бред
источник

AD

Apache DOG™ in Scala User Group
Oleg ℕizhnik
Функтор 42 из любой категории в порядок натуральных чисел мапает любой объект в 42, любой морфизм в нервенство 42 <= 42
Но почему он 42 тогда?
источник

AD

Apache DOG™ in Scala User Group
А не "функтор, который"
источник