Re: Clojure Code Analysis Tools

2008-12-11 Thread [EMAIL PROTECTED]

On Dec 2, 4:52 pm, Peter Wolf [EMAIL PROTECTED] wrote:

 I vote that we take Merlyn's code as a base and put it on SourceForge.  
 I'll add my Lexer and Parser and work on formatting, parens matching and
 coloring.  Erik can add his REPL and completion stuff.

 However, I think it would be polite to wait 24 hours for Merlyn to give
 his/her OK before I do this.

Any further word on this? Realistically the only way I'll be able to
use clojure in anger (ie. at work) is if I can bring all the Intellij
goodness to bear on it :) Coding without automated refactoring support
and instant code navigation now feels like chopping down trees with a
spoon.
--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-11 Thread Peter Wolf

Hi Darren,

Work continues.  Merlyn has invited me to take over admin of the code.  
I have taken Merlyn's code as a base, and am fleshing it out.

Currently, I am struggling though the lack of documentation and examples 
for building a custom language plugin.  I have implemented a Lexer, and 
am debugging Brace Matching.  BTW, Rich, I stole the Lexer from the 
Clojure source.  I hope that's OK.

Once I get Brace Matching going, I was going to check it in, and invite 
others to join in the hacking.

Please email me at [EMAIL PROTECTED] if you want to help with the 
IntelliJ plugin.

Peter


[EMAIL PROTECTED] wrote:
 On Dec 2, 4:52 pm, Peter Wolf [EMAIL PROTECTED] wrote:
   
 I vote that we take Merlyn's code as a base and put it on SourceForge.  
 I'll add my Lexer and Parser and work on formatting, parens matching and
 coloring.  Erik can add his REPL and completion stuff.

 However, I think it would be polite to wait 24 hours for Merlyn to give
 his/her OK before I do this.

 
 Any further word on this? Realistically the only way I'll be able to
 use clojure in anger (ie. at work) is if I can bring all the Intellij
 goodness to bear on it :) Coding without automated refactoring support
 and instant code navigation now feels like chopping down trees with a
 spoon.
 

   


--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-02 Thread Randall R Schulz

On Tuesday 02 December 2008 06:16, [EMAIL PROTECTED] wrote:
 ...

 Just found this http://code.google.com/p/clojure-intellij-plugin/ - I
 guess that's another one? Might be worth looking into working on that
 rather than starting up a competitor.

I retrieved the code. It is at best a skeleton. There appears to be 
virtually no implementation at all beyond the identification of the 
language supported and the file suffixes used.

I believe failure to launch would characterize that project...


Randall Schulz

--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-02 Thread Peter Wolf

Since the code doesn't exist yet, I'd have to say no...  Like I said, 
I'm just getting started.

How about I get the basic framework going so that IntelliJ knows about 
CLJ files, and say paren matching works.  Then we can start a 
SourceForge project and others can implement the API for references, 
refactoring, formatting etc.


[EMAIL PROTECTED] wrote:
 On Dec 1, 4:11 pm, Peter Wolf [EMAIL PROTECTED] wrote:
   
 Since I plan to introduce Clojure into existing large Java projects, I want 
 to use a decent IDE.  So I am writing a Clojure plugin for my favorite-- 
 IntelliJ.  When I'm done I hope to offer a nice integrated environment 
 complete with debugger, profiler and automatic refactoring.  

 However, this will take me a while as I am new to writing IntelliJ plugins.  
 All help welcome.

 Peter
 

 Hurry up! That would be awesome. Is the plugin code publicly available
 anywhere?

 -Darren
 

   


--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-02 Thread [EMAIL PROTECTED]

On Dec 1, 4:11 pm, Peter Wolf [EMAIL PROTECTED] wrote:

 Since I plan to introduce Clojure into existing large Java projects, I want 
 to use a decent IDE.  So I am writing a Clojure plugin for my favorite-- 
 IntelliJ.  When I'm done I hope to offer a nice integrated environment 
 complete with debugger, profiler and automatic refactoring.  

 However, this will take me a while as I am new to writing IntelliJ plugins.  
 All help welcome.

 Peter

Hurry up! That would be awesome. Is the plugin code publicly available
anywhere?

-Darren
--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-02 Thread Randall R Schulz

On Tuesday 02 December 2008 08:52, Peter Wolf wrote:
 ...

 I vote that we take Merlyn's code as a base and put it on
 SourceForge. I'll add my Lexer and Parser and work on formatting,
 parens matching and coloring.  Erik can add his REPL and completion
 stuff.

 However, I think it would be polite to wait 24 hours for Merlyn to
 give his/her OK before I do this.

Polite, certainly. But as ever, the bottom line is the license under 
which it was released, and in this case that's the Apache License 2.0. 
You should decide whether that's consistent with your intentions.


Randall Schulz

--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-02 Thread Dave Griffith


 Polite, certainly. But as ever, the bottom line is the license under
 which it was released, and in this case that's the Apache License 2.0.
 You should decide whether that's consistent with your intentions.

It's worth noting that JetBrains has a history of including third-
party plugins as part of the core IntelliJ IDEA distribution, if the
authors are amenable and the plugin is of quality and felt to be
generally useful to the IDEA community.   I've had a few of mine
included that way, and consider it quite an honor.  In those cases,
the plugin gets relicensed as Apache 2.0.I don't know if that's
something you might be interested in eventually, but it's something to
think about.  It's early days for Clojure, but who knows what the
future might bring.

Dave Griffith
--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-01 Thread mehrheit

On Sun, 30 Nov 2008 07:34:35 -0800
Randall R Schulz [EMAIL PROTECTED] wrote:
 
 So... As I'm writing this, it occurs to me that the compiler attaches 
 source location information (file name and line number) as metadata
 to any Var it creates (I think that's the proper locus of the
 attachment), so one element of simple cross-reference tool is already
 there:
 

swank-clojure uses this information and allows to navigate code in a
tags-like manner.

--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-01 Thread Mark Volkmann

On Mon, Dec 1, 2008 at 8:06 AM, Randall R Schulz [EMAIL PROTECTED] wrote:

 On Monday 01 December 2008 05:21, mehrheit wrote:
 On Sun, 30 Nov 2008 07:34:35 -0800

 Randall R Schulz [EMAIL PROTECTED] wrote:
  So... As I'm writing this, it occurs to me that the compiler
  attaches source location information (file name and line number) as
  metadata to any Var it creates (I think that's the proper locus of
  the attachment), so one element of simple cross-reference tool is
  already there:

 swank-clojure uses this information and allows to navigate code in a
 tags-like manner.

 I know Emacs is the standard tool for Lisp programming, but
 unfortunately, I'm not an Emacs user and don't plan to invest the time
 it would take to learn how to use it (I know Vi / Vim too well).

I'm in the same boat. It would be interesting to hear what percentages
of people working with Clojure or learning it are using Emac, Vi/Vim
or something else.

 I've got some very rudimentary Clojure code that generates proper tags
 files for Clojure code, but it needs more work before it's even
 minimally usable for everyday purposes.

-- 
R. Mark Volkmann
Object Computing, Inc.

--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-01 Thread Peter Wolf

I am an EMACS user, and I started off by trying SLIME.  I liked it.

Unfortunately, most of my work is in Java, and because every class has its own 
file, and Java is so wordy, EMACS is a terrible Java environment (sorry... 
Java is a terrible language ;-))

Since I plan to introduce Clojure into existing large Java projects, I want to 
use a decent IDE.  So I am writing a Clojure plugin for my favorite-- IntelliJ. 
 When I'm done I hope to offer a nice integrated environment complete with 
debugger, profiler and automatic refactoring.  

However, this will take me a while as I am new to writing IntelliJ plugins.  
All help welcome.

Peter

 I'm in the same boat. It would be interesting to hear what percentages
 of people working with Clojure or learning it are using Emac, Vi/Vim
 or something else.


