Проснулся рано; подруга советовала ехать на поезде. Но у меня дома много дел, а на работе мало, первый митинг в 11.
Так что я пошел сначала проверять наружный свет, работает ли установленный для него выключатель. А нету тока на том светильнике! Ну что за фигня. Придется разбираться (вынимать выключатель, и проверять оба провода). Ладно.
Вода у меня еще кончилась; закинул банки в машину. Да еще Фреду позвонил, не нужны ли ему газовые баллоны. Нам точно не нужны. Ну и поехал в Кэмпбелл. Сначала на мойку - у меня купон был, так машинку мне на халяву помыли. Потом к Фреду, отдал баллоны. Да заодно и банки для воды, у него там рядом, и он как раз собирался.
А дальше уже потащился на работу, ехал слушал какую-то фигню "радио Марти", это кубинское такое. "кувано". Кубинские так говорят, что ужас. Как в той песне, pa mi tu no eres na - грамотно это пишется (и произносится) как para mi tu no eres nada. Тяжело кубинцев слушать. Но они такие боевые. Пугают какой-то новой тропической болезнью; заразишься, сначала как денге; шесть дней ничего нету, а потом голова начинает болеть, и мышцы.
Обратно же ехал, слушал уже французское радио, RFI. Там что-то про интернет гнали такое, про соцсети, как нынче все сложно.
Бибиси потом включил (как начали про футбол), Бибиси, как обычно, клеймит бывшие колонии. Любимое у них занятие, рассказывать, как без их чуткого руководства вся бывшая империя в жопе, одни fucking brits в белых фраках.
Заехал к Фреду забрал воду.
Домой приехал, тут шухер и начался. Траву постричь, чуть спринклеры поправить, подмести на заднем дворе, почистить пруд, выкатить мусор к завтрему. К восьми вечера уже невменяемый пошел домой; сразу в душ, а потом сделал чаю, да багет порезал, сверху сыр шлепнул, какой? А хз. Ярлсберг? Хз.
Французский сделал. Так-то надо бы дальше.
Потому что главное что.
Утром я пока просыпался, думал, как бы мне это исхитриться, сделать цикл при построении категории, чтобы обеспечить, что все транзитивные замыкания проверены. Ну типа stream, iterable.continuously.
И вдруг до меня дошло. Не надо никакого "кода результата", и не надо так уж светить метод "validate", и не надо никаких там булевых.
Надо рекурсивно вызывать построителя, с хвостовой рекурсией, и как получится ValidCategoryData, так и все, потому что у этого класса нужный метод ничего не делает, а возвращает себя же.
Более того, у меня в классе Result есть два глупых метода. Один "isGood", другой - partition. Partition - это вообще как транспонирование матрицы, где по вертикали ADT. Как в лекции МакБрайда. И filter вообще... сложно с filter, это же типа топосная логика. Надо подумать, что за фигня с нашим поросенком.
Вообще, наверно, надо Валериины конструкции запрограммировать как-нибудь ужо. Чисто для успокоения совести.
И еще балуюсь с rust - ну там пока фигня, интродукция и рондо каприччиозо. Посмотрим.
Уже скоро десять; пойду еще чаю сделаю, да попрограммирую.