[Haskell-cafe] Re: Functional dependencies and Peano numbers
wren ng thornton
wren at freegeek.org
Fri Jul 16 00:28:21 EDT 2010
Oscar Finnsson wrote:
> Anyone made a module/package that solves this problem already? I
> cannot be the first that needs generic type safe conversion... .
There's a restricted version in logfloat:Data.Numer.RealToFrac which
generalizes the Prelude's realToFrac to improve performance and correctness.
To do much more than that you'll probably have to use something like
Data.Data, Data.Typeable, or similar. Generally speaking, arbitrary
casts from one type to another go against Haskell ideology because they
don't make a lot of sense. Often times there are multiple intelligible
ways to convert between two fixed types, so how can we choose? Things
like realToFrac, read, show, etc make sense precisely because they are
more restricted and therefore make explicit the semantic intentions of
how the conversion should be done.
More information about the Haskell-Cafe