OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 14 Ноябрь, 2024 06:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: шаблоны через спецвьюшки
СообщениеДобавлено: Вторник, 07 Март, 2023 22:40 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1489
мне смутно помнится, что нечто подобное уже обсуждалось, но…

а зачем вообще менять компилятор для шаблонов? у нас же такая-то документная система! делаем вьюшку, похожую на фолд; в ней пишем нужный тип, и документ с исходником-шаблоном. после чего по клацу эта вьюшка разворачивает шаблон, заменяя type placeholders — почти как обычный фолд. если клацнуть обратно — сворачивает. зачем надо обратно — чтобы можно было обновить шаблон из файла.

получаем что? получаем гибкие шаблоны — раз. если мы шаблон один раз развернули — он не сломается, когда файл поменяли, потому что его по месту вставили. если надо обновить — просто свернули-развернули. если надо обновить во всём проекте, например — элементарно пишем инструмент, который просканирует документы в "Mod/" и программно поклацает на нужных вьюшках.

итого: получаем все прелести шаблонов (и не только импортом модуля — хоть мильярд их плоди из одного исходника!) без изменения компилятора, без необходимости из модуля-шаблона что-то экспортировать и ты пы. более того: когда шаблоны развёрнуты — все обычные инструменты работы с исходником спокойно продолжают работать.

да, использовать шаблон внутри шаблона тоже можно, в принципе: просто развернуть внутри шаблон-фолда ещё один, делов-то. а что это не очень удобно — так оно и хорошо: не поощряет шаблонизм черепа.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB