Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Will Clinger's Types Rant

23 views
Skip to first unread message

Matthew D Swank

unread,
Sep 26, 2005, 12:39:08 PM9/26/05
to
I was going to post this in the 'What's so great about lisp?' thread since
there are several brush fires in that thread on the efficacy of static
typing, but those sub-threads are all over the place. So...

Could anyone who saw Will Clinger's talk at this year's ILC explain the
gist of this slide:
http://www.ccs.neu.edu/home/will/Research/ILC2005/Slides/typesrant6.html

I have an idea what he might be talking about, but I wasn't there.

Thanks,

Matt

--
"You do not really understand something unless you can
explain it to your grandmother." — Albert Einstein.

Matthew D Swank

unread,
Sep 26, 2005, 12:56:16 PM9/26/05
to
On Mon, 26 Sep 2005 11:39:08 -0500, Matthew D Swank wrote:

> Could anyone who saw Will Clinger's talk at this year's ILC explain the
> gist of this slide:
> http://www.ccs.neu.edu/home/will/Research/ILC2005/Slides/typesrant6.html
>

Also, I noticed that Clinger liked John Allen's talk about the future of
software engineering. This is interesting, since one of the conclusions
Allen reaches is that engineers will end up providing guarantees about
software through the use of (static) type-systems. How does this fit into
the lisp/scheme world?

Ulrich Hobelmann

unread,
Sep 26, 2005, 2:43:25 PM9/26/05
to
Matthew D Swank wrote:
I didn't see him, but here's my two cents anyway.

> http://www.ccs.neu.edu/home/will/Research/ILC2005/Slides/typesrant6.html

Hm, strong typing could be something like verifying that the if and else
clause of a function return values of the same type, as that is
obviously important if the caller is to rely on that.

Strongarm typing might be something like C requiring you to declare a
struct just so you can return more than one value from a function.

> I have an idea what he might be talking about, but I wasn't there.

Same here.

Optional type checking provides exactly the above, and doesn't prevent
code from being run.

--
Some people like democracy. That's because it does whatever the
majority wants, and because they happen to be part of that majority.
"Do you want the Total War?"

Ray Blaak

unread,
Sep 26, 2005, 3:02:59 PM9/26/05
to
Ulrich Hobelmann <u.hob...@web.de> writes:
> Matthew D Swank wrote:
> I didn't see him, but here's my two cents anyway.
>
> > http://www.ccs.neu.edu/home/will/Research/ILC2005/Slides/typesrant6.html
>
> Hm, strong typing could be something like verifying that the if and else
> clause of a function return values of the same type, as that is obviously
> important if the caller is to rely on that.

I wouldn't think so. It should mean that the type of something cannot be
abused or violated, i.e. interpreted as a value of another type. Perl "is it a
string or a number" values are a great example of the violation of strong
typing.

Note that I am not touching on statically versus dynamically typed here. Lisp
is a dynamically strongly typed languages in that you cann't abuse the type of
a value. A language like Ada is statically strongly typed, relying less on the
runtime side and instead making the bindings strongly typed. A language like
ML seems make things so that you can't tell the difference: your very thoughts
must be strongly typed.

> Strongarm typing might be something like C requiring you to declare a struct
> just so you can return more than one value from a function.

I would guess forcing one to do that things that make statically typed
languages tedious: force everything to be explicitly
declared/constructed/proved/whatever.

--
Cheers, The Rhythm is around me,
The Rhythm has control.
Ray Blaak The Rhythm is inside me,
rAYb...@STRIPCAPStelus.net The Rhythm has my soul.

William D Clinger

unread,
Sep 26, 2005, 4:24:17 PM9/26/05
to
Matthew D Swank wrote:
> Could anyone who saw Will Clinger's talk at this year's ILC explain
> the gist of this slide:
> http://www.ccs.neu.edu/home/will/Research/ILC2005/Slides/typesrant6.html

I didn't see that talk either, but the audio for it is online at
http://www.international-lisp-conference.org/2005/media/clinger-audio.mp3

(Get him!)

Will

Matthew D Swank

unread,
Sep 26, 2005, 4:28:50 PM9/26/05
to
On Mon, 26 Sep 2005 13:24:17 -0700, William D Clinger wrote:


> I didn't see that talk either, but the audio for it is online at
> http://www.international-lisp-conference.org/2005/media/clinger-audio.mp3
>

Thanks! (I don't know how I missed that)

Charles Hoffman

unread,
Oct 15, 2005, 11:42:00 AM10/15/05
to
Ulrich Hobelmann wrote:
> Matthew D Swank wrote:
> I didn't see him, but here's my two cents anyway.
>
>> http://www.ccs.neu.edu/home/will/Research/ILC2005/Slides/typesrant6.html
>
>
> Hm, strong typing could be something like verifying that the if and else
> clause of a function return values of the same type, as that is
> obviously important if the caller is to rely on that.
>
> Strongarm typing might be something like C requiring you to declare a
> struct just so you can return more than one value from a function.
>
>> I have an idea what he might be talking about, but I wasn't there.
>
>
> Same here.
>
> Optional type checking provides exactly the above, and doesn't prevent
> code from being run.
>

I didn't RTFA yet but I felt the need to caution us about not confusing
static typing and strong typing, which are different things. Static
typing is when types can be determined at compile time, i.e. are
specified in the text of the code; dynamic typing is when type-checking
waits until runtime. Strong/weak typing is another dimension, dealing
with how strictly types are enforced. Lisp/Scheme is strongly (= only
works on numbers, for instance), but dynamically, typed. C is
statically, but more weakly, typed. An example of very strong static
typing would be Ada.

--ch--

Ulrich Hobelmann

unread,
Oct 15, 2005, 2:03:38 PM10/15/05
to

Yes, I meant static strong typing, thanks. "Optional type checking"
should read "optional static checking."

--
Blessed are the young for they shall inherit the national debt.
Herbert Hoover

0 new messages