Hendekagon / clique

Makes a graph of dependencies between functions
https://github.com/Hendekagon/clique/wiki
45 stars 6 forks source link

Switch to analyzer? #8

Open metasoarous opened 9 years ago

metasoarous commented 9 years ago

Currently, we're using manual require to do a lot of these calculations, which actually works pretty well, and is a testament to the power of functional closures and Lisp design philosophy. However, it's currently not possible to detect symbol overrides. An example is that in the semantic-csv graph, it finds that cast-with depends on except-first, which is actually not true. While it may have been better for the author of that library (ahem) to have used a non-masking variable name there (he didn't because the keyword specs make more sense this way...), it ends up tricking lein-clique.

I'd say this is low priority... Using an analyzer would probably be more accurate and powerful, but I think for the moment we can live with little issues like this. In the long run though, it would be nice to eventually move towards something more robust.

Hendekagon commented 9 years ago

It's a good idea. There are other ways clique gets things wrong too; libs using Potemkin's import-vars for example end-up with duplicate subgraphs.