New release of the enclojure plugin is up.

43 views
Skip to first unread message

Eric Thorsen

unread,
Apr 6, 2009, 8:43:47 PM4/6/09
to Clojure
There is a new release of the Enclojure plugin that addresses many of
the items I have seen discuss here recently with regards to managing
classpaths in REPLs as well as many other Clojure development
scenarios. The plugin supports several use cases for the clojure.main
REPL use:
a. Project based REPLs where the REPL is started using the
dependancies on the project in the IDE.
b. Remote REPLs where some shim code can be included in your
application(s) and you can attach a REPL (or REPLs) to running VMs.
c. Ad-hoc REPLs - manually set your classpaths and start a REPL up.
All of these scenarios have strong integration with the editor
supporting integrated Clojure/Java completion, debugging with viewable
clojure data, syntax highlighting, code loading, expression
evaluation, s-expression nav and many more features. There have been
well over 100 patches since the last release in February.
For more information, please see:
http://enclojure.wikispaces.com
Plugin can be downloaded at:
http://code.google.com/p/enclojure-nb-clojure-plugin/downloads/list

Feedback welcome!
Eric


Eric Thorsen
ThorTech Solutions
www.thortech-solutions.com
(914) 302-7638 [work]
(914) 302-7641 [fax]
(914) 804-4954 [cell]

billh04

unread,
Apr 7, 2009, 1:45:44 AM4/7/09
to Clojure
I downloaded and installed NetBeans and the Enclojure plugin.

I am not clear on how to setup the "main" class.

I modified the "main" class generated by the template to look like the
following:

=============================
(defn -main ([args] (startNewAchiTask))
([ ] (-main nil)))
=============================

This works, but I am not sure what is going on.

Why are there parentheses around "[args] (startNewAchiTask)"?

What is "([ ] (-main nil))"?

Thanks for any help on these questions.

Michael Wood

unread,
Apr 7, 2009, 2:27:51 AM4/7/09
to clo...@googlegroups.com
On Tue, Apr 7, 2009 at 7:45 AM, billh04 <ha...@tulane.edu> wrote:
>
> I downloaded and installed NetBeans and the Enclojure plugin.
>
> I am not clear on how to setup the "main" class.
>
> I modified the "main" class generated by the template to look like the
> following:
>
> =============================
> (defn -main ([args] (startNewAchiTask))
>  ([ ] (-main nil)))
> =============================
>
> This works, but I am not sure what is going on.
>
> Why are there parentheses around "[args] (startNewAchiTask)"?

This function accepts either one or zero arguments. The first list is
for the former case. The second one is for the latter.

> What is "([ ] (-main nil))"?

If it is called with zero arguments:

(-main)

it will automatically call itself with a single argument of nil:

(-main nil)

> Thanks for any help on these questions.

See also http://clojure.org/special_forms#fn (defn expands into (def
... (fn ...))) and http://clojure.org/api#defn

--
Michael Wood <esio...@gmail.com>

CuppoJava

unread,
Apr 7, 2009, 9:18:21 PM4/7/09
to Clojure
I'm just wondering if anyone who's tried this and the IntelliJ plugin
can comment on how they compare.

I'm wondering if Enclojure has some basic s-exp functions, like
Surround-With-().

Daniel Jomphe

unread,
Apr 8, 2009, 11:41:07 AM4/8/09
to Clojure
For different reasons, I've been constantly switching between
NetBeans, IntelliJ and Eclipse for clojure development in the last few
days. Thus, I'm somewhat proficient with them, though I master none.

Eclipse and NetBeans have both very recently seen new releases of
their clojure plugins that brought many improvements to the table.

Unless I missed some documentation, IntelliJ's plugin is the one that
features the less support of clojure's lispy features, including sexps
and repl. And it appears to be the least documented.

Eclipse has, by far, the best syntax highlighting and the best
keyboard bindings behavior, although there's only a few such bindings
available for now.

NetBeans is almost on par with Eclipse for its keyboard bindings.
Namely, it features a bit more bindings, which behave a bit less well.
Most of all, Enclojure features, and by far, the best repl
interactions.

Overall, I think Enclojure is the best offering as of today. And I
wouldn't be surprised if it kept its pole position for quite a long
time.

That said, these plugins are still far from the usability of SLIME
with paredit; but I wouldn't be surprised to see some of them outweigh
them in a not too distant future.

In reading my opinions, please remind yourself I'm no expert user of
anyone of these plugins - I have only a few days worth of shared usage
under my belt.

Luke VanderHart

unread,
Apr 8, 2009, 1:14:30 PM4/8/09
to Clojure
Excellent... this is the first release of a Clojure IDE that hasn't
immediately proven itself unusable as I put it through its paces.

I expect this will become my main platform for Clojure development.

Thanks!

-Luke

CuppoJava

unread,
Apr 8, 2009, 6:20:34 PM4/8/09
to Clojure
Thanks for that very informative comparison. I'll give it a try
immediately.
-Patrick

Laurent PETIT

unread,
Apr 9, 2009, 7:40:47 AM4/9/09
to clo...@googlegroups.com
Hi, FYI, it seems that the old web site of enclojure is still up and running, and not referencing the new wikispaces web site.

HTH,

--
Laurent

2009/4/7 Eric Thorsen <etho...@enclojure.org>

MarkH

unread,
Apr 9, 2009, 1:28:44 PM4/9/09
to Clojure
Enclojure is shaping up to be a really nice development environment
for Clojure. Great work Eric.
Reply all
Reply to author
Forward
0 new messages