metaclass: (Default)
[personal profile] metaclass
Ребенок периодически компостирует мне мозги задачами на сложение чисел. Пока это просто числа, оно еще куда ни шло, но потом ей становится скучно и она добавляет к ним размерности, причем разные. Типа "сколько будет 3 воздушных шарика+2 бабочки".
Только сейчас спросонья дошло, что можно же свести объекты к общему предку и дать ответ в виде "число+тип предка". Ну как в скале - если в список добавить разных объектов, она автоматом тип к более общему сведет.
Но скажем, если из общего предка там только "объект", но у объектов есть общие свойства, например бабочки и шарики могут летать - не надо ли, в дополнение к объекту выводить еще и общие интерфейсы? В таком случае будет ответ "5 летающих объектов".

Date: 2013-04-18 07:09 am (UTC)
From: [identity profile] xeno-by.livejournal.com
Никогда не задумывался, если честно. Просто когда слышишь least upper bound буквально каждый день, запоминается. Да и сабтайпинг в Скале обозначается как <:, что как бы намекает.

Я полагаю, что это из-за того, что сабтайпинг рассматривается как отношение предпорядка, обычно обозначаемое как ≤. А так как top это супертайп для любого типа, значит он меньше всех. Но это исключительно мои догадки.
Edited Date: 2013-04-18 07:09 am (UTC)

Date: 2013-04-18 07:20 am (UTC)
From: [identity profile] metaclass.livejournal.com
Least upper - тут получается "самый низкий из высоких". И top по идее, как раз больше всех.
Т.е получается bottom <: обычные типы <: top

Date: 2013-04-18 07:23 am (UTC)
From: [identity profile] xeno-by.livejournal.com
Да, фейспалм, спасибо за то, что поправил.

Date: 2013-04-18 09:04 am (UTC)
From: [identity profile] gds.livejournal.com
а в окамле coercion обозначается как :> , что соответствует логике: уменьшает (точнее, не увеличивает) количество известной информации. Для объектов -- выкидывает методы. Для вариантов -- добавляет новые варианты, "размазывая" знание (раньше было известно, что A | B, а стало A | B | C, и неуверенность в том, к какому же варианту принадлежит значение типа, возросла, и без рантайм-движух (поматчить) не сведётся обратно к A | B).

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 8th, 2025 05:27 am
Powered by Dreamwidth Studios