|
Заблокирован
|
||||||||||||||||||
Мультидиспетчеризация в Лиспе19.02.2017, 00:50. Показов 6211. Ответов 107
Допустим, имеем иерархию
И что будет, если мы засунем в один мультиметод одновременно экземпляры типа и подтипа? Что должен сделать диспетчер в этом случае? Насколько надежным будет приложение, с использованием такого инструмента, учитывая то, что программисту трудно постоянно быть в напряжении и отслеживать возможные конфликты? И наконец, чем оправданна такая экстремальная забубенность? Есть ли реальные кейзы для этого, или это все сделано для галочки, и никто реально с этим сомнительным инструментом не связывается? Добавлено через 6 минут Добавлено через 5 минут
? Не является ли это все неоправданным переусложнением? Стоит ли овчинка выделки? Добавлено через 13 минут Короче говоря, хочется получить четкую и ясную схему расстановки приоритетов при возникновении разного рода конфликтов, и ясное семантическое обоснование этой схеме с точки зрения проектирования
0
|
||||||||||||||||||
| 19.02.2017, 00:50 | |
|
Ответы с готовыми решениями:
107
ООП в лиспе не обеспечивает синтаксическую абстракцию Clojure Мультидиспетчеризация не по типам |
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||
| 19.02.2017, 14:06 | |||||
Но как показало обсуждение касательно логики collide, Io - не справился с задачей. И были предложены именно грязные хаки в обход ООП системы языка, которые ещё и не работают во многих необходимых ситуациях.Т.е. в Io вообще нет ничего принципиально нового, только лозунги. Посему Io никому и не нужен. Тогда как Common Lisp - production ready решение для комплексных задач.
1
|
|||||
|
Заблокирован
|
|||||||||
| 19.02.2017, 14:17 [ТС] | |||||||||
|
Наследование легко реализовать, но я не знаю всех тонкостей диспетчеризации по подтипам в лиспе, поэтому полный аналог я реализовать не могу, ты что спишь что-ли? Наивный, без учета указанных конфликтов -- 2 пальца об асфальт.
0
|
|||||||||
|
Заблокирован
|
||
| 19.02.2017, 14:21 [ТС] | ||
|
0
|
||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||||
| 19.02.2017, 14:31 | |||||||
|
После столкновения мы получаем объект - результат столкновения что-то с чем-то. Выражается элементарно. Нет никаких проблем. Не нужно никаких функций. Всё отлично моделируется средствами CLOS. А то когда видишь то, что не понимаешь - это всегда выглядит непонятно и "неконсистентно", но это не означает что так оно и есть.Добавлено через 1 минуту Добавлено через 57 секунд Добавлено через 6 минут
0
|
|||||||
|
Заблокирован
|
||||||||
| 19.02.2017, 14:33 [ТС] | ||||||||
|
Эта вот хрень, которая не делает ничего, помимо того что дублирует нативный Integer, или что там у них
Добавлено через 1 минуту
0
|
||||||||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
||
| 19.02.2017, 14:34 | ||
|
0
|
||
|
Заблокирован
|
|||
| 19.02.2017, 14:36 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||
| 19.02.2017, 14:38 | |||
|
Добавлено через 36 секунд
0
|
|||
|
Заблокирован
|
|
| 19.02.2017, 14:40 [ТС] | |
|
0
|
|
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||
| 19.02.2017, 14:42 | |||
|
Вот тебе в помощь: http://www.artima.com/weblogs/... ead=101605. Гвидо сделал на Python. Но нужно понимать, что его мультиметоды - хак, в обход существующей примитивной реализации ООП (такой же как в Io). Фактически с т.з. языка - функция. Но даже такое решение принимается. Добавлено через 1 минуту
0
|
|||
|
Заблокирован
|
||||||||
| 19.02.2017, 14:43 [ТС] | ||||||||
|
Кроме того, сомнительно, что так это просто. Покажи как построить
0
|
||||||||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
||
| 19.02.2017, 14:44 | ||
|
0
|
||
|
Заблокирован
|
||
| 19.02.2017, 14:45 [ТС] | ||
|
0
|
||
|
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|
| 19.02.2017, 14:45 | |
|
0
|
|
|
Заблокирован
|
||
| 19.02.2017, 14:47 [ТС] | ||
|
0
|
||
|
Супер-модератор
|
||
| 19.02.2017, 14:48 | ||
|
0
|
||
|
Заблокирован
|
||
| 19.02.2017, 14:53 [ТС] | ||
|
0
|
||
|
Супер-модератор
|
||||||||
| 19.02.2017, 14:55 | ||||||||
0
|
||||||||
|
Заблокирован
|
|||
| 19.02.2017, 14:58 [ТС] | |||
|
Добавлено через 48 секунд
0
|
|||
| 19.02.2017, 14:58 | |
|
Мультидиспетчеризация и полиморфизм Структуры на Лиспе Пятнашки на лиспе Списки на Лиспе «Организация вычислений в Лиспе» Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|