Adolph两边

 

Lisp中编写宏的步骤以及规范

一.编写步骤

1.编写示例的宏调用以及它应当展开的代码,反之亦然.

2.编写从示例调用中生成手写展开式的代码.

3.确保宏抽象不产生"泄露".

二.遵循规则

1.除非有特殊理由,否则需要将展开式中任何子形式放在一个位置上,使其求职顺序与宏调用的子形式相同.

2.除非有特殊理由,否则要确保子形式仅被求值一次,方法是在展开式中创建变量来持有求值参数形式所得到的值,然后在展开式中所有需要用到该值的地方使用这个变量.

3.在宏展开期使用GENSYM来创建展开式中用到的变量名.

posted on 2015-04-25 11:05  Adolph两边  阅读(570)  评论(0编辑  收藏  举报

导航