LINUX.ORG.RU

Об отсутствии кота

 ,


5

5

(cons cat (cons other-cat nil))

Как можно заметить, отсутствие коробки с котом не является ни коробкой, ни котом, но одновременно и тем, и тем.

Кроме того, наличие отсутствия кота по очевидным причинам определяется только в рантайме.

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

К тому же, единственное, что нам и правда важно, так это то, что мы посадили котов в коробки, или скорее даже то, что они там сейчас сидят.

Отсюда:

Третья Теорема Лавсана (о бесполезности статической типизации)

Статическая типизация не добавляет ничего действительно полезного и только лишь отбирает время.

Дискач.

★★★

Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Оно даже не скомпилируется из-за отсутствия конструкторов, если сделать нормально rhino x = { 10 }; и брать &x, то не скомпилируется с -Wstrict-aliasing=2 -Werror, да и зачем вообще, если можно x.count + y.count — считаем, что operator+ хочет подтипов int, от примитивного типа не унаследовать, так что просто имеем подтипы int в виде бегемотов и жирафов заданных проекциями _.count в int — на месте int их можно свободно использовать в соответствии с LSP (а с наследованием и проекции осуществляться автоматически будут, с неявными конструкторами — вложения).

motto
()
Ответ на: комментарий от anonymous

взять указатель на огурцы, преобразовать в void*, а потом в указатель на карандаши

Таки это UB если типы огурцов и карандашей не алиасятся.

Если объекты знают count и хочется их складывать без operator+ или без вызова метода добывания count, то можно (если по «условию») ещё operator size_t() { return count; } и тогда rhino{1} + giraffe{2}.

motto
()
21 декабря 2014 г.

Это шизофазия вперемешку с личной перепиской каких-то лаборантов.

tp_for_my_bunghole
()
Последнее исправление: tp_for_my_bunghole (всего исправлений: 1)

Читая чужую программу на Лиспе занимаешься только тем что расшифровываешь типы которые имелись в виду при написании программы.

Вообще это скорее всего странный способ описания того что в Python называют «duck typing». Программа проверяется запуском всех тестов, для начала. Которые надо ещё написать и поддерживать в адекватном программе виде.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Читая чужую программу на Лиспе занимаешься только тем что расшифровываешь типы которые имелись в виду при написании программы.

У тебя статика головного мозга просто.

anonymous
()
Ответ на: комментарий от tp_for_my_bunghole

Пишу тесты для public api, для меня этого достаточно.

Oxdeadbeef ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.