Subject: Re: Reply to Ousterhout's reply (was Re: Ousterhout and Tcl ...)
From: Erik Naggum <>
Date: 1997/04/18
Newsgroups: comp.lang.scheme,comp.lang.scheme.scsh,comp.lang.lisp,comp.lang.tcl,comp.lang.functional,comp.lang.c++,comp.lang.perl.misc,comp.lang.python,comp.lang.eiffel
Message-ID: <>

* Charles Lin
| Now, perhaps I completely misunderstood what Ousterhout did, but I was
| under the impression that he said everything in Tcl (the external
| representation) is a string.  Why are we talking about internal
| representations at all?

because the internal representation in Tcl is the string.

| Internal representations aren't going to be important because they are
| hidden from the user (mostly).

I think you're missing the point all over the place.  Tcl's purpose is to
glue different applications together, but also to do something with the
returned "values" (i.e., output) of these programs.  of course we're
dealing with interfaces where external representations will be used, but
Tcl uses the same external representations for internal purposes, too.
when you execute a numeric operation, the string is converted to a number,
the operation is performed, and then converted back to a string.  in
contrast to this view, AWK converts a string to a number when it is used
for a numeric purpose, and a number to a string when it is used for a
string purpose, but not otherwise.  (at least, this is what I have
understood from what I have read about Tcl.)

| The point is that (almost) no one wants to write a program whose
| *external* representation is numbers.

nobody has suggested they do, and nobody in their right mind would.

| Strings are more flexible, if they're the only type you have, as external
| representation.

but external representations _aren't_ typed!

I'd venture that that's the whole point in using an _untyped_ string (or
even byte-sequence) representation is that whoever reads it would be able
to interpret it, indeed that type would emerge from the interpretation.

I'm no longer young enough to know everything.