Document `FS[_]` and `FS.Seq[_]` dependent types in `@free` and `@tagless` algebras.
raulraja opened this issue · comments
This issue is solved in Pull Request #477.
Note that there are no type aliases FS.Seq
and FS.Par
for the @tagless
macro. These aliases are used in @free
to differentiate a combination of operations using FreeS.Par = FreeApplicative
, from a combination using FreeS = Free[FreeApplicative[-]]
. The reason we care for this separation is because, when interpreting the whole computation to a target M
, for the former we need to combine operations using an Applicative[M]
, whereas for the latter we would combine them with a Monad[M]
.
Now, in the @tagless
algebra, we never interpret a whole combination into the target M[_]
, because every single operation is directly interpreted into M
.
The PR above was already merged a while ago.