http://www.perlmonks.org?node_id=872671


in reply to Re: Strong typing and Type Safety.A multilanguage approach
in thread Strong typing and Type Safety.A multilanguage approach

were not supported by citations

Let's take this one to Room12A too!

if you hear someone say that some language is strongly typed, or some other language is weakly typed,you should assume that you don't know what they meant.

that is correct and is the exact point of the article which you unfortunatelly completely missed;the point was that such a distinction is not feasible.Have you noticed the section "Perl Weakly typed?" and then "Perl Strongly typed?" or the conclusion of the article that you cannot label a language of one type or the other? however you should be able to understand the mechanisms behind typing though so when someone uses the terms strong or static or weak or dynamic or late or early binding, more or less know the whereabouts.Why do these terms exist otherwise if they serve no purpose?

I also think that the example with the void pointers makes the concept of type safety pretty clear

Also, writing a series of articles on typing without describing type inference and functional languages (e.g. Haskell) is a serious omission IMHO

what is your definition of type inference then and whose type systems' shortcomings does it address?

Update : book citations through Google books :

Perl Cookbook 2nd ed (Page 408)

Beyond Java (page 57)

Beginning VB 2008: From Novice to Professional (page 66)

Practical Distributed Processing (Page 156)

  • Comment on Re^2: Strong typing and Type Safety.A multilanguage approach

Replies are listed 'Best First'.
Re^3: Strong typing and Type Safety.A multilanguage approach
by chromatic (Archbishop) on Nov 20, 2010 at 18:13 UTC
    Why do these terms exist otherwise if they serve no purpose?

    Have you ever watched cable news? Many, many terms exist which serve no purpose other than to obfuscate and to perpetuate silly and irrelevant arguments.

Re^3: Strong typing and Type Safety.A multilanguage approach
by ikegami (Patriarch) on Nov 21, 2010 at 19:26 UTC

    Why do these terms exist otherwise if they serve no purpose?

    Of course they have purposes, but that not does not speak to their utility in language analysis.

    The purposes of these terms are many and varied. In my experience, their primary intended purpose is to form invalid arguments. (An invalid argument is an argument for which one cannot ascertain the truth of its conclusion.)

      I see what you mean.On the other hand I find their purpose as a way of describing a notion. For example Wikipedia has this to say about Perl6 type system :

      "In Perl 6, the dynamic type system of Perl 5 has been augmented by the addition of static types" and "Perl 6 offers a hybrid typing system whereby the programmer may choose to use Static Typing, Dynamic Typing or mix the two"

      Looking at those sentences the terms dynamic, static and hybrid are mentioned to promptly describe a notion.I don't know if that could be done otherwise.Or for example what hides behind the term MMD.I think the arguing starts because this notion could be considered open to interpretation and not because of the terms themselves.For those reasons I think that terminology is needed

        I never said terminology wouldn't be useful. I'm saying the terminology simply doesn't exist at the moment. There are words, but there are no definitions to go with them. Or rather, there are too many definitions, yet none are ever particularly fitting because they assume black and white systems when they are rarely so.

        By the way, by just about every definition I've heard if not every definition I've heard, the first statement you quoted is written so poorly as to be false. Perl 5 has some static types.

Re^3: Strong typing and Type Safety.A multilanguage approach
by ruzam (Curate) on Nov 20, 2010 at 18:39 UTC
    Let's take this one to Room12A too!

    Hey! I feel I should get a citation for that ;)

      Hey! I feel I should get a citation for that
      Very well. The first reference to Room 12A at Perl Monks, to indicate "uncompromising and relentless arguing by contradiction in Perl Monk threads", was made here by ruzam++ on November 20, 2010.

      In the interests of fairness though, I must also acknowledge artisan BrowserUk++ and others in this monumental work for elevating "Room 12A" into a legitimate form of contemporary art.

      I hereby lay claim to be the first to use the term Room 12 to indicate "uncompromising and relentless abuse in Perl Monks threads" ... You maloderous pervert! You tit!

Re^3: Strong typing and Type Safety.A multilanguage approach
by eyepopslikeamosquito (Archbishop) on Nov 21, 2010 at 00:03 UTC

    that is correct and is the exact point of the article which you unfortunatelly completely missed
    You are right. I missed it. Maybe I so was enchanted by all those advertisements that kept relentlessly popping up in my face that I missed the point of the actual content. Maybe I got distracted by having to click "Next" again and again because I could find no option to display the whole article on one page.
    what is your definition of type inference then
    I think I've found the definitive definition of "type inference" on page 6 of "Type Systems Demystified" by Nikos Vaggalis:
    type inference: used extensively by Linq where a lot of times you cannot use explicitly typing, so you let the compiler decide
    If you find a better definition, please let us know.

      I think I've found the definitive definition of "type inference" on page 6

      wow!thanks!