[ANN] checkero 0.1.0 : A Clojure code similarity search tool

2012-05-21 Thread Arnoldo Muller
Checkero finds common Clojure source code inside a set of directories. It 
is primarily intended to study how Clojure learners write functions. As a 
side effect, you can find if students have honestly completed their 
homework. It could also be used to find commonly used patterns in code that 
require refactoring. The algorithm uses a state-of-the-art tree distance 
function that quickly finds common tree patterns. It analyzes the 
syntactical structure of Clojure programs and finds similar expressions.

You can find more details here:
https://github.com/amuller/checkero

Suggestions and feedback are more than welcome!

Arnoldo Muller 



-- 
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: [ANN] checkero 0.1.0 : A Clojure code similarity search tool

2012-05-22 Thread Arnoldo Muller
Hi Sean,

It does not have a wikipedia page. It is based on the following paper:

http://www.springerlink.com/content/23072603g83224v5/

The docs are a bit sparse so if you have questions do not hesitate to ask 
:) 

Regards,

AM. 

On Tuesday, May 22, 2012 9:47:49 AM UTC-6, Sean Neilan wrote:
>
> Just curious, what is the name of the tree distance function and does it 
> have a wikipedia page?
>
> Very, very cool!
>
> On May 22, 2012, at 12:36 AM, Arnoldo Muller  wrote:
>
> Checkero finds common Clojure source code inside a set of directories. It 
> is primarily intended to study how Clojure learners write functions. As a 
> side effect, you can find if students have honestly completed their 
> homework. It could also be used to find commonly used patterns in code that 
> require refactoring. The algorithm uses a state-of-the-art tree distance 
> function that quickly finds common tree patterns. It analyzes the 
> syntactical structure of Clojure programs and finds similar expressions.
>
> You can find more details here:
> https://github.com/amuller/checkero
>
> Suggestions and feedback are more than welcome!
>
> Arnoldo Muller 
>
>
>
>  -- 
> 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

PersistentVector and clojure.lang.Named

2011-05-18 Thread Arnoldo Muller
Hello,

I am trying to compile a project with lein. The program source files
can be interpreted successfully (using swank-clojure) but when I try
to do "lein compile" or "lein jar" I get:

Exception in thread "main" java.lang.ClassCastException:
clojure.lang.PersistentVector cannot be cast to clojure.lang.Named
(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:5440)
at clojure.lang.Compiler.eval(Compiler.java:5415)
at clojure.lang.Compiler.eval(Compiler.java:5391)
at clojure.core$eval.invoke(core.clj:2382)
at clojure.main$eval_opt.invoke(main.clj:235)
at clojure.main$initialize.invoke(main.clj:254)
at clojure.main$null_opt.invoke(main.clj:279)
at clojure.main$main.doInvoke(main.clj:354)
at clojure.lang.RestFn.invoke(RestFn.java:422)
at clojure.lang.Var.invoke(Var.java:369)
at clojure.lang.AFn.applyToHelper(AFn.java:165)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.ClassCastException: clojure.lang.PersistentVector
cannot be cast to clojure.lang.Named
at clojure.core$name.invoke(core.clj:1245)
at clojure.core$root_resource.invoke(core.clj:4712)
at clojure.core$load_one.invoke(core.clj:4729)
at clojure.core$compile$fn__4516.invoke(core.clj:4916)
at clojure.core$compile.invoke(core.clj:4915)
at user$eval7.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:5424)
... 12 more
Compilation failed.

The source code looks like:

