Xref: utzoo comp.lang.scheme:2486 comp.lang.functional:776 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.scheme,comp.lang.functional Subject: ML-like type-checker for Scheme subset? Message-ID: <5710@goanna.cs.rmit.oz.au> Date: 13 May 91 06:58:20 GMT Followup-To: comp.lang.scheme Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 22 I am pushing for Scheme to be adopted as the (or an) introductory programming language here. All of the essential programming concepts can be presented using Scheme, with the exception of two: -- the idea that programming language implementations are entitled to quietly deliver incorrect results (Pascal implementations are often like this, and C implementations almost always are) -- static type checking. It occurred to me that static type checking could be introduced _after_ the other concepts have been presented, and that an ML-style type checker would suit Scheme rather well. There are a handful of functions like memq which would require union types, but well-typed replacements are easy to define. Has anyone already done this? I _could_ write the code myself, but it would be a pity to re-invent the wheel. -- Bad things happen periodically, and they're going to happen to somebody. Why not you? -- John Allen Paulos.