This is so cool and extremely useful.  Thank you so much for this!

Ghadi

On Tuesday, June 10, 2014 11:39:12 AM UTC-4, Francesco Bellomi wrote:
>
> Hello everyone,
>
> http://crossclj.info
>
> I've been working on CrossClj for some time now, and I feel it has grown 
> usable (and useful) enough to make a public announcement.
>
> CrossClj is a tool to explore the whole Clojure(-script) open-source 
> ecosystem as an interconnected codebase.
>
> The source code of Leiningen projects published as Clojars artifacts is 
> rendered as a hypertext; each var occurrence is linked to its definition 
> (namespaces belonging to different artifacts are resolved using maven 
> coordinates), and each reference to a method/class of the standard Java JDK 
> lib is linked to the Oracle documentation.
>
> Starting from a var definition, it is possible to list all the qualified 
> occurrences of the var across all the indexed projects; or it is possible 
> to search all namespaces in all projects for vars with a given name.
>
> A project should be automatically listed, provided that the following 
> conditions are met:
> - The project is deployed on Clojars under a public group (not a 
> org.clojars.* user group)
> - The project uses Leiningen and provides a project.clj with a description.
> - The project has at least one non-SHAPSHOT release.
> - Source code is incuded into project's artifact, and hosted publicly on 
> GitHub (i.e. there is a github reference on the project's POM under the url 
> or scm/connection fields). This almost ensures that the source code license 
> is compatible with CrossClj's usage.
>
> Some examples illustrating various features:
>
>
> http://crossclj.info/ns/org.clojure/tools.analyzer/0.2.1/clojure.tools.analyzer.html#_macroexpand
> http://crossclj.info/fun/clojure.core/reduce.html
> http://crossclj.info/search?q=map
> http://crossclj.info/ns/ring/ring-core/1.3.0/project.clj.html
> http://crossclj.info/ns/org.clojure/clojure/1.6.0/clojure.core.html
> http://crossclj.info/ns/garden/1.1.7/garden.stylesheet.cljs.html
>
> The cross-reference index and the website content is updated daily, by 
> looking at Clojars' feed (http://clojars.org/repo/feed.clj.gz), and by 
> fetching the new artifacts that match the above constraints. The impact in 
> terms of bandwidth is negligible.
> The update process is designed to be fully automated, but as of today it 
> is still initiated manually because there are some quality issues that 
> needs to be worked out.
>
> There are some scattered defects in the code analysis, due to my not yet 
> perfect use of the tools.analyzer.* toolchain. 
> Clojurescript macros definitions aren't yet cross-references.
>
> The fact that the open source Clojure ecosystem still has a manageable 
> size (about 3500 projects are indexed now) makes this kind of tools very 
> cheap to operate, and opens up many possibilities for the future, like 
> batch-executing other static analysis tools.
>
> Francesco Bellomi
> @fbellomi
> @crossclojure
>

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to