you will laugh but...
Nov. 1st, 2019 09:40 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I just figured out yesterday that yes, Tree[T] is a monad over T. Obvious, but. Same with BinaryTree[T]. Also, BinaryTree[T] does not seem to me applicative.
(My previous attempt to slap together a monad-looking functor were wrong.)
(My previous attempt to slap together a monad-looking functor were wrong.)
no subject
Date: 2019-11-02 07:55 am (UTC)no subject
Date: 2019-11-02 04:00 pm (UTC)and https://mathoverflow.net/questions/85391/any-example-of-a-non-strong-monad
no subject
Date: 2019-11-02 04:49 pm (UTC)Должно быть m >>= return = m, а этого нет. >>= берет только корень левого аргумента, а листья все состригает. Fail.
(Я о первом дереве, у которого данные в узлах; если данные в листьях, то это вроде таки монада)
no subject
Date: 2019-11-02 05:03 pm (UTC)no subject
Date: 2019-11-02 05:35 pm (UTC)no subject
Date: 2019-11-02 06:16 pm (UTC)no subject
Date: 2019-11-02 10:17 am (UTC)no subject
Date: 2019-11-02 03:50 pm (UTC)Речь о функторе, который для типа Т дает тип Tree[T]. Функтор, он на типах.
Функтор, если он имеет свойства монады, является монадой.
Построение "дерева сортировки" по множеству - это маппинг объекта (множества) на объект ("дерево сортировки"), и это будет тогда функтор из (категории) множеств в деревья. Функтор между двумя различными категориями не может быть монадой.