--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-01 Thread Randall R Schulz

Hi, Peter,

On Monday 01 December 2008 08:11, Peter Wolf wrote:
 ...

 Since I plan to introduce Clojure into existing large Java projects,
 I want to use a decent IDE.  So I am writing a Clojure plugin for my
 favorite-- IntelliJ.  When I'm done I hope to offer a nice integrated
 environment complete with debugger, profiler and automatic
 refactoring.

 However, this will take me a while as I am new to writing IntelliJ
 plugins.  All help welcome.

I look forward to this. For a variety of reasons, I don't think I could 
be much help beyond testing, however, I am very willing to do that, 
even at the early stages. Please let me know if you'd like a tester.

Like you, I'm introducing Clojure into a large and mature yet 
still-evolving Java program and foresee a very significant role for the 
Clojure portion, so I would, at least, be a pretty good real-world use 
case.


 Peter


Randall Schulz

--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Re: Clojure Code Analysis Tools

2008-12-01 Thread Peter Wolf

Thanks Randall,

If you go over to the IntelliJ plugin forums, you will see lots of me 
struggling with the Custom Language API.  I'm still trying to get the 
icons to change for CLJ files.  So, please don't expect anything soon.

P

P.S.  I have written the required Lexer and a Parser, however, that was 
easy :-)


Randall R Schulz wrote:
 Hi, Peter,

 On Monday 01 December 2008 08:11, Peter Wolf wrote:
   
 ...

 Since I plan to introduce Clojure into existing large Java projects,
 I want to use a decent IDE.  So I am writing a Clojure plugin for my
 favorite-- IntelliJ.  When I'm done I hope to offer a nice integrated
 environment complete with debugger, profiler and automatic
 refactoring.

 However, this will take me a while as I am new to writing IntelliJ
 plugins.  All help welcome.
 

 I look forward to this. For a variety of reasons, I don't think I could 
 be much help beyond testing, however, I am very willing to do that, 
 even at the early stages. Please let me know if you'd like a tester.

 Like you, I'm introducing Clojure into a large and mature yet 
 still-evolving Java program and foresee a very significant role for the 
 Clojure portion, so I would, at least, be a pretty good real-world use 
 case.


   
 Peter
 


 Randall Schulz

 

   


--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---



Clojure Code Analysis Tools

2008-11-30 Thread Randall R Schulz

Hi,

Speaking of program analysis tools (I was, in another thread), has 
anybody written anything along these lines for Clojure?

I appreciate the (doc) and (find-doc) built-ins and use them quite a 
lot, but they don't help when it comes to analyzing existing Clojure
source code.

As a rank amateur at Clojure (and someone who hasn't done much Lisp 
programming for quite a few years, now), I find myself looking to the 
Clojure code of others, especially that comprising the Clojure language 
itself as well as the Clojure-Contrib library, for examples of how to do 
things or how existing things are done.

However, grep is a meager tool for finding things (even all the spiffy
options in Gnu grep). One step up would be a tags-file generator.

So... As I'm writing this, it occurs to me that the compiler attaches 
source location information (file name and line number) as metadata to 
any Var it creates (I think that's the proper locus of the attachment), 
so one element of simple cross-reference tool is already there:

user= (meta (var doc))
{:line 2559,
 :doc Prints documentation for a var or special form given its name,
 :file core.clj,
 :arglists ([name]),
 :macro true,
 :name doc, :ns #Namespace clojure.core}

user= (meta (var meta))
{:line 147,
 :doc Returns the metadata of obj, returns nil if there is no metadata.,
 :file core.clj,
 :arglists ([obj]),
 :name meta,
 :ns #Namespace clojure.core}


Hmm... I think I'll try to write a tags-file generator... I seem to
recall seeing some name-space oriented introspection built-ins
that should be suitable for driving the process.


Randall Schulz

--~--~-~--~~~---~--~~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~--~~~~--~~--~--~---