Xref: utzoo comp.lang.scheme:2506 comp.theory:1992 comp.lang.functional:785 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!udel!haven.umd.edu!socrates.umd.edu!socrates!rockwell From: rockwell@socrates.umd.edu (Raul Rockwell) Newsgroups: comp.lang.scheme,comp.theory,comp.lang.functional Subject: Re: ML-like type-checker for Scheme subset? Message-ID: Date: 16 May 91 03:39:13 GMT References: <5710@goanna.cs.rmit.oz.au> <7480@rex.cs.tulane.edu> <1991May13.164558.3703@news.cs.indiana.edu> <7504@rex.cs.tulane.edu> Sender: rockwell@socrates.umd.edu (Raul Rockwell) Organization: Traveller Lines: 19 In-Reply-To: fs@caesar.cs.tulane.edu's message of 15 May 91 20: 14:15 GMT Frank Silbermann: If types are domain names then a type-clash is mathematical _nonsense_. Under this paradigm, a functional language can include _only_ well-typed programs. Ill-typed programs have no meaning. This severely hampers the usefulness of runtime typechecking, since the program is invalid _even if_ the type clash occurs in an unevaluated subexpression. Now I'm confused. Simple example: x % (y - z) where % indicates division. It seems to me that (A) this program has meaning, and (B) there is the potential for a type clash (y - z might be outside the domain of %). It also seems to me that this might be an unevaluated subexpression for conditions where the type clash occurs. Color me perplexed. Raul Rockwell