Paul Rubin <http://[EMAIL PROTECTED]> writes: > I don't know about the BCPL type verifier but every statically typed > language verifies certain assertions about the types of expressions > and this is useful.
BCPL is untyped. You can perform any operation on any variable. You can use the floating point add op on a pair of ints, or a pair of function pointers. It doesn't care - it doesn't know what types the variables are. The type verifier extracted type information from context, and propogated that through the system to look for places where the programmer applied an operation to a type for which it was inappropriate. It found bugs in itself. > I don't really know enough about this type stuff to discuss it > sensibly at the moment. There's a book I want to read, "Types and > Programming Languages" by Benjamin Pierce, which is supposed to > explain it pretty well. It's supposed to be excellent. But I haven't > had a chance to sit down with a copy yet. I've been looking through it. It deals with type correctness, and by association, evalulation completion. There are some fairly complex systems in it. He does promise to reveal the features of programming languages that cause the programs (or their type validation) to fail to terminate. <mike -- Mike Meyer <[EMAIL PROTECTED]> http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list