Циклополитоп (cyclic polytope) -- яндекс да и гугл выдают всего одну ссылочку на ВШМ МФТИ :)
(выпуклый многогранник в многомерном пространстве, который строится особым образом (все грани -- симплексы (треугольнички)) и обладает рядом замечательных уникальных свойств).
На первый взгляд вроде фиговинка фиговинкой )
Ну это потому, что для нашей размерности 3 циклополитолоп тривиален; вся круть начинается на высоких размерностях.
В процессе его изучения возникла идея, как проектировать чистые функции так, чтобы любая разумная комбинация входов давала валидный результат, избегая "запрещённых" сочетаний параметров (комбинаторный взрыв). Пространство допустимых состояний должно быть не дырявым, а "плотно соединено" как вершины циклополитопа!
А так как по Upper Bound Theorem (максимизация числа граней) паттерн матчинг с алгебраическими типами даёт полиномиальный рост от числа конструкторов типа (наихудший случай), через функторы сворачиваем многомерную структуру в обобщённый обход (fold/traverse) "циклополитопа" вместо явного перечисления всех "граней" поведения.
Получился такой оригинальный взгляд на классические функциональные паттерны, поясняю ментатам в Функциональных архитектурах, уже доступно.
Post #2381
719

- ❤ 41
- 🤯 10
- 🥰 4
- 🤔 2