История изменений
Исправление
geekless,
(текущая версия)
:
А что в руби уже можно подставлять что-то в компайл-тайме?
Нет, но не все ж знакомы с семантикой Ruby. Поэтому уточнил.
Я так понимаю, что эта «псевдо» операция просто разворачивается в вызов метода, который делает сплайсинг. Ну такой вот малополезный синтаксис.
Да, но разворачивается она на уровень выше по синтаксическому дереву, чем дано в исходнике. Я хочу проэмулировать это поведение: макрос указан во внутреннем списке, а макроподстановка выполняется во внешнем списке.
> В идеале, хотелось бы, чтобы backquote не было, а функция его выполнялась.
И как вы предлагаете различать, что выполнять при компиляции, а что в рантайме?
В данном случае нам надо не «вообще» от него отказаться, а чтобы квотирование «магически» проявлялось вокруг списка, если в одном из его дочерних списков пристутствует указанный (псевдо)макрос.
Да, это всё из разряда «хочу странного». :} Но хочу.
Исходная версия
geekless,
:
А что в руби уже можно подставлять что-то в компайл-тайме?
Нет, но не все ж знакомы с семантикой Ruby. Поэтому уточнил.
Я так понимаю, что эта «псевдо» операция просто разворачивается в вызов метода, который делает сплайсинг. Ну такой вот малополезный синтаксис.
Да, но разворачивается она на уровень выше по синтаксическому дереву, чем дано в исходнике. Я хочу проэмулировать это поведение: макрос указан во внутреннем списке, а макроподстановка выполняется во внешнем списке.
> В идеале, хотелось бы, чтобы backquote не было, а функция его выполнялась.
И как вы предлагаете различать, что выполнять при компиляции, а что в рантайме?
В данном случае нам надо не «вообще» от него отказаться, а чтобы квотирование «магически» обнаруживалось проявлялось вокруг списка, если в одном из его дочерних списков пристутствует указанный (псевдо)макрос.
Да, это всё из разряда «хочу странного». :} Но хочу.