Joachim Durchholz wrote: > > > but (Standard) ML surely has none. > > NLFFI? > > > Same with Haskell as defined by its spec. > > Um... I'm not 100% sure, but I dimly (mis?)remember having read that > UnsafePerformIO also offered some ways to circumvent the type system.
Neither NLFFI nor unsafePerformIO are official part of the respective languages. Besides, foreign function interfaces are outside a language by definition, and can hardly be taken as an argument - don't blame language A that unsafety arises when you subvert it by interfacing with unsafe language B on a lower level. > >> and even C is typesafe unless you use unsafe constructs. > > > > Tautology. Every language is "safe unless you use unsafe constructs". > > No tautology - the unsafe constructs aren't just typewise unsafe ;-p > > That's exactly why I replaced Luca Cardelli's "safe/unsafe" > "typesafe/not typesafe". There was no definition to the original terms > attached, and this discussion is about typing anyway. The Cardelli paper I was referring to discusses it in detail. And if you look up the context of my posting: it was exactly whether safety is to be equated with type safety. > >> IOW from a type-theoretic point of view, there is no real difference > >> between their typesafe and not typesafe languages in the "statically > >> typed" column; the difference is in the amount of unsafe construct usage > >> in practial programs. > > > > Huh? There is a huge, fundamental difference: namely whether a type > > system is sound or not. > > I think you're overstating the case. > > In type theory, of course, there's no such things as an "almost typesafe > language" - it's typesafe or it isn't. Right, and you were claiming to argue from a type-theoretic POV. [snipped the rest] - Andreas -- http://mail.python.org/mailman/listinfo/python-list