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

Date: 2013-04-18 06:24 am (UTC)
From: [identity profile] blackyblack.livejournal.com
А ещё Питон травишь за автоматическое приведение типов...

Date: 2013-04-18 06:24 am (UTC)
From: [identity profile] falcrum.livejournal.com
Не "наибольший", а "наиближайший" - не?

Date: 2013-04-18 06:25 am (UTC)
From: [identity profile] xeno-by.livejournal.com
Было бы круто, если бы в Скале были union types. В доте (новом калькулусе для Скале), впрочем, есть.

Date: 2013-04-18 06:26 am (UTC)
From: [identity profile] xeno-by.livejournal.com
Least upper bound. Наибольший это будет top, он же Any или Object.

Date: 2013-04-18 06:30 am (UTC)
From: [identity profile] xeno-by.livejournal.com
К слову, если мне не изменяет память, лабы (lubs = least upper bounds) в Скале могут быть структурными типами. Т.е. тип выражения List(baloon, butterfly) скорее всего будет List[AnyRef { def fly: Unit }]. Сейчас не за компом, так что точно проверить не могу.

Date: 2013-04-18 06:37 am (UTC)
From: [identity profile] metaclass.livejournal.com
Как это на русский лучше перевести?:)
Наименьший общий тип?:)

Date: 2013-04-18 06:38 am (UTC)
From: [identity profile] aamonster.livejournal.com
Ребе, вы забыли факин множественное наследование и агрегаты.
Три леденца + две коробки леденцов - это сколько?

P.S.:
Edited Date: 2013-04-18 06:39 am (UTC)

Date: 2013-04-18 06:41 am (UTC)
From: [identity profile] voidex.livejournal.com
5 летающих объектов это уже потеря информации. 3 воздушных шарика и 2 бабочки это 3 шарика и 2 бабочки.

Date: 2013-04-18 06:47 am (UTC)
From: [identity profile] thedeemon.livejournal.com
наименьшая верхняя грань.

Только странный у вас выбор направления - что внизу, а что вверху.

Date: 2013-04-18 06:50 am (UTC)
From: [identity profile] xeno-by.livejournal.com
Я бы посмотрел как переведено в русском Types and Programming Languages

Date: 2013-04-18 06:51 am (UTC)
From: [identity profile] thedeemon.livejournal.com
А почему он больший, а не меньший?

Date: 2013-04-18 06:55 am (UTC)
From: [identity profile] sbj-ss.livejournal.com
Если мне не изменяет память, потому что в наших глазах мало рецепторов, отвечающих за фиолетовый участок спектра.

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 07:44 am (UTC)
From: [identity profile] theiced.livejournal.com
абстрактная математика - зло. размерности не сходятся - задача идёт нахуй.

Date: 2013-04-18 07:48 am (UTC)
From: [identity profile] metaclass.livejournal.com
Ты же строки с числами в руби складываешь :)

Date: 2013-04-18 07:51 am (UTC)
From: [identity profile] thedeemon.livejournal.com
>размерности не сходятся - задача идёт нахуй.

А ведь это ничто иное, как статическая проверка типов. Кто-то чужой пишет из под аккаунта айседа?

Date: 2013-04-18 08:12 am (UTC)
From: [identity profile] trueblacker.livejournal.com
что дальше?
Айсед станет псить на стабильность?

Date: 2013-04-18 08:56 am (UTC)
From: [identity profile] arush-damage.livejournal.com
Не, ответ будет "2 желтых штучки, красная, зеленая и синяя" %))

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

Date: 2013-04-18 09:27 am (UTC)
From: [identity profile] woldemar kuchelbeker (from livejournal.com)
Боюсь представить, что же будет в случае сложения действительных чисел с мнимыми.

Date: 2013-04-18 09:42 am (UTC)
From: [identity profile] metaclass.livejournal.com
Комплексное число.

Date: 2013-04-18 09:54 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
а начинается всё с разрешения множимое и множитель местами менять

Date: 2013-04-18 09:55 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
а сколько две кучки камней и четыре камня?
Page 1 of 3 << [1] [2] [3] >>

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 Jul. 25th, 2025 07:42 am
Powered by Dreamwidth Studios