[Haskell-cafe] Re: distinguish functions from non-functions in a
class/instances
Luke Palmer
lrpalmer at gmail.com
Fri Dec 7 14:58:55 EST 2007
On Dec 7, 2007 7:57 PM, Luke Palmer <lrpalmer at gmail.com> wrote:
> On Dec 7, 2007 7:41 PM, Dan Weston <westondan at imageworks.com> 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
More information about the Haskell-Cafe
mailing list