[Haskell-beginners] Getting a variables type as a string at runtime

fa-ml fa-ml at ariis.it
Sun Jan 12 14:33:57 UTC 2014


On Sun, Jan 12, 2014 at 02:04:40PM +0000, Gareth Morgan wrote:
> I have a sum type, when the input is type A I want to process it, when it
> is type B I want to return MyError "Expected type A but actually got type
> B". However I also have C,D,E,F, etc which should also return similar
> errors so don't want to hardcode this string.

Would pattern matching be enough for you? i.e. (very crude):

    data Test = Alfa | Beta | Gamma deriving (Show)

    testAlfa Alfa = undefined -- put your process function here
    testAlfa o    = error $ "wasn't expecting " ++ show o

    main = testAlfa Beta

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://www.haskell.org/pipermail/beginners/attachments/20140112/37d99304/attachment.sig>


More information about the Beginners mailing list