juan_gandhi: (VP)
Идея: есть джавный java.util.ArrayList, древний как доткомовский бум. А мы хочем функтор, но не можем написать ArrayList extends Functor; ну дык... дык и хер с ним; мы ж инженеры. В Скале можно. А зачем? А чтобы писать arrayList.map(someting=>something)
И в продакшен. Мы же инженеры!

gist


Могу написать подробные комментарии, если интересно.
juan_gandhi: (VP)
Да всё фигня, никакие там теории и модели не нужны. Происходит вот что (выражаясь в наивной теории категорий, т.е., в сущности, в терминах внутренних категорий в топосе).

Берём эндофунктор Т, берём категорию алгебр над Т, и забывающий U из алгебр в, э, базовую категорию.
К забывающему, предположительно, есть левый сопряженный, свободные алгебры над Т. В терминах "языков программирования" эти свободные алгебры получаются путём взятия неограниченного числа переменных и применения к ним различного рода конструкторов, определяемых Т.

Ну, например, для эндофунктора "Моноид" конструкторов будет два, один без параметров, даёт нейтральный элемент, а другой  с двумя, даёт выражение "a+b".

Тут мне не совсем понятно, шо це за эндофунктор такой, "моноид", надо разобраться. В принципе, он как раз получается из "теории моноида".

Ну и модели, т.е. инстансы тайпкласса - это просто алгебры над каким-то эндофунктором; а категория таких алгебр и есть тайпкласс.

Что не так?

Тут ещё можно привлечь монаду коплотности, но эта монада, выше, и является монадой коплотности, где расширение Кана тривиально порождается сопряженной парой.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

October 2025

S M T W T F S
    1 23 4
5 678 9 1011
12 13 1415 161718
1920 2122 23 2425
26 2728 293031 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 30th, 2025 11:06 pm
Powered by Dreamwidth Studios