Path: utzoo!mnetor!uunet!mcvax!unido!ecrcvax!micha From: micha@ecrcvax.UUCP (Micha Meier) Newsgroups: comp.lang.prolog Subject: Re: BSI Proposal Message-ID: <517@ecrcvax.UUCP> Date: 17 Mar 88 12:06:38 GMT References: <229@gould.doc.ic.ac.uk> <771@cresswell.quintus.UUCP> Reply-To: micha@ecrcvax.UUCP (Micha Meier) Organization: ECRC, Munich 81, West Germany Lines: 39 In article <771@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >As Chris Moss says, most languages since Fortran regard blanks as >significant. Surely it is inconsistent to argue that > "RED O" and "REDO" >are different, and that is a Good Thing, but > "red (O)" and "red(O)" >being different is a Bad Thing? Blanks are being treated as >significant in both cases. "RED O" and "red (" are both two tokens, >and "REDO" and "red(" are both one token; it's exactly the same thing. >What's sauce for the goose is sauce for the gander. I'm no fan of the allowed space between the functor and the opening parenthesis, but this does not seem to me as a good argument. In the usual languages blankspaces are allowed between characters of different classes (in the POP meaning of character classes), with some exceptions like e.g. the floating point constants. From this point of view a space between "red" and "(" seems rather natural, to say that "red(" is one token seems to me at least arguable (easy to implement, I admit). But there are other consequences of this BSI rule - is there any reasonable argument to forbid binary operators that start with a capital letter or that contain letters and graphic chars? Actually, we have implemented the BSI standard in our Sepia, (it's probably one of the first implementations) but I have to admit that one of the first things to provide was a switch to be able to switch it off. There is a long list of problems we have encountered, we are going to pass them to BSI soon. I have appreciated to have a minimal list of built-ins provided by BSI, but the description contains so many errors that one has really to take care when implementing them. My global impression from BSI is, I'm afraid, close to that of R.A.O'K, it is a new language, and very difficult to implement. I've never really understood the grammar and the 'Formal Specification of Prolog', though :-) --Micha