1.прочитал цитату по теме:
Если за именем макроса следует «is», например, «is Expr», это – означает, что данный макрос расширяет другой синтаксический макрос (Expr, в случае предыдущего примера). При этом макрос, имя которого, указано после «is» должен быть описан как расширяемый. Для этого нужно писать такой макрос без тела и без описания грамматики.
и подумал , что это требование закрывает путь к интересным возможностям, напр. описываем цикл со всеми причиндалами, потом пишем
наследующий макрос и только прописываем альтернативный синтаксис. дешево и сердито. в смысле расширяемости и чистоты кода.
2. Судя по прочитанному, новый парсер будет на PEG. Идея хорошая, но это, если по уму, при использовании доп. макросов нужно
пересобрать парсер с учетом добавленного синтаксиса. Операция накладная.. Или как?
3. Не удалось понять, какими понятиями оперирует Nemerle 2 Core.
Осталось ли оно в том же виде (блоки + группа базовых операторов) или все же упомянутая группа удалена из дизайна Core.
Меня беспокоит это потому, что с этой группой, прошитой на уровне Core весьма проблематично думать о реализации других языков на Core
или глубокой кастомизации Н2. По моему скромному мнению, на уровне Core кроме блоков, их границ и границ выражений ничего не должно быть.
иначе лексические макросы будут ограничены. и другие языки останутся только в фантазиях.