Re: [N2] Синтаксические макросы
От: catbert  
Дата: 25.09.11 08:17
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Приветствуется любая критика.


1.

syntax "if" "(" cond ")" e1 ";"? "else" e2


Зачем ";"? Ведь в Немерле-1 к любому выражению и так можно приписать ; без последствий.

2. Почему бы не дать каждому виду макросов свое имя? Например, оставить macro для самого популярного вида: тех, которые расширяют другие макросы. Расширяемые макросы типа Expr назвать macrobase, или там choice, или extensible.

3. Я так и не понял, во что в конечном итоге переписываются макросы. В Nemerle 1 с этим просто — MacroCall переписывается в PExpr. Но в Nemerle 2 нету никакого PExpr! Есть только Expr, который сам по себе макрос.
@?. переписывается в if, if переписывается в match, но match тоже Expr. Что с ним-то делать?

4. Мне кажется, не стоит называть дерево разбора Ast. AST означает Abstract syntax tree — важное понятие для авторов языка, и непонятную белиберду для пользователей. Им вряд ли интересно, что такое ast, почему оно abstract и так далее.

Это как с лямбдами. Почему они лямбды? Кому интересно, что их прародитель — λ-исчисление какого-то древнего дядьки? Название "анонимные функции" понятнее.

В данном случае, проще и правильнее назвать класс просто Code.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.