One problem is that category theory, general abstract absurdity, is a theory that you can use to talk about almost anything in mathematics. So, everything that we are talking about can be expressed using the language of category theory, but we cannot give any interesting results.
Does each class class in Haskell, whose members are of the form * -> * , correspond to some kind of function between the categories?
Not. This question contains a type error! A function displays many sets, but a category is not a set. (In other words, functions are morphisms in the Set category.) Categories are formulated using classes, often the correct classes, so you cannot pass a category to a function.
We will call objects in * -> * morphisms in the Haskell type category. A subcategory of this category is the Haskell type functor category called Functor .
Does each class line in Haskell, whose members have the form * , correspond to a certain category (technically: some subcategory in Hask)?
Yes. It is true, but it is not very interesting. Just remove every object from Hask that is not in your class, and remove any morphism in Hask that does not consume and does not create elements from your class, and you remain a subcategory of Hask. This category must have at least one object, ⊥ and at least one morphism, id .
Do type types equal to or greater than * -> * -> * have any categorical concept?
Yes. Again, this will not be very interesting. Take class X with type * -> * -> * .
Is X object in the same category class category? Well yes. But this category is not very interesting, because it is difficult to imagine any non-trivial morphisms.
Is X morphism in some category? No, because it cannot be composed.
Is X functor displaying a subcategory of types in Hask, a subcategory of morphisms on types in Hask? Of course, but we would need to have special knowledge that both XY ab and XZ ab valid for the same ab before we resolve morphisms into our initial subcategory on Hask types.
It does not seem to me that this will give any useful ideas, which is not surprising, because we do not know anything about X
conclusions
Category theory is one of those tools that is very easy to overdo and overdo. If you are not interested in category theory as a matter of study in itself, my recommendation is to find specific motives for using it. Special types (functors, lenses, monads, comonads, etc.) Sometimes provide you with enough structure or "raw mathematical material" from which you can build an interesting proof in category theory. But studying class types in general can be a little more abstract than useful.