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@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@gmail.com> wrote:______________________________> What is f here?anything Applicative:Prelude> let a1 = pure 1Prelude> let a2 = pure 1Prelude> (a1::Maybe Int) == a2TruePrelude> (a1::Maybe Float) == a2TruePrelude> (a1::Either String Float) == a2True_________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners