В схеме или ракетке, когда использовать функции и когда использовать макросы - PullRequest
1 голос
/ 17 марта 2012

Может кто-нибудь дать общие рекомендации о том, когда использовать макросы Схемы или Ракетки и когда использовать функции.

Если вы не создаете новый синтаксис и не создаете побочные эффекты для переменных, есть ли случаи, когда вам придется (или было бы более целесообразно) использовать макросы вместо функций?

Ответы [ 2 ]

4 голосов
/ 19 марта 2012

Матиас Феллайзен кратко обсуждает этот вопрос в своем Руководстве по стилю ракетки .

4 голосов
/ 17 марта 2012

Макросы позволяют использовать совершенно другой синтаксис. Вызов макроса совсем не должен выглядеть как вызов функции, хотя часто это делают простейшие макросы. Кроме того, макросы выполняются в отдельной фазе перед временем выполнения . Итак, если вам нужен другой синтаксис или если вы хотите расширить макросы до времени выполнения, тогда, ну, используйте макрос.

В общем, я бы сказал, что если вы можете сделать это чисто с помощью функции, то используйте функцию.

...