2009-06-05 5 views
4

Я действительно хочу узнать макросы Схемы. Я просмотрел содержание «On Lisp», и многие главы были посвящены макросам Lisp. Тем не менее, я не знаю общих шепотов. Могу ли я использовать его для изучения Scheme Macros?Изучите макросы в схеме от Lisp

+2

Грег прав, макросы Common Lisp слишком отличаются от Scheme's, чтобы узнать специфику с On Lisp. Но намерение макросов в On Lisp применяется к любому языку с макросами. Возможно, стоит прочитать главы макросов для идей, а не для конкретного кода. –

ответ

10

Макросы схемы («гигиенические макросы») полностью отличаются от традиционных макросов Lisp. Некоторые реализации схемы предлагают макросы Lisp в дополнение к макросам Scheme, но это не требуется стандартом Scheme.

Я бы порекомендовал вам искать учебные материалы, относящиеся к макросам Scheme, если вы хотите узнать об этом стиле макроса. Google показывает много страниц, предлагающих введение в макросы Scheme.

+0

Я ничего не знаю о макросах. Я не понимаю, что макросы Lisp полностью непригодны для использования в Scheme или Scheme. Макросы просто «лучше»? – unj2

+0

Схема Макросы в основном лучше; более высокий уровень, если хотите. Я думаю, вы можете создавать макросы Scheme из макросов CL, но не наоборот. Макросы схемы намного приятнее работать, поскольку они не будут захватывать переменные на вас. –

5

Re: Натан Сандерс

На Лисп определенно стоит прочитать; вы получаете представление о стиле макросов и некоторых интересных решениях проблем. Кроме того, вы обнаружите, что лучше понять проблему, которую разрешают гигиенические макросы.

Я еще не могу прокомментировать, или я бы сделал это по очереди.