English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Ocaml type with constraints?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-09-21 (22:05)
From: Andrej Bauer <Andrej.Bauer@a...>
Subject: Re: [Caml-list] Ocaml type with constraints?
Angela Zhu wrote:
> Hi, 
> I want to define an OCaml type with constraints.
> For example:
> type item = Item of int * float;;
> If here this float type is for price of some item, and I want to make sure
> it is positive. In other words, if x = (xi, xf) of type item, 
> I want to enforce, xf must >= 0.
> Is there a way to define OCaml type like this?

No, because Ocaml type checker always check all the types at compile
time. It is an undecidable problem whether a given expression of type
float evaluates to a non-negative number.

Best regards,