Re: what's OOP's jargons and complexities?
Martin Ambuhl <[EMAIL PROTECTED]> writes: | Dan Perl wrote: | | > Actually, it can be as simple as: | > public class test { | | There is no "public" or "class" in C. Please don't post such trash to | comp.lang.c. In fact, C++ is not topical in any of the five But, it was anything but C++. Maybe Java. -- Gabriel Dos Reis [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list
Re: Saying "latently-typed language" is making a category mistake
"Marshall" <[EMAIL PROTECTED]> writes: | David Hopwood wrote: | > | > A type system that required an annotation on all subprograms that do not | > provably terminate, OTOH, would not impact expressiveness at all, and would | > be very useful. | | Interesting. I have always imagined doing this by allowing an | annotation on all subprograms that *do* provably terminate. If | you go the other way, you have to annotate every function that | uses general recursion (or iteration if you swing that way) and that | seems like it might be burdensome. Further, it imposes the | annotation requirement even where the programer might not | care about it, which the reverse does not do. simple things should stay simple. Recursions that provably terminate are among the simplest ones. Annotations in those cases could be allowed, but not required. Otherwise the system might become very irritating to program with. -- Gaby -- http://mail.python.org/mailman/listinfo/python-list
Re: What is Expressiveness in a Computer Language
[EMAIL PROTECTED] writes: [...] | > and even C is typesafe unless you use unsafe constructs. | | Tautology. Every language is "safe unless you use unsafe constructs". | (Unfortunately, you can hardly write interesting programs in any safe | subset of C.) Fortunately, some people do, as living job. I must confess I'm sympathetic to Bob Harper's view expressed in http://www.seas.upenn.edu/~sweirich/types/archive/1999-2003/msg00298.html -- Gaby -- http://mail.python.org/mailman/listinfo/python-list
Re: What is Expressiveness in a Computer Language
[EMAIL PROTECTED] writes: | Gabriel Dos Reis wrote: | > | | > | (Unfortunately, you can hardly write interesting programs in any safe | > | subset of C.) | > | > Fortunately, some people do, as living job. | | I don't think so. Maybe the question is what a "safe subset" consists | of. In my book, it excludes all features that are potentially unsafe. if you equate "unsafe" with "potentially unsafe", then you have changed gear and redefined things on the fly, and things that could be given sense before ceases to have meaning. I decline following such an uncertain, extreme, path. | So in particular, C-style pointers are out, because they can easily | dangle, be uninitialisied, whatever. sorry, the specific claim I was responding to is not whether *you* can easily misuse C constructs. I would refrain from generalizing your inability to write interesting correct programs in C, to a quality of the language itself. Rather, the claim I was responding to is this: (Unfortunately, you can hardly write interesting programs in any safe subset of C.) I would suggest you give more thoughts to the claims made in http://www.seas.upenn.edu/~sweirich/types/archive/1999-2003/msg00298.html -- Gaby -- http://mail.python.org/mailman/listinfo/python-list
Re: What is Expressiveness in a Computer Language
Joachim Durchholz <[EMAIL PROTECTED]> writes: [...] | (Yes, I'm being silly. But the point is very serious. Even with less | silly examples, whether a language or subset is "safe" entirely | depends on what you define to be "safe", and these definitions tend to | vary vastly across language communities.) Yes, I know. I hoped we would escape sillyland for the sake of productive conversation. -- Gaby -- http://mail.python.org/mailman/listinfo/python-list
Re: What is Expressiveness in a Computer Language
[EMAIL PROTECTED] writes: | think that it is too relevant for the discussion at hand. Moreover, | Harper talks about a relative concept of "C-safety". Then, I believe you missed the entire point. First point: "safety" is a *per-language* property. Each language comes with its own notion of safety. ML is ML-safe; C is C-safe; etc. I'm not being facetious; I think this is the core of the confusion. Safety is an internal consistency check on the formal definition of a language. In a sense it is not interesting that a language is safe, precisely because if it weren't, we'd change the language to make sure it is! I regard safety as a tool for the language designer, rather than a criterion with which we can compare languages. [...] | Or are you trying to suggest that we should indeed consider C safe for | the purpose of this discussion? I'm essentially suggesting "silly arguments" (as noted by someone in another message) be left out for the sake of productive conversation. Apparently, I did not communicate that point well enough. -- Gaby -- http://mail.python.org/mailman/listinfo/python-list