Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!news.kei.com!nntp.coast.net!col.hp.com!news.dtc.hp.com!hplntx!hplntx.hpl.hp.com!gjr
From: gjr@hplgr2.hpl.hp.com (Guillermo (Bill) J. Rozas)
Subject: Re: expressiveness and strong type system?
Sender: news@hpl.hp.com (HPLabs Usenet Login)
Message-ID: <GJR.96Mar23140028@hplgr2.hpl.hp.com>
In-Reply-To: blume@zayin.cs.princeton.edu's message of 21 Mar 1996 22:56:59 GMT
Date: Sat, 23 Mar 1996 22:00:28 GMT
Reply-To: gjr@hpl.hp.com
References: <OZ.96Mar14014447@nexus.yorku.ca> <hbaker-1403961017520001@10.0.2.15>
	<BLUME.96Mar14174151@zayin.cs.princeton.edu>
	<GJR.96Mar20105605@hplgr2.hpl.hp.com>
	<BLUME.96Mar20155909@zayin.cs.princeton.edu>
	<GJR.96Mar21130522@hplgr2.hpl.hp.com>
	<BLUME.96Mar21175659@zayin.cs.princeton.edu>
Nntp-Posting-Host: hplgr2.hpl.hp.com
Organization: Hewlett-Packard Laboratories, Palo Alto, CA
Lines: 15

In article <BLUME.96Mar21175659@zayin.cs.princeton.edu> blume@zayin.cs.princeton.edu (Matthias Blume) writes:

|   Well, looks like what you need is polymorphism (type variables)...
|   (No, I won't mention the name of the language I am thinking of and
|   which offers those too... :)

You still don't get it.  The internal data structures that the code
keeps must be able to simultaneously hold objects of different types
in equivalent positions (sometimes changing with time).  That's why
non-homogeneous lists and vectors are needed.

It is not (as conceptually happens in ML) that the code is polymorphic
in that it can be instantiated for each type in use, but that a single
set of data structures must hold all these values at once.  Thus no
static type checking is possible.
