What it can do: equal variable names mean equal types
(defmethod put (A b c)...)
(defmethod pop (A d x)...)
(defmethod plop(A d z)...) now these methods can be evaluated with the following forms:
(pop A d x),(A.pop d x), (A d.pop x), (a d x.pop) Pros:
-it can make some function calls more readable
-allows editors to display the ääh "what can be done with the current parameters"-list, which I find incredibly handy
-java/c++/... programmers recognize it Cons:
- dunno, extra language construct? So what did I miss? |