
Oh, that make sense!
2009/6/25 José Pedro Magalhães
Hey David,
For instance:
arity :: (Data a) => a -> Int
arity = length . gmapQ (const ())
Cheers, Pedro
On Thu, Jun 25, 2009 at 17:31, David Fox
wrote: Is it possible to determine the arity of a value's constructor? Suppose I have a value x of type
data A = B Int | C
They typeOf function returns its TypeRep, which contains its type constructor, but I don't see how to decide whether that constructor's arity is 0 or 1. If the type has field names I can look at those using Data.Data.conFields and count them, but if it doesn't I don't see how to do it.
-david
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe