"S.M.Kahrs" <S.M.Kahrs@ukc.ac.uk> writes: > The class checker for the above is like a little Prolog program: > > foo(int). > bar(int). > foo(char). > bar(X) :- foo(X). So, the type system for C++ lets you encode (some) Haskell programs and the type system for Haskell lets you encode (some) Prolog programs. Now somebody needs to come up with a type system for Prolog that lets you encode C++ programs. Carl Witty