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

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 15th, 2025 02:20 pm
Powered by Dreamwidth Studios