On Fri, Aug 12, 2011 at 18:52, Patrick Browne <patrick.browne@dit.ie> wrote:
Why does the Haskell :type command only sometimes print the type-class?

Haskell infers the most specific type applicable.  If the most specific it can get is a typeclass, that's what it produces; if it can infer an explicit type, it will.
 
Should I expect type-class inference as well as type inference?
Maybe the type-class is inferred where possible, but not always printed?

Typeclasses are not independent of types, and are not inferred separately from types.  If you want to know what typeclasses a type is a member of, use :info.

Haskell supports polymorphism:  a bound expression does not need to have a single specific type, it can apply to multiple types and adapt itself to the type at its use site.  Typeclasses are part of how this is accomplished.  So if a bound expression is polymorphic, you will see its type expressed in terms of type variables, possibly with typeclass contexts.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms