From ok@atlas.otago.ac.nz Thu Mar 22 23:27:52 2001
Received: from atlas.otago.ac.nz (atlas.otago.ac.nz [139.80.32.250])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f2MMRo301322
	for <prolog@swi.psy.uva.nl>; Thu, 22 Mar 2001 23:27:51 +0100 (MET)
Received: (from ok@localhost)
	by atlas.otago.ac.nz (8.9.3/8.9.3) id KAA31045;
	Fri, 23 Mar 2001 10:27:38 +1200 (NZST)
Date: Fri, 23 Mar 2001 10:27:38 +1200 (NZST)
From: "Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
Message-Id: <200103222227.KAA31045@atlas.otago.ac.nz>
To: fisch@ptolemy.arc.nasa.gov, prolog@swi.psy.uva.nl
Subject: Re:  [SWIPL] type checking / inference for SWI

	is there any implementation of the Mycroft/O'Keefe type inference which
	works for (full) SWI?

Not from me.

	Or any other good type checker / inference system?

	Do these beasts handle all the nasty stuff as =.. and call?
	
The Mycroft/O'Keefe type checker handles call/N with amazing ease.
In fact call/N for N > 1 was invented precisely for the sake of the
Mycroft/O'Keefe type checker, as being far easier to check than apply/2.

(=..)/2, functor/3, and arg/3, however, it does not handle, except basically
by ignoring them, other than checking that N in functor(_,_,N) and
arg(N,_,_) are integers.  

