[Haskell-cafe] Re: Constructor constraints

Max Vasin max-appolo at mail.ru
Tue Sep 20 12:35:08 EDT 2005


>>>>> "Rich" == Rich Neswold <rich.neswold at gmail.com> writes:
> Hello, I've looked through the two tutorials and the Report,
> but couldn't find help on this topic. My question is whether
> you can place constraints on new data types. For instance, I
> want to make a new type that is a 4 element tuple where each
> element is greater than or equal to the previous entry. Is
> this possible?

> i.e.

> data Category = Membership a a a a

> I'd like to be able to prevent invalid Category data from
> being created. Any information would be appreciated.

Don't export constructors and define functions which will imply
your constraints.

module Foo (..., Category,...
            makeCategory1,
            makeCategory2,
            ...)

--
WBR,
Max Vasin.



More information about the Haskell-Cafe mailing list