Richard O'Keefe wrote:
There's something in that package that I don't understand,
and I feel really stupid about this.
data RVarT m a
type RVar = RVarT Identity
class Distribution d t where
rvar :: d t -> RVar t
rvarT :: d t -> RVarT n t
Where does "n" come from?
Presumably from universal quantification in rvarT? That is, the
implementation of rvarT should be polymorphic in n, in which case the
particular n doesn't matter (as well it shouldn't, since if it did
that'd interfere with the composability of the transformer).
Though, since RVar is a synonym for RVarT, I can't imagine why rvar is a
method instead of a shorthand defined outside of the class. (If RVar
were primitive then I could imagine performance reasons, but since it
isn't...)
--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe