Re: Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-03 Thread Miron Brezuleanu
Hi Rich,

On Sat, Jan 2, 2010 at 7:13 PM, Rich Hickey richhic...@gmail.com wrote:

 On Fri, Jan 1, 2010 at 5:16 PM, Miron Brezuleanu mbr...@gmail.com wrote:
  Hello,
  In order to get a better understanding of how some things happen in
 Clojure,
  I'd like to step through Clojure code (and I mean the Java code used to
  implement Clojure). Basically, just debug a REPL, set breakpoints etc.
  Since there's a free version of IDEA, I downloaded it and successfully
  created an IDEA project out of existing Clojure sources.

 I developed Clojure in IntelliJ and still do (the Java part).

 In your Run/Debug configuration:

 Main class: clojure.main
 VM Parameters: -server -cp clojure-slim.jar
 Working directory: /wherever/you/put/clojure
 Before launch: Run Ant target 'clojure-slim'

 This will give you REPL in IntelliJ's IDE. That's not a great REPL,
 but will let you walk through Clojure internals. With La Clojure you
 can also break in .clj files.

 Rich

 That's exactly the information I needed! Thank you,

-- 
Miron Brezuleanu

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-03 Thread Miron Brezuleanu
Hello,

and thanks everyone for the information.

I have this Visual Studio + ClojureCLR + Emacs (last one to run a REPL in a
*shell* buffer) setup that I use to experiment with ClojureCLR. What I do is
have the REPL in Emacs, attach to it from Visual Studio, set breakpoints,
use Immediate Mode etc. I also need to be able to modify the ClojureCLR
code, recompile, restart the REPL, test various things.

I was looking for something similar for Clojure on the JVM, and I think that
the setup Rich described is as close to the ClojureCLR setup as it gets.

However, since La Clojure was only a few clicks away after installing IDEA,
I also played a little with La Clojure. Some questions:

1) I noticed that stepping into from a Clojure breakpoint takes me to the
Java code. I assume that I pop back into Clojure code when reaching an
.invoke. Is there a switch to keep stepping into Clojure only (kind of
fast forwarding on the Java under-the-hood part)?

2) I didn't manage to see values of locals while stopped on a breakpoint in
a Clojure function. How is that done? My test was very simple, a hello
function (defn hello [greetee] (str hello  greetee)) and a call to that
function. I wanted to see the value of the 'greetee' parameter of the hello
function.

3) Is there something similar to Visual Studio's immediate window in IDEA or
LaClojure? If there is not, maybe there's a way to integrate the debug repl
that was discussed on the list a couple of weeks ago (or something like it)
in La Clojure?

Many thanks,

On Sun, Jan 3, 2010 at 2:50 AM, Ilya Sergey ilyas...@gmail.com wrote:

 Hello, Miron.

 to debug your Clojure scripts in IntelliJ with the appropriate plugin
 installed, just create new run configuration for .clj file. It may be
 created automatically via Ctrl(Meta)-Shift-F10 default shortcut. After this
 you can run it in REPL mode or as a standalone script  and put breakpoints
 if you run it in debug mode (Shift-F9 by default).
 If you have clojure.jar in one of the libraries you had attached to the
 module it will be automatically included to the classpath. Normally, when
 you create a new project clojure.jar is suggested to be downloaded
 automatically.

 With best regards,
 Ilya

 2010/1/2 Miron Brezuleanu mbr...@gmail.com

 Hello,

 In order to get a better understanding of how some things happen in
 Clojure, I'd like to step through Clojure code (and I mean the Java code
 used to implement Clojure). Basically, just debug a REPL, set breakpoints
 etc.

 Since there's a free version of IDEA, I downloaded it and successfully
 created an IDEA project out of existing Clojure sources.

 Now when I try to get a REPL (by using clojure.main as the startup class),
 I get an error about clojure/core.clj not being on the classpath. While a
 very rough solution would be to just move clj/clojure somewhere on the path,
 I'd like to know how to change the classpath for a module.

 I did try playing with the module settings and add a 'library' which has a
 path to clj/clojure, but I must be doing something wrong, as it doesn't seem
 to affect the -cp option of the java invocation (I'm checking this using the
 output window).

 Since I am a complete IDEA newbie, I'd be very happy if someone who is
 using IDEA to work on Clojure can provide a few pointers. I don't mind
 trying this with Eclipse, so Eclipse advice is welcome too.

 Many thanks and Happy New Year everyone,
 --
 Miron Brezuleanu

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.comclojure%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.comclojure%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en




