Why is there only 1 type parameter in scala list flatmap parameter signature -
why flatmap
list
takes b
type parameter
def flatmap[b](f: (a) => u[b]): u[b]
instead of
def flatmap[a, b](f: (a) => u[b]): u[b]
because a
deduced type parameter defined on list
:
sealed abstract class list[+a]
and since flatmap
defined each element of type a
in list
, there's no need explicitly declare it.
Comments
Post a Comment