大家一般通过什么方式运行调试clojure程序?

358 views
Skip to first unread message

Yan Chunlu

unread,
Jan 4, 2012, 8:56:11 AM1/4/12
to cn-cl...@googlegroups.com
刚接触clojure, 发现各种依赖关系很麻烦, 然后尝试了下lein, 虽然能解决各种依赖问题,但是运行起来非常慢,
每次修改后运行都得等个几秒,效率实在是低啊....

lein repl也很慢,我看到这个人的blog:
http://nakkaya.com/2010/03/02/analytics-with-incanter/
貌似也是在repl环境使用clojure的,不知到是不是我使用的方式有问题? 谢谢!

cdredfox

unread,
Jan 4, 2012, 9:11:24 AM1/4/12
to cn-cl...@googlegroups.com
一般用clooj写代码
--
杨飞
Email:       cdre...@gmail.com
Blog:         http://www.blogjava.net/cdredfox

支付宝

Sun Ning

unread,
Jan 4, 2012, 7:12:57 PM1/4/12
to cn-cl...@googlegroups.com
用lein repl的时候不必每次都重启,可以利用(use 'abc :reload)来刷新
如果用emacs可以用swank/slime,修改文件之后C+c C+l一下,在slime里重新use一下
如果用clooj或者la clojure一类的,也都有在当前会话里刷新代码的功能


--
Sun Ning
Software developer
Nanjing, China (N32°3'42'' E118°46'40'')
http://about.me/sunng/bio

Robert Luo

unread,
Jan 4, 2012, 7:54:11 PM1/4/12
to CN-Clojure
开始一个新的项目的时候,可以不用分太多 namespace,一个 namespace,一个文件即可。重要的是尽量分清纯函数和非纯函数,尽量减少
后者,在这种情况下,你一般不需要调试和跟踪程序(在任何强大的 ide 下,这都是最费时的操作)。clojure 来解决问题非常直接,不需要象
Java 下那样靠多个类来协作,因此 namespace 可以要求松一点。

lbt0506

unread,
Jan 4, 2012, 7:59:39 PM1/4/12
to cn-cl...@googlegroups.com

初学者表示,大部分时间都花费在逻辑和括号层次上了,还没debug过。。。

lbt05
send from my phone

在 2012-1-5 上午8:54,"Robert Luo" <l...@basecity.com>写道:
开始一个新的项目的时候,可以不用分太多 namespace,一个 namespace,一个文件即可。重要的是尽量分清纯函数和非纯函数,尽量减少
后者,在这种情况下,你一般不需要调试和跟踪程序(在任何强大的 ide 下,这都是最费时的操作)。clojure 来解决问题非常直接,不需要象
Java 下那样靠多个类来协作,因此 namespace 可以要求松一点。


On Jan 5, 8:12 am, Sun Ning <classicn...@gmail.com> wrote:

> 用lein repl的时候不必每次都重启,可以利用(use 'abc :re...

naitong Xiao

unread,
Jan 4, 2012, 8:42:36 PM1/4/12
to cn-cl...@googlegroups.com
lazy evaluation 一开始不太明白,尝试过装cdt调试,没装成功,后来再也没用过调试工具了。
eclipse counterclockwise 的repl窗口没办法使用编辑快捷键,其他都还好
目前还是主要使用emacs,用swank/slime 遇到的最大问题是,没有DynamicClassLoader, 添加依赖和genclass 生成的类更新,都需要重新启动swank

Yan Chunlu

unread,
Jan 4, 2012, 9:37:44 PM1/4/12
to cn-cl...@googlegroups.com
reload确实很好用!

大家的讨论都很有帮助,非常感谢!

2012/1/5 Sun Ning <class...@gmail.com>:

weiyongq

unread,
Jan 5, 2012, 10:37:11 PM1/5/12
to CN-Clojure
用IDEA调试过,设置断点,还行,就是堆栈的内容不好理解

On 1月5日, 上午10时37分, Yan Chunlu <springri...@gmail.com> wrote:
> reload确实很好用!
>
> 大家的讨论都很有帮助,非常感谢!
>

> 2012/1/5 Sun Ning <classicn...@gmail.com>:

dennis zhuang

unread,
Jan 5, 2012, 10:45:34 PM1/5/12
to cn-cl...@googlegroups.com
我很原始,从来没用过调试,写测试,用prn。
编辑用emacs。
--
庄晓丹
Email:        killm...@gmail.com
伯岩(花名)  bo...@taobao.com
Site:           http://fnil.net

淘宝(中国)软件有限公司 / 产品技术部 / Java中间件

dennis zhuang

unread,
Jan 5, 2012, 10:45:40 PM1/5/12
to cn-cl...@googlegroups.com
我很原始,从来没用过调试,写测试,用prn。

在 2012年1月6日 上午11:37,weiyongq <weiy...@gmail.com>写道:

shrek Wang

unread,
Nov 17, 2014, 10:00:06 PM11/17/14
to cn-cl...@googlegroups.com
如果要调试的代码是在第三方库中, 这时候怎么用prn 呢?

Isaac Zeng

unread,
Nov 18, 2014, 1:10:00 AM11/18/14
to cn-cl...@googlegroups.com
如果熟悉 Emacs 的话, 用 Emacs + cider 是不错的。 你也可以使用 Intellij Idea + La Clojure 插件。

xfeep

unread,
Nov 20, 2014, 3:42:50 AM11/20/14
to cn-cl...@googlegroups.com
eclipse ccw 凑合用debug和java操作类似,或者使用trace (https://github.com/clojure/tools.trace),可以把调用栈上的函数(trace了的)参数返回值都打印出来


On Wednesday, January 4, 2012 9:56:11 PM UTC+8, Charles wrote:

Haowen Zhu

unread,
Dec 31, 2014, 4:17:06 AM12/31/14
to cn-cl...@googlegroups.com
IntelliJ + Cursive

在 2012年1月4日星期三UTC+8下午9时56分11秒,Charles写道:

TLightSky

unread,
Jan 4, 2015, 12:32:30 AM1/4/15
to cn-cl...@googlegroups.com
LightTable Cmd+Shift+Enter瞬间执行

--
中文社区博客:http://blog.clojure.cn/
中文问答网站:http://ask.clojure.cn/
中文邮件列表:https://groups.google.com/d/forum/cn-clojure?hl=zh-CN
---
您收到此邮件是因为您订阅了Google网上论坛上的“CN-Clojure”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到cn-clojure+...@googlegroups.com
要发帖到此群组,请发送电子邮件至cn-cl...@googlegroups.com
访问此群组:http://groups.google.com/group/cn-clojure
要查看更多选项,请访问https://groups.google.com/d/optout



--
会当凌绝顶,一览众山小

Chaomo Li

unread,
Jan 7, 2015, 5:26:22 AM1/7/15
to cn-cl...@googlegroups.com
楼上说了 我写短小精悍代码的时候也是lighttale,开发storm clojuredsl用的是idea,idea的cursive插件非常人性化


On Wednesday, January 4, 2012 9:56:11 PM UTC+8, Charles wrote:
Reply all
Reply to author
Forward
0 new messages