[Haskell-cafe] Mis-understanding something in Haskell
J. Garrett Morris
trevion at gmail.com
Tue Oct 3 13:57:06 EDT 2006
On 10/3/06, Edward Ing <inge at ihitacow.com> wrote:
> The source is below. Side is types as Float. My assumption was that
> Haskell would know how to convert the Int to a float and all would be
> well. I am I mistaken somewhere? The problem is with the last line.
Yes - Haskell does not automatically promote numeric types. In this
case, the following code compiles:
vertex :: Vertex -> Int -> Int -> Side -> Vertex
vertex (a ,b) currentSide totalSides length =
let angle = (360 / fromIntegral totalSides) * fromIntegral
( a + ( length * (sin angle)), b + ( (*) (cos angle) length ) )
although I'm not sure it's exactly what you want.
More information about the Haskell-Cafe