Может макрос быть написана на схеме (с define-syntax
, например), которые будут принимать такие выражения, как это:Схема Macro для гнездования выражений
(op a b c d e f g h i j)
И выход выражения, как это как выход?
(op (op (op (op (op (op (op (op (op a b) c) d) e) f) g) h) i) j)
Конечно, для произвольной длины. Я не могу придумать способ сделать это, учитывая некоторый шаблон, как это:
(define-syntax op
(syntax-rules()
[(_) 'base-case]
[(v1 v2 ...) 'nested-case??]))
Мне любопытно. Это просто вопрос теоретического интереса или у вас есть интересный случай использования? В общем, такая упаковка будет достигнута с помощью foldLeft. – namin 2008-12-04 20:34:39
hmm, хороший пункт. Я в основном спросил об этом, потому что я не думал о вашем пути = P. я не понимал, что это именно то, что делает склад. – Claudiu 2008-12-10 20:32:20