我希望能够分析我的Clojure程序,看看如何使用内存.有没有工具可以做到这一点?
更新:我已经尝试了答案中提到的JVM工具,但这些工具都没有让我可视化我的任何clojure数据结构,尽管它们确实给了我一些指示
我正在开发一个Clojure项目,我经常发现自己正在为DSL编写Clojure宏,但我正在观看Clojure视频,了解公司如何在实际工作中使用Clojure,而且发言人说在实际使用中他们不使用宏来实现他们的DSL,他们只使用宏来添加一点句法.这是否意味着我应该使用标准函数编写我的DSL,然后在最后添加一些宏?
更新:在阅读了这个问题的许多不同(和有趣的)回答后,我意识到答案并不像我最初想的那样明确,原因有很多:
应用程序中有许多不同类型的API(内部,外部)
API的用户有很多种类(商业用户只想快速完成某项工作,Clojure专家)
是否有宏隐藏锅炉板代码?
我会离开并更深入地思考这个问题,但感谢你的回答,因为他们给了我很多思考.另外我注意到Paul Graham认为与Christophe视频相反,并认为宏应该是代码库的很大一部分(25%):
我一直在学习Erlang,但我也一直盯着其他技术,比如Scala.有谁知道Scala的多节点性能与Erlang相比如何?
我有一些代码,用load-string替换read-string后工作.代码工作很好,但我想知道原因.两个clojure函数有什么区别?
是否有函数或宏我可以执行以下操作:
(has-side-effects? my-function my-function-args)
Run Code Online (Sandbox Code Playgroud)
:或类似的东西可以返回true或false,或者{:side-effects true/false,:result return_value)
我只需要一种简单的方法来测试哪些功能是无副作用的.
我有一个使用某个命名空间的clj文件,我希望定义属于另一个命名空间的东西,所以我这样做:
(def other.namespace/name-of-something "value")
Run Code Online (Sandbox Code Playgroud)
:但是当我这样做时,我得到了结果:
java.lang.Exception: Can't refer to qualified var that doesn't exist
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?
我来自iphone开发,你不能在后台发送短信而不要求用户确认发送.可以在android的后台发送短信,这样就不需要用户干预吗?
我知道Gmail和谷歌+都是使用google关闭编写的,但谷歌以外的网站是否有任何关于google关闭的好例子?