Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!samsung!munnari.oz.au!bunyip!brolga!uqcspe!batserver.cs.uq.oz.au!farrell From: farrell@batserver.cs.uq.oz.au (Friendless) Newsgroups: comp.lang.functional Subject: Re: What is strong typing? (Was: I like strong typing) Message-ID: <4424@uqcspe.cs.uq.oz.au> Date: 30 Jul 90 04:56:59 GMT References: <4387@uqcspe.cs.uq.oz.au> <1689@opal.tubopal.UUCP> Sender: news@uqcspe.cs.uq.oz.au Reply-To: farrell@batserver.cs.uq.oz.au Lines: 22 wg@opal.cs.tu-berlin.de (Wolfgang Grieskamp) writes: >farrell@batserver.cs.uq.oz.au (Friendless) writes: >>jgk@osc.COM (Joe Keane) writes: >>>Despite what some people say, i don't think strong typing is such a good deal >>>It catches obvious errors, but doesn't do you any good against less obvious >>>bugs. >What is strong typing? Is it just the case that every member of a >sum-of-products establish some type and all together another type? >Does it requires open type implementations or do you introduce >abstract sort names for each member of the sum? Is the domain of a >constrained object an anonymous one? I didn't have in mind any particular concept of strong typing, other than the idea that you have to be able to determine at compile-time what type things are. Sorry, but I'm not a type-theorist. My particular favourite is Milner polymorphism, because it's easy and it provides exactly the type information which an implementation needs and can use. That is, you need to know the information that Milner typing gives you, and you cannot take advantage of any more. Correct me if I'm wrong, please. John