hlint does this to some extent (at least I have some copy-pasted code it keeps on pleading me to remove duplication).

Doug

On Mon, Dec 7, 2020 at 8:24 AM Johannes Waldmann <johannes.waldmann@htwk-leipzig.de> wrote:
>  very cool feature would be if I could select a program phrase
> and let it find /similar/ phrases, where a similarity metric
> could be edit-distance with respect to language tokens ...

I often wanted a tool that finds (nearly) duplicate AST sub-trees
in a large code base, and suggests refactorings.

Of course, in an IDE, it could alert me on-the-fly
that I'm typing some code that's already present elsewhere.

How might one go about implementing this?
Actual (approximate) sub-tree matching seems the easy part;
but I have no clear idea about whether this
should just use syntax, or needs types as well (my guess is: yes)
what libraries are there to provide the (annotated) ASTs, etc.

- J.W.
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.