Browse thread
Ocaml type with constraints?
-
Angela Zhu
- Andrej Bauer
- Gordon Henriksen
- Jacques Garrigue
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| 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, Andrej