[Haskell-cafe] Re: Functional dependencies and Peano numbers (and hoogle-bug?)

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[1] 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.


[1] 
http://hackage.haskell.org/packages/archive/logfloat/0.12.1/doc/html/Data-Number-RealToFrac.html

-- 
Live well,
~wren


More information about the Haskell-Cafe mailing list