http://qs321.pair.com?node_id=415022


in reply to Re^2: strong typing
in thread (Completely OT) - Hero(i)n programming language on Slashdot

I said they're both scalars. Perl's type system has no concept of "integer", "boolean", etc.--it only knows about scalars, arrays, etc. Since the orginal code presented only deals with scalars, there is only one type involved: scalars.

"There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

Replies are listed 'Best First'.
Re^4: strong typing
by jdporter (Paladin) on Dec 15, 2004 at 15:17 UTC
    Perl's type system has no concept of "integer", "boolean", etc.--it only knows about scalars...
    But that isn't entirely true:
    print 5 == "foo"; Argument "foo" isn't numeric in numeric eq (==)

    The fact that these types are checked/enforced at run time rather than compile time doesn't mean they aren't types. It's called dynamic typing.

      Those aren't types in Perl. Those are values.

        Huh? You're saying numeric is a value? No. It's a type. Values have types. It's the type of "foo" that perl is complaining about, not its value.
Re^4: strong typing
by gmpassos (Priest) on Dec 15, 2004 at 22:52 UTC
    In the high level you are right, Perl makes a good abstraction, where we don't need to think about numeric types and booleans. But internally it have to do this convertions to integer to make the arithmetic operation, and than it converts again to string. SCALAR is the group of all this types!

    Graciliano M. P.
    "Creativity is the expression of liberty".