<div dir="ltr">2015-05-22 7:13 GMT+02:00  <<a href="mailto:briand@aracnet.com">briand@aracnet.com</a>>:<br>> [...] GL.Size really needs a CInt so it seems like I have to do some sort of explicit conversion, but I can never seem to figure out exactly how to find the necessary function.<br><br>To be exact, Size expects 2 <a href="http://hackage.haskell.org/package/OpenGLRaw-2.5.0.0/docs/Graphics-Rendering-OpenGL-Raw-Types.html#t:GLsizei">GLsizei</a> arguments, and GLsizei is a type synonym for <a href="http://hackage.haskell.org/package/base-4.8.0.0/docs/Foreign-C-Types.html#t:CInt">CInt</a>, but what this latter type actually is shouldn't matter most of the time. The only thing you need to know here is that it's an integral number, and your swiss army knife for conversion between integral numerical types is:<br><br>   <a href="http://hackage.haskell.org/package/base-4.8.0.0/docs/Prelude.html#v:fromIntegral">fromIntegral</a> :: (Integral a, Num b) => a -> b<br><br>Don't be scared by its canonical definition (fromInteger . toInteger), GHC has enough RULES to make this very efficient most of the time or even a no-op.<div><br></div><div>Cheers,</div><div>   S.</div></div>