(ns graphcluster.colorize-map
  (:gen-class)
  (:use clojure.contrib.command-line)
(:require graphcluster.core)
(:require clojure.contrib.str-utils)
)
;  function definitions, they all run in swank-clojure
(defn -main [& args]
(let [lines  (line-seq (java.io.BufferedReader. *in*)
   ]
(print (colorize (clojure.contrib.str-utils/str-join "\n" 
lines)))
  ))

In graphcluster.core there are some defs. I have for instance a sketch
object from incanter.processing .

I am using leiningen 1.5.2 and Clojure 1.2. Do you have any ideas
about the nature of this error?

Thanks!

Arnoldo

-- 
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: Small Problem: Which Strings Differ at One Location

2011-05-30 Thread Arnoldo Muller
Have you considered sorting different permutations of your strings and
then perform binary search on them?

This paper talks about the technique:

http://portal.acm.org/citation.cfm?id=1242592



On May 30, 9:55 pm, joshua-choi  wrote:
> Let's say that I have a set of strings, each three English letters
> long.
>
> How can I determine which strings differ only at one location (e.g.
> "xxe" and "xbe")?
>
> Right now, I'm writing a loop that sequentially compares every string
> to every other string. I think that there's a better way, but I don't
> know where to start.

-- 
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 Conj extracurricular activities spreadsheet

2011-10-28 Thread Arnoldo Muller
Fogus,

Please add me to the core.logic, Heroku drinkup and Jamming with
Overtone.

Arnoldo

On Oct 25, 6:11 pm, Fogus  wrote:
> All,
>
> We talked about the possibility of getting some ideas about
> extracurricular activities during the Conj days (and possibly training
> days).  I've created a spreadsheet at the link below to collect
> ideas.  It is not my intention to be the organizer of these
> activities.  Instead, if you have an idea then please be prepared to
> own it.  The matter of space for these activities would need to be
> worked out by Conj planners or activity organizers, but having a list
> would help that process.
>
> https://docs.google.com/spreadsheet/ccc?key=0Alim_jfrt24MdDFqZVZsNW0t...
>
> I've entered an example, feel free to add your own ideas. :-)
>
> This should be epic.

-- 
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: Use You a Spaced Repetition System for Great Good!

2012-01-05 Thread Arnoldo Muller
Joshua I used http://www.mnemosyne-proj.org/ when I was learning
Japanese and I experienced a dramatic improvement in my retention
rates.
To give you and idea I learned 1000 Chinese characters (Kanji) and
about 4000 words in one year. I spent around 40 minutes per day only.

Arnoldo

On Jan 3, 4:45 pm, Joshua  wrote:
> Hi Tim,
>
> Great idea re: GitHub!
>
> I'm guessing the Clojure decks could cover, multiple things if tagged
> appropriately and could be studied in various section. Or there could
> be multiple decks dealing with differing material. I'm not very
> familiar with github, but it is high time I really check it out and
> would be a great place for this sort of project.
>
> Have you found using an SRS helped with more than just studying on
> your own with regard to development?
>
> Are you experiencing good retention rates and reduced practice time
> reviewing with Anki?
>
> -Joshua
>
> On Jan 3, 12:25 pm, daly  wrote:
>
>
>
>
>
>
>
> > I have built several Anki SRS decks for learning.
> > I am building one now on American Sign Language.
>
> > A Clojure deck would be a good idea.
>
> > We could put a simple deck on github and make it so
> > others could contribute. What should it cover?
> > Only language syntax? Idiomatic forms (like lazy
> > sequences)? Sections on Java interop?
>
> > Tim Daly
>
> > On Tue, 2012-01-03 at 18:19 +0100, Linus Ericsson wrote:
> > > Hi Joshua!
>
> > > I've been using Anki for repeating unsorted Clojure-stuff in about a
> > > year. It's good for knowing all the instructions and source code, but
> > > the key to success is always to solve more or less complicated
> > > problems (4clojure.org etc). On the practical side I have a lot left
> > > to learn, also since I'm not very skilled in algoritms in other
> > > languages [because the have so much boilerplate and therefore is
> > > boring to program in].
>
> > > /Linus
>
> > > 2012/1/3 Joshua 
> > >         Anybody else using a spaced repetition system (SRS) for
> > >         Clojure
> > >         learning? What about just general programming? How did it work
> > >         out for
> > >         you?
>
> > >         I've just started using Anki and I uploaded a Clojure Sequence
> > >         API
> > >         shared deck. I'm hoping others might be interested in adding
> > >         other
> > >         Clojure related material to Anki.
>
> > >         If you aren't familiar with the SRS concept, I wrote a short
> > >         blog
> > >         entry about it and how to import the Sequence API deck:
> > >        
> > > http://blog.milehighcode.com/2012/01/use-you-spaced-repetition-system...
>
> > >         --
> > >         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

-- 
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