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

One other thing: note that even the most strongly typed langauge will let you define a function that takes one type and returns another:

$ ocaml Objective Caml version 3.08.1 # let rec sum = function [] -> 0 | i :: l -> i + sum l;; val sum : int list -> int = <fun> # let list = 1 :: 2 :: 3 :: [];; val list : int list = [1; 2; 3] # sum list;; - : int = 6

(If you're not familer with OCaml, the above makes a function that takes a list of integers and sums them, returning a single integer. In OCaml, "int list" and "int" are totally seperate types.)

Indeed, a language that didn't allow you to do this would be very limited. All Many of the examples you presented essentially do this, although the actual function call is hidden away by Perl.

"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.