[Haskell-cafe] Predicates in data types

Navid Hallajian navidhg at gmail.com
Wed Dec 12 11:57:44 CET 2012


Hello,

I'm a beginner in Haskell, so forgive me if this is a basic question, but
I'd like to know if it's possible to have a predicate as part of a data
type, so that when the data type is created, it can only be done if it
satisfies the predicate else a type error is thrown.

For instance, a matrix with integer elements could be modelled as [[Int]],
given the restrictions that

   - it must have at least one column and one row (so there must be at
   least one list), and
   - every list must have the same length

so that when a matrix is created, the type system wont allow it if the
predicates aren't met.

Thanks,

Navid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121212/ecb8e2be/attachment.htm>


More information about the Haskell-Cafe mailing list