On Sun, 16 Jun 2013 16:15:25 -0400What I was thinking about, using a very poor choice of words, was this :
Brandon Allbery <allbery.b@gmail.com> wrote:
> On Sun, Jun 16, 2013 at 4:03 PM, <briand@aracnet.com> wrote:
> > Changing the declaration to GLdouble -> GLdouble -> GLdouble -> IO() and
> > using
> > (0.0::GLdouble) fixes it, and I'm not clear on why it's not automagic.
> > There are many times I see the
>
> I presume the reason the type specification for numeric literals is because
> there is no defaulting (and probably can't be without introducing other
> strange type issues) for GLdouble.
*Main> let a = 1
*Main> :t a
a :: Integer
*Main> let a = 1::Double
*Main> a
1.0
*Main> :t a
a :: Double
*Main>
so normally 1 would be interpreted as an int, but if I declare 'a' a Double then it gets "promoted" to a Double without me having to call a conversion routine explicitly.
That seems automagic to me.