使用Sharpsign Dot有什么好处?

ccQpein

我最近使用过cl-ppcre软件包,我对它们如何优化此软件包感到非常好奇,因为我想学习优化常见的Lisp。我注意到他们在声明表达式中经常使用Sharpsign Dot,就像这里优化设置在此处

他们为什么这样写?有什么好处吗?还是有一些规则要做?

更新:我跑步

(defvar *b* '(optimize speed))
(pprint (macroexpand-1 '(declaim *b*)))
(pprint (macroexpand-1 '(declaim #.*b*))) ;; => this one is right

那么,#.即使在宏调用之前eval值也可以吗?像它一样先评估值,然后在宏参数中替换它。

除夕夜

Sharpsign Dot将在读取时评估下一个表达式。因此,它将作为读者获取结果的手段,而CL的其他级别则不知道这一点。由于有评估规则,依赖于文字的宏不能动态化,因此s的读取时间宏将绕过它,并使其成为动态表达式,而对于其他级别的读者来说,其文字则是文字。

好处是可以提高元编程水平。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用UITableViewController有什么好处?

来自分类Dev

使用compose有什么好处?

来自分类Dev

使用ObjectSet有什么好处

来自分类Dev

使用arrayWithCapacity有什么好处

来自分类Dev

使用Elixir的“ with”有什么好处

来自分类Dev

使用Cordova有什么好处?

来自分类Dev

在解析JSON时使用NSDictionary有什么好处或好处?

来自分类Dev

使用QueudSynchronizer实现CountLatch有什么好处?

来自分类Dev

使用Integer时IntegerCache有什么好处?

来自分类Dev

使用设计文档有什么好处?

来自分类Dev

使用结果有什么好处?

来自分类Dev

在Android中使用BroadcastReceiver有什么好处?

来自分类Dev

使用--grep-reflog有什么好处?

来自分类Dev

使用Gunicorn + Nginx + Flask有什么好处?

来自分类Dev

使用Spring PropertySource有什么好处?

来自分类Dev

在DRF中使用HyperlinkedModelSerializer有什么好处?

来自分类Dev

在python中使用*或**有什么好处吗?

来自分类Dev

在Erlang中使用RabbitMQ有什么好处?

来自分类Dev

使用关键字“ this”有什么好处?

来自分类Dev

(Python)使用静态方法有什么好处?

来自分类Dev

使用邮件分发服务有什么好处?

来自分类Dev

通过DVI使用HDMI有什么好处?

来自分类Dev

使用相同的内存模块有什么好处?

来自分类Dev

使用结果有什么好处?

来自分类Dev

使用CDH(cloudera)有什么好处?

来自分类Dev

使用#define声明常量有什么好处?

来自分类Dev

使用这种SQL样式有什么好处?

来自分类Dev

在Redux中,使用actionCreators有什么好处?

来自分类Dev

在Erlang中使用RabbitMQ有什么好处?