Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!elroy.jpl.nasa.gov!sdd.hp.com!hplabs!otter.hpl.hp.com!hpltoad!cdollin!kers From: kers@hplb.hpl.hp.com (Chris Dollin) Newsgroups: comp.lang.scheme Subject: Re: standards Message-ID: Date: 31 May 91 08:54:31 GMT References: <1991May30.013756.21021@cs.umn.edu> Sender: news@hplb.hpl.hp.com (Usenet News Administrator) Organization: Hewlett-Packard Laboratories, Bristol, UK. Lines: 28 In-Reply-To: markf@zurich.ai.mit.edu's message of 30 May 91 17:46:46 GMT Nntp-Posting-Host: cdollin.hpl.hp.com In general, I am opposed to ``optional'' parts of standards. [I mean that I would regard adding an optional part to a standard as something that required strong justification - stronger than ``some implementations have it, some don't, so we'll make it optional'' [*1].] This is because I think the standard is something the programmer refers to in deciding what facilities are available for their programs. If they are not interested in portability, then of course it doesn't matter if their local implementation has oodles of extra features; *whether or not they're in the Standard* they'll get used. If they *are* interested in portability, then they are obliged to use *no* optional features - which means there's not much point in having them [*2]. Without some (Standard!) mechanism for a program to announce that it needs optional parts X, Y, and Z, thank you, it's difficult for a reader (or a compiler) to discover that what they're reading will use those options. [*1] I am not claiming that that is how the Scheme standard was produced. [*2] I agree that they can say ``if you provided so-and-so, you must provide it like *this*'', which is half-useful. -- Regards, Kers. | "You're better off not dreaming of the things to come; Caravan: | Dreams are always ending far too soon."