-- 
Miron Brezuleanu

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Re: Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-02 Thread Laurent PETIT
Don't know about the current IDEA La Clojure clojure plugin status.

But concerning Eclipse (and its counterclockwise plugin), what you
describe here works well AFAIK.

It's also possible to place breakpoints on your own .clj files.

You can quickly start from here :
http://code.google.com/p/counterclockwise/wiki/Documentation#Install_Counterclockwise_plugin

HTH,

-- 
Laurent

2010/1/1 Miron Brezuleanu mbr...@gmail.com:
 Hello,
 In order to get a better understanding of how some things happen in Clojure,
 I'd like to step through Clojure code (and I mean the Java code used to
 implement Clojure). Basically, just debug a REPL, set breakpoints etc.
 Since there's a free version of IDEA, I downloaded it and successfully
 created an IDEA project out of existing Clojure sources.
 Now when I try to get a REPL (by using clojure.main as the startup class), I
 get an error about clojure/core.clj not being on the classpath. While a very
 rough solution would be to just move clj/clojure somewhere on the path, I'd
 like to know how to change the classpath for a module.
 I did try playing with the module settings and add a 'library' which has a
 path to clj/clojure, but I must be doing something wrong, as it doesn't seem
 to affect the -cp option of the java invocation (I'm checking this using the
 output window).
 Since I am a complete IDEA newbie, I'd be very happy if someone who is using
 IDEA to work on Clojure can provide a few pointers. I don't mind trying this
 with Eclipse, so Eclipse advice is welcome too.
 Many thanks and Happy New Year everyone,
 --
 Miron Brezuleanu

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-02 Thread ianp
 Now when I try to get a REPL (by using clojure.main as the startup class), I
 get an error about clojure/core.clj not being on the classpath. While a very
 rough solution would be to just move clj/clojure somewhere on the path, I'd
 like to know how to change the classpath for a module.

Are you using the La Clojure plugin? You can start a REPL console from
the tools menu (Tools -Clojure REPL - Add New, bound to CTRL-ALT-A
by default).

If not, the best thing would be to install it:

1. go to File - Settings
2. select the Plugins section from the list on the left
3. type clojure into the plugin search box
4. select the La Clojure plugin (it'll be under the available tab
5. click on the install button at the top left of the plugins page

 I did try playing with the module settings and add a 'library' which has a
 path to clj/clojure, but I must be doing something wrong, as it doesn't seem
 to affect the -cp option of the java invocation (I'm checking this using the
 output window).

The REPL that LaClojure gives you will have the same class path as
your clojure project - so you should have both Clojure  Clojure
Contrib available, as well as any libraries that your project has
defined.

Hope this helps!

Cheers,
Ian.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-02 Thread Rich Hickey
On Fri, Jan 1, 2010 at 5:16 PM, Miron Brezuleanu mbr...@gmail.com wrote:
 Hello,
 In order to get a better understanding of how some things happen in Clojure,
 I'd like to step through Clojure code (and I mean the Java code used to
 implement Clojure). Basically, just debug a REPL, set breakpoints etc.
 Since there's a free version of IDEA, I downloaded it and successfully
 created an IDEA project out of existing Clojure sources.
 Now when I try to get a REPL (by using clojure.main as the startup class), I
 get an error about clojure/core.clj not being on the classpath. While a very
 rough solution would be to just move clj/clojure somewhere on the path, I'd
 like to know how to change the classpath for a module.
 I did try playing with the module settings and add a 'library' which has a
 path to clj/clojure, but I must be doing something wrong, as it doesn't seem
 to affect the -cp option of the java invocation (I'm checking this using the
 output window).
 Since I am a complete IDEA newbie, I'd be very happy if someone who is using
 IDEA to work on Clojure can provide a few pointers. I don't mind trying this
 with Eclipse, so Eclipse advice is welcome too.
 Many thanks and Happy New Year everyone,
 --

I developed Clojure in IntelliJ and still do (the Java part).

In your Run/Debug configuration:

Main class: clojure.main
VM Parameters: -server -cp clojure-slim.jar
Working directory: /wherever/you/put/clojure
Before launch: Run Ant target 'clojure-slim'

This will give you REPL in IntelliJ's IDE. That's not a great REPL,
but will let you walk through Clojure internals. With La Clojure you
can also break in .clj files.

Rich

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Re: Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-02 Thread Ilya Sergey
Hello, Miron.

to debug your Clojure scripts in IntelliJ with the appropriate plugin
installed, just create new run configuration for .clj file. It may be
created automatically via Ctrl(Meta)-Shift-F10 default shortcut. After this
you can run it in REPL mode or as a standalone script  and put breakpoints
if you run it in debug mode (Shift-F9 by default).
If you have clojure.jar in one of the libraries you had attached to the
module it will be automatically included to the classpath. Normally, when
you create a new project clojure.jar is suggested to be downloaded
automatically.

With best regards,
Ilya

2010/1/2 Miron Brezuleanu mbr...@gmail.com

 Hello,

 In order to get a better understanding of how some things happen in
 Clojure, I'd like to step through Clojure code (and I mean the Java code
 used to implement Clojure). Basically, just debug a REPL, set breakpoints
 etc.

 Since there's a free version of IDEA, I downloaded it and successfully
 created an IDEA project out of existing Clojure sources.

 Now when I try to get a REPL (by using clojure.main as the startup class),
 I get an error about clojure/core.clj not being on the classpath. While a
 very rough solution would be to just move clj/clojure somewhere on the path,
 I'd like to know how to change the classpath for a module.

 I did try playing with the module settings and add a 'library' which has a
 path to clj/clojure, but I must be doing something wrong, as it doesn't seem
 to affect the -cp option of the java invocation (I'm checking this using the
 output window).

 Since I am a complete IDEA newbie, I'd be very happy if someone who is
 using IDEA to work on Clojure can provide a few pointers. I don't mind
 trying this with Eclipse, so Eclipse advice is welcome too.

 Many thanks and Happy New Year everyone,
 --
 Miron Brezuleanu

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.comclojure%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Clojure + Intellij IDEA: stepping through Clojure implementation code

2010-01-01 Thread Miron Brezuleanu
Hello,

In order to get a better understanding of how some things happen in Clojure,
I'd like to step through Clojure code (and I mean the Java code used to
implement Clojure). Basically, just debug a REPL, set breakpoints etc.

Since there's a free version of IDEA, I downloaded it and successfully
created an IDEA project out of existing Clojure sources.

Now when I try to get a REPL (by using clojure.main as the startup class), I
get an error about clojure/core.clj not being on the classpath. While a very
rough solution would be to just move clj/clojure somewhere on the path, I'd
like to know how to change the classpath for a module.

I did try playing with the module settings and add a 'library' which has a
path to clj/clojure, but I must be doing something wrong, as it doesn't seem
to affect the -cp option of the java invocation (I'm checking this using the
output window).

Since I am a complete IDEA newbie, I'd be very happy if someone who is using
IDEA to work on Clojure can provide a few pointers. I don't mind trying this
with Eclipse, so Eclipse advice is welcome too.

Many thanks and Happy New Year everyone,
-- 
Miron Brezuleanu

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en