Re: [very] basic question

First off, many thanks to all who kindly replied - I'm very grateful.

Secondly, it seems that my 'basic' question was anything but, having
quite profound, philosophical roots.  I will endeavour to gain a deeper
understanding from the various posts, but in the meantime I'd appreciate
feedback on a couple of specific points.

1. From the perspective of language design, how significant 
   are the differences between sets & types?  For example, Z is 
   very obviously based on set theory and is a powerful, expressive
   language.  Are there limitations imposed on it by its set-theoretic
   underpinnings that would not exist in a type-theoretic counterpart?  
2. Are there accepted principles for the design of a 'good' type system 
   in a language?  For example, I've read that Haskell has a 'good' type 
   system, while pascal's is limiting.  What are the characteristics of
   the Haskell type system that make it 'good'?

Again, thanks in advance for replies.  Please also let me know if this
topic is inappropriate for the list.


[Not at all -- it's a welcome break from conference announcements! --BCP]