[Haskell-cafe] Can you determine a constructor's arity using
Data.Typeable and Data.Data?
José Pedro Magalhães
jpm at cs.uu.nl
Thu Jun 25 11:43:13 EDT 2009
arity :: (Data a) => a -> Int
> arity = length . gmapQ (const ())
On Thu, Jun 25, 2009 at 17:31, David Fox <ddssff at gmail.com> 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.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe