Dec. 21st, 2018

juan_gandhi: (Default)
scala> def sample: Set[Any] = Set(1.0, 2.0, Double.NaN)
sample: Set[Any]

scala> val sample1 = sample; val sample2 = sample
sample1: Set[Any] = Set(1.0, 2.0, NaN)
sample2: Set[Any] = Set(1.0, 2.0, NaN)

scala> import collection.JavaConverters._
import collection.JavaConverters._

scala> sample2.asJava.asScala == sample1
res21: Boolean = false

scala> sample1 == sample2.asJava.asScala
res22: Boolean = true


Не берите в голову, в 12-й это все "пофиксено".
juan_gandhi: (Default)

Боттичелли. Венера знакомит молодого человека с семью музами либеральных искусств. Фрагмент.


Бартоломео ди Джованни. Свадьба Фетиды и Пелея. Фрагмент.


Бартоломео ди Джованни. Кортеж Фетиды. Фрагмент.


Антиной в виде Осириса. Был фаворитом императора Адриана, который его обожествил после смерти.
juan_gandhi: (Default)
Из коллекции Пикассо, в его музее

 
juan_gandhi: (Default)
 Я-то думал сейчас приплету ZFC, и роль C в этом деле, эндофунктор powerset, что там два функтора на самом деле; и монада из него; потом на топосы перейти, и все такое, потом посмотреть, а как оно в софтверной категории типов...

Все фигня. Ничего не работает. powerset нету, вообще-то говоря.

Вообще, стоит задуматься, а в типизированной лямбде... да и бестиповой, set можно задать, как adt? А хрен там. И знаете почему? а в бестиповой лямбде нет же равенства. Ну не эквациональная теория, как я понимаю. В том смысле, что равенство в виде лямбды не записывается. Не совсем определение эквациональной, скорее что-то вроде внутренней эквациональности.

Поэтому что? Поэтому надо, как Бартош и предложил, впендюрить какое-нибудь отношение эквивалентности. Вместо равенства сойдет. И "множество", как adt, задается через это отношение. На лямбде это можно навалять; будет много лямбд, но выразить можно. 

А смысл? Как-то очень неуклюже, очень.

Статей не нашел на эту тему никаких, одни благоглупости, вроде того, что в википедии написано.

Короче, серьезная тема, да? Приехали.

дыбр

Dec. 21st, 2018 11:36 am
juan_gandhi: (Default)
Спал плохо.

Утром упаковались, поели; пришел хозяин квартирки, отдали ключи и распрощались. Переехали в район Мемориала Людовика 16-го. Тут вообще улицы вокруг имени жертв террора. Место хорошее, пара кварталов от церкви Мадлен.

Сходили в магазин за едой; тут магазин какой-то очень хороший, много еды.

Пообедали, пошли в Лувр. Ну тут еще проблема была, розетки теперь все с заземлением, наш переходник не втыкается. Зашли в магазин Руа-Мерлен, это хозмаг такой вроде нашего Хоум-дипа. Только наше Хоум-дипо - это сельпо при лесопилке, по сравнению с Руа-Мерленом. Хочется как-то перенести ремонт дома в Париж. Да блин. У нас ни дюбелей таких, ни сверл, например. Сверла, блин, в Америке можно нормальные делать? Или первая поправка не позволяет (пиздеть - не мешки ворочать)? Не знаю. Обидно как-то. Ну мы купили переходник и немножко крепежа. Я бы много чего купил, да как-то глупо. Может, в следующий раз, не знаю. Дюбелей бы неплохо, например. И вообще посмотреть. Ну сверл по дереву. Наши же такие заусеницы гонят, обидно.

По дороге в Лувр еще зашли на новогодний базар опять, слопали кулёк пышек, да глинтвейна взяли стакан. Сели в саду Тюильри, вокруг лепота, сумерки, облака такие зимние - и теплынь! 16 градусов.

Затем завалились в Лувр опять. Очереди никакой нету. Мы пошли сначала на нулевой этаж, там всякие скульптуры французские, типа четыре больших бронзовых раба. Когда-то они были у пьедестала памятника Людовику 14-му, но памятник в революцию переплавили.

Ну я так бродил, немножко как сонная муха. Иногда засыпая на скамейках. По французской скульптуре, назад во времени, вдоль всех этих надгробий, где благочестивые усопшие важные персоны держат ручки как положено. На одной скульптуре 13-го века ангелы тащат на небо мешок с душой усопшего праведника.

Затем меня выловила подруга (я опять спал на скамейке) и потащила смотреть апартаменты Наполеона Третьего. Ну там эта шушера рассекала роскошнее, чем российские императоры. 

Ну вот, и мы все это рассмотрели внимательно, в частности, и кровать мадам Рекамье, которая, дескать, произвела революцию в дизайне спален, и изобрела Арт Нуво.

На этом мои силы закончились. Мы хотели попробовать в кафе, но, конечно, кафе уже было закрыто, Франция же, много работать вредно для общего развития.

И мы потащились домой. По дороге мне что-то стало не очень хорошо с сердцем, и мы притащились, и я завалился на диван, а подруга еще раз в магазин сходила. Ну вот сейчас чай пьем.


juan_gandhi: (Default)
Да все фигня.

Чтобы сравнить два лямбда-выражения на равенство, в лямбде же, делаем так.

1. Число на 0 проверить запросто.
2. Два числа сравниваем путем или сравнения разницы с нулем, или по индукции (вычитая единицу).
3. Теперь, любую лямбду перегоняем на X-комбинатор (он же ι-комбинатор) - получаем представление, считай, в виде двоичного дерева.
4. Двоичное дерево как попало кодируем в виде числа (например, через язык Zot).
5. Все, можно сличать.

Ну и вообще, можно написать интепретатор лямбды на лямбде.

А раз есть равенство, то и множество определить нефиг делать (конечное), по индукции. Т.е. как функцию, которая возвращает булево. Пустое всегда возвращает ложь, а добавить элемент - ну и проверяем у новой функции, равен ее аргумент этому элементу или нет; если нет, применяем старую функцию. Аксиома выбора (ну или перечислимость) тоже через индукцию.

Короче, делов-то.

Вообще, все это на джаваскрипте проще писать; одно и тоже же.
 

 

 

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 6 7
8 9 10 11 121314
15161718 1920 21
222324252627 28
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 30th, 2025 12:20 pm
Powered by Dreamwidth Studios