[
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: | Anton Moscal <msk@p...> |
| Subject: | Re: null values and sentinels |
On Tue, 12 Jan 1999, Jerry Jackson wrote:
> Hello,
>
> I'd like to know what the recommended solution to the following
> situation is...
>
> I'd like to create a type like:
>
> # type foo = {xxx: int; mutable yyy: foo};;
>
> so that I can add nodes by mutating the "yyy" slots. Unfortunately,
> it seems that I must create a sentinel value of type "foo" to stand
> for a null pointer. This works but I'd like to be able to use pattern
> matching on the value of yyy so as to get compile-time warnings if I
> forget to check for null.
The only known to me solution is the following:
declare
let rec foo_nil = {xxx=1; yyy = foo_nil};
and then use foo_nil as Nil constant. The main problem is the
following: foo_nil can't be used in the matching.
Anton E.Moscal