Joe Marshall wrote: > Marshall wrote: >> Yes, an important question (IMHO the *more* important question >> than the terminology) is what *programs* do we give up if we >> wish to use static typing? I have never been able to pin this >> one down at all. > > It would depend on the type system, naturally. > > It isn't clear to me which programs we would have to give up, either. > I don't have much experience in sophisticated typed languages. It is > rather easy to find programs that baffle an unsophisticated typed > language (C, C++, Java, etc.). > > Looking back in comp.lang.lisp, I see these examples: > > (defun noisy-apply (f arglist) > (format t "I am now about to apply ~s to ~s" f arglist) > (apply f arglist)) > > (defun blackhole (argument) > (declare (ignore argument)) > #'blackhole) > > But wait a sec. It seems that these were examples I invented in > response to the same question from you! > > >> The real question is, are there some programs that we >> can't write *at all* in a statically typed language, because >> they'll *never* be typable? > > Certainly! As soon as you can reflect on the type system you can > construct programs that type-check iff they fail to type-check.
Sorry, but can you elaborate on this last point a little? I think I missed something. -- http://mail.python.org/mailman/listinfo/python-list