[Haskell-beginners] applicative default structure
Ovidiu Deac
ovidiudeac at gmail.com
Fri Dec 23 12:48:31 UTC 2016
So normally it should fail but the default typing in ghci is the one who
makes our life easier.
Thanks for the explanation!
On Thu, Dec 22, 2016 at 5:33 PM, David McBride <toad3k at gmail.com> wrote:
> Rather than bailing with an instance error for both Applicative and Num,
> which is the technically the right way, and the way that it used to be in
> the dark ages of ghci. Instead it chooses types which are probably what
> you wanted. In this case it defaults f to IO and a to Int, and then runs
> it.
>
> You can read more about type defaulting in ghci here:
> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html
>
> On Thu, Dec 22, 2016 at 10:18 AM, Ovidiu Deac <ovidiudeac at gmail.com>
> wrote:
>
>> My understanding is that x can take any form required for type-inference.
>> That's fine but what is the "default" structure if you don't specify any?
>>
>> On Thu, Dec 22, 2016 at 5:13 PM, Imants Cekusins <imantc at gmail.com>
>> wrote:
>>
>>> > What is f here?
>>>
>>> anything Applicative:
>>>
>>> Prelude> let a1 = pure 1
>>> Prelude> let a2 = pure 1
>>>
>>> Prelude> (a1::Maybe Int) == a2
>>> True
>>> Prelude> (a1::Maybe Float) == a2
>>> True
>>> Prelude> (a1::Either String Float) == a2
>>> True
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>>
>>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>>
>>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20161223/bbc497bf/attachment.html>
More information about the Beginners
mailing list