Hi TP,

Are you looking to use a phantom types here? Here's an example:

data One
data Two

data Tensor ndims a = Tensor { dims :: [Int], items :: [a] }
type Vector = Tensor One
type Matrix = Tensor Two

etc.


On Sat, Apr 27, 2013 at 3:33 PM, TP <paratribulati...@free.fr> wrote:

> Hello,
>
> I ask myself if there is a way to do the following.
> Imagine that I have a dummy type:
>
> data Tensor = TensorVar Int String
>
> where the integer is the order, and the string is the name of the tensor.
> I would like to make with the constructor TensorVar a type "Vector", such
> that, in "pseudo-language":
>
> data Vector = TensorVar 1 String
>
> Because a vector is a tensor of order 1.
>
> Is this possible? I have tried type synonyms and newtypes without any
> success.
>
> Thanks a lot,
>
> TP
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to