
On Dec 7, 2007 7:57 PM, Luke Palmer
On Dec 7, 2007 7:41 PM, Dan Weston
wrote: Luke Palmer wrote:
You can project the compile time numbers into runtime ones:
Yes, that works well if I know a priori what the arity of the function is. But I want to be able to have the compiler deduce the arity of the function (e.g. by applying undefined until it is no longer a function), precisely so I don't have to supply it myself.
Function arity is (I think) something already known to GHC, so I don't know why we can't get at it too.
No, it is not. Consider:
compose f g x = f (g x)
What is the arity of f?
Oh, you're saying at run-time, given an object. Still no, by some definition. compose f g = f . g compose' f g x = f (g x) Are you saying that these two exactly equivalent functions should have different arity? If not, then is the arity 2 or 3? Luke