You would need to define a type class
(Binary a) => EncodedPtr a b
where the 'a' is as you have it currently, and the b would be an
enumerated type which tracks the memory representation.
I agree they are different concepts - that is why an EncodedPtr would
require 2 type parameters. Of course, this class would define
encode/decode functions, but without the need for the name encoding (and
additional safety).
Jacques
Bulat Ziganshin wrote:
Hello Jacques,
Wednesday, May 31, 2006, 5:33:39 PM, you wrote:
decodePtrBitAlignedLE :: (Binary a, Integral size) => Ptr x -> size -> IO a
Am I the only one who finds this encoding-of-types in the _name_ of a
function quite distateful? There is no type safety being enforced here,
can you please write code you suggested? i'm not sure that type "a"
should be encoded only to area pointed by "Ptr a" - binary encoding of
value and it's memory representation are different concepts, although
they are similar at the look
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe