[Haskell-cafe] "SameConstraints?" type constraints
MigMit
miguelimo38 at yandex.ru
Fri Jun 19 05:37:20 UTC 2015
No, constraints aren't a part of type e. But you can specify the constraint in SC itself:
data SC c e where SC :: c d => d -> e -> S e
(or SC :: (c d, c e) => d -> e -> S e, if you like it better). Of course, you would need ConstraintKind for that.
Отправлено с iPad
> 19 июня 2015 г., в 7:16, Leza Morais Lutonda <leza.ml at fecrd.cujae.edu.cu> написал(а):
>
>
> Hi All,
>
> I have the following data type:
>
> data S e where
>
> SC :: d -> e -> S e
>
> And I want to declare a Show instance for it in the following way:
>
> instance Show e => Show (S e) where
>
> show (SC x y) = show x ++ show y
>
> But, of course it don't typechecks because: could not deduce `Show d` arising from a use of `show`.
> Is there a way to constraint the `d` type in the `SC` constructor definition to have the same constraints of the `e` type? Something like:
>
> SC :: SameConstraints d e => d -> e -> S e ???
>
>
> Thanks!
>
>
> --
> Leza Morais Lutonda, Lemol-C
> http://lemol.github.io
>
>
>
> 50 Aniversario de la Cujae. Inaugurada por Fidel el 2 de diciembre de 1964 http://cujae.edu.cu
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list