What is the purpose * of the ReaderT Monad Transformer?

I am looking at the documentation for Reading Mod and ReaderT monad transformer.

Relevant definitions:

newtype ReaderT k r m a :: forall k. * -> (k -> *) -> k -> *
type Reader r = ReaderT * r Identity

I do not understand what they are doing *in the definitions. In particular, I am trying to get a new monad from ReaderT with IO as the base monad and class restriction by value r.

I'm not sure why there is a fourth input for ReaderT ( k) and what Reader does with this value when it puts * at this position.

+6
source share
1 answer

* - : , Int, List Int ..

forall k k . , , , . , "" - : - , , "" , ( )

, , Reader *, m Identity. , , IO .

, . , , , " ". , , , , , , .

( , Dict, typeclass GADT, , , , )

+5

All Articles