
You can use Data.Data, and the DeriveDataTypeable extension. If you
say "deriving Typeable, Data" on your data type, you can use toConstr
to get a constructor representation. See also the documentation [1].
Erik
P.S. Shouldn't this be on -cafe?
[1] http://hackage.haskell.org/packages/archive/base/latest/doc/html/Data-Data.h...
On Tue, Sep 27, 2011 at 18:40, Gracjan Polak
Hi all,
To get a bit better error reporting and debugging I'd like to report constructor names misused. Example:
data X = A | B Int | C String
magic A = doSomething magic x = error $ "magic can only be used on A, you supplied " ++ constrName x
I'm missing constrName that returns only constructor name as string, skips all fields (if any).
-- Gracjan
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries