On Mon, 2009-01-12 at 20:24 -0200, rodrigo.bonifacio wrote:
> Hi all,
> 
> I'm trying to build a library that has the following code:
> 
> hasTypeOf (TermRep (dx,_,_)) (x::t)
> = ((fromDynamic dx)::Maybe t)
> 
Could you do something like this?

Enforce the types with a signature:

hasTypeOf :: (Typeable t) => Dynamic -> t -> Maybe t
hasTypeOf x _ = fromDynamic x

> hasTypeOf (toDyn (2::Int)) (undefined::Integer)
Nothing
> hasTypeOf (toDyn (2::Int)) (undefined::Int)
Just 2

Or if you just want boolean result:

hasTypeOf x y = typeOf y == dynTypeRep x

Attachment: rcmAttmntN3MDzg
Description: micalg/pgp-sha1

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to