jaunt-lang / jaunt

[ABANDONED] A jaunt away from Clojure
https://github.com/jaunt-lang/jaunt/issues/157
134 stars 6 forks source link

Arity warnings when redefing #139

Open arrdem opened 8 years ago

arrdem commented 8 years ago

Consider

(defn a [x] (+ x 3))
(defn g [y] (* (a y) 3))
(defn a [x y] (* x y))

While clearly trivial, the point of this example is that g has been invalidated and is now incorrect because a has been redefined. It'd be really nice (in line with #136) if when compiling this second definition of a a warning that g is consequently impacted would be awesome.

The difficulty with this request is that it means that the :uses set needs to track used arities/signatures, not just used Vars.