ok@quintus.UUCP (Richard A. O'Keefe) (03/28/88)
An Annotated Version of PS/27. PS/27 is document number 27 is the BSI Prolog Standardisation effort's document register. You don't produce a British Standards Institute standard just by saying you have got one; you have to persuade the BSI to lend you their name. One of the steps you have to take in this process is to write a formal "Proposal to BSI for new standardization work", which says what you intend to do and why you think the BSI should lend their name to it. It's a little bit like a contract, and a whole lot like a promise. The rest of this text is an annotated version of PS/27. There is no copyright notice on any part of PS/27. Three kinds of text appear here: (B) Material which is part of the BSI form 11-8405. (P) Material which is specific to PS/27. (%) My remarks. Punctuation and spelling are copied from the original. B Proposal to BSI for new standardization work. B Part A Proposer and Supporters B 1 Name and address of proposer P R S Scowen, P National Physical Laboratory, P Teddington, Middlesex. B 2 Name(s) and address(es) of body(ies) supporting the proposal P Alvey Directory; CCTA; Department of Trade & Industry; P University of Edinburgh; Imperial College, London; P International Computers Ltd; British Gas; British P Standards Institute Quality Assurance Division; etc. B 3 Date of submission P January 1985 B Please submit with this Form letters from the bodies indicating B the degree of support expected, eg in committee work, drafting, B research, commitment to use the standard. % No such letters were attached to PS/27, nor have any been sent % to me separately, either before or since. No doubt such letters % exist and were sent to the BSI; I merely indicate why I cannot % comment on them. B Part B. The Proposal B 1 Explain the economic, commercial/industrial, safety, consumer B protection or other benefits of the proposal. Why is B standardization needed? P Rapid growth in adoption of Prolog is leading to many different P processors being developed and marketed. Standardization will: P * Permit portable code to be developed, P * Aid transfer of personal knowledge and experience. P * Encourage wider adoption of these important ideas and techniques. P * Help maintain UK in its strong position. P * Help the Alvey programme achieve its objectives of better P communications and co-operation between UK groups by discouraging P fragmented and isolated efforts. B 2 Is the standard required or likely to be required for regulatory B purposes? If yes, please specify relevant legislation. P Not foreseen initially. B 3 Is the standard required or likely to be required for purchasing B purposes? If yes, please specify. P Yes % PS/27 does not specify any further. This much seems clear: the % intent is that "Prolog" processors conforming to the BSI substandard % should enjoy a commercial advantage over other "Prolog" processors. B 4 Is third party certification in view? B If yes, please indicate by which body or bodies P Yes. BSI Quality Assurance Division intend to offer a validation P service for Prolog processors in the same way as they now do for P Pascal. % This is an interesting one. At one point, Expert Systems International % offered to adapt their own regression-testing suite to BSI Prolog to % serve as the basis of such a validation suite. At a later time, it % was apparently decided that developing a validation suite was not a % task for the BSI Prolog committee. I do not know what the current % status of the validation suite is. Myself, I think they should have % developed the validation suite first, and used it to check the % standard. I suggested that the DEC-10 Prolog library be a part of % this suite. (I've not seen this mentioned anywhere, so they may have % "lost" this suggestion.) B Part C Definition of the standard requested B 1 What is the proposed title? P Specification for computer programming language Prolog. B 2 What is the proposed scope? P To specify the syntax and semantics of the language Prolog by P specifying the requirements for Prolog processors and programs P including Prolog library modules and aspects of the Prolog P environment. % I'm not quite sure what this means. Do they mean that the effect % of Prolog library modules is to be specified, the way that the C % library is part of the draft ANSI C standard? (This is not what % they have done.) More plausibly, they mean that they will % specify what a standard-conforming library module must be like, % as a special case of what a standard-conforming program must be % like. The current draft fragments do impose some fairly strong % restrictions on the environment (UNIX and MS-DOS can satisfy them % but VM/CMS can't). B 3 Which type of publication is proposed: B Note 2. A "specification" should be drafted only when the B intention is to specify requirements for compliance B such that compliance can be objectively and B unambiguously claimed and verified. The description B 'Specification' should not be used in the titles of B documents designed for other purposes. P Specification. B Part D Drafting and timescale B 1 When could a first draft be made available to BSI? P End of 1985 B Who would provide it? P It will be provided by an existing working group. % I do not know whether a first draft has ever been made available % to the BSI. There have been several drafts of the syntax so far, % and many drafts of different groups of built-in predicates, but I % have not yet received a single document purporting to be a first % draft of a BSI standard for the whole language. There WAS a PS/3 % purported to be a first draft of a standard, but it predated the % "Proposal for new standardization work", and PS/5 (which I was % commenting on in December 84) had already made it clear that % PS/3 would NOT form the basis of BSI Prolog. To quote PS/5, % PS/3 "in many cases defines neither their meaning nor their % effect". So I assume that PS/3 cannot be the first draft that % PS/27 promised. B 2 Will the project depend upon research and development work now B in train or yet to be started? If yes, please give details. P No. The content of the standard will be based on Edinburgh Prolog P as described in Programming in Prolog by W F Clocksin & C S Mellish P Spring 1981. % This is the statement which Chris Moss said he couldn't find. % Note that it says clearly: % (a) No research and development work either in progress or yet % to be started will be depended on. At the time, I took this % to promise that they would be trying to standardise practice % as it stood in January 1985, not to invent a new language. % (b) The CONTENT of the standard is to be based on Edinburgh % Prolog, as described in Clocksin & Mellish. At the time, I % was so naive that I took this to mean that the standard was % to be based on Edinburgh Prolog. B 3 What is the latest date by which the project should be complete B if it is to be of optimum use? P For optimum use, a standard is required as soon as possible but P no later than 1986. An international standard will be required P soon afterwards. % No later than 1986. It could have been done, that's the sad thing. % If they had kept their promise, it could have been done. ------------------------------- That's the end of the BSI form, but there is an attachment. The attachment says, amongst other things: P An informal working group has been formed and already set to work P on a British Standard. The group has representatives from all P major centres of expertise in Prolog together with experts in P programming language standardization and language certification. P The group regards this matter as urgent and aims to produce a P draft by the end of the year. % Note: "representatives from" does not mean "skilled representatives % from". One of the "representatives from" a "major centre of % expertise in Prolog" told me that his professor had sent him as % his substitute because his professor was too busy. I gave him his % first lesson in Prolog data structures, some months AFTER he had % started attending meetings. % Note: "all main centres of expertise" did not at that time % include any outside the UK. Nobody from Waterloo, nobody from % Melbourne, nobody from Japan, nobody from Israel, *not*one* of % the developers of DEC-10 Prolog, nobody from Syracuse, and so on. P The interest in logic programming and Prolog makes it inevitable P that a standard Prolog will be defined and adopted sooner or P later. By initiating this process in the UK, we will be able to P exert influence on the resulting standard and strengthen Britain's P position in this important new area of Information Technology. P We will also be able to foster UK implementors. % Note that last sentence: the goal is to foster UK _implementors_. % And that's exactly what is happening, even at the expense of Prolog % _users_ in the UK and worldwide. --------------------------------
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (03/31/88)
In article <831@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: > > >B 2 Will the project depend upon research and development work now >B in train or yet to be started? If yes, please give details. >P No. The content of the standard will be based on Edinburgh Prolog >P as described in Programming in Prolog by W F Clocksin & C S Mellish >P Spring 1981. > I presumed that you meant something far more specific than that. I doubt anyone could deny that our work is based on Edinburgh Prolog as described in Clocksin & Mellish. But should it be limited precisely to that? Most of the discussions on this net are about details that C&M do NOT cover--maybe that's part of the problem. >% Note that it says clearly: >% (a) No research and development work either in progress or yet >% to be started will be depended on. At the time, I took this >% to promise that they would be trying to standardise practice >% as it stood in January 1985, not to invent a new language. >% (b) The CONTENT of the standard is to be based on Edinburgh >% Prolog, as described in Clocksin & Mellish. At the time, I >% was so naive that I took this to mean that the standard was >% to be based on Edinburgh Prolog. Do we not allow anything not stated in the C&M "de facto standard"? There is all the difference in the world between basing something on a proposal and adopting that proposal lock stock and barrel. If it had been stated that it was based on MProlog or Marseille Prolog or microProlog it would look an awful lot more different to what it looks like now. Rereading >% At the time, I took this >% to promise that they would be trying to standardise practice >% as it stood in January 1985, not to invent a new language. I realise that this is partially at least a retraction of what Richard had said. The submission certainly did NOT say that it would take no account of current research, or of the current state of the art, nor that it would "standardise practice as it stood in January 1985" (whatever that means). These positions are scarcely compatible anyway. Chris Moss.
ok@quintus.UUCP (Richard A. O'Keefe) (04/02/88)
In article <249@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes: > I presumed that you meant something far more specific than that. > I doubt anyone could deny that our work is based on Edinburgh Prolog > as described in Clocksin & Mellish. > Most of the discussions on this net are about details that C&M do NOT > cover--maybe that's part of the problem. The BSI group have felt free to change things that C&M *did* describe clearly. The phrase "as described in" is perhaps ambiguous. Reading 1: "Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)". Reading 2: "Edinburgh Prolog (that is, the dialects that Clocksin & Mellish refer to and partly describe)". Since C&M is far too vague about details to serve as the basis for a standard, I find reading 2 the most plausible one. It is very easy to deny that the early work was based on Edinburgh Prolog: some of the early stuff looked uncommonly like Sigma Prolog. Indeed, document PS/69 (dated 6 June 1985) explicitly says that the standard was now to be based on micro-PROLOG as well as C&M. > >% Note that it says clearly: > >% (a) No research and development work either in progress or yet > >% to be started will be depended on. At the time, I took this > >% to promise that they would be trying to standardise practice > >% as it stood in January 1985, not to invent a new language. > >% (b) The CONTENT of the standard is to be based on Edinburgh > >% Prolog, as described in Clocksin & Mellish. At the time, I > >% was so naive that I took this to mean that the standard was > >% to be based on Edinburgh Prolog. > > Do we not allow anything not stated in the C&M "de facto standard"? Consider, for example, the phrase "the English language, as described by Jespersen". Would anyone take this to mean _only_ what Jespersen described? No, this would be taken as a pointer to Modern English, as distinct from Black English, Middle English, or Pidgin English. And since Jespersen described both English and American, it would be taken to refer to both those dialects. Similarly, by Reading 2, one would take "Edinburgh Prolog, as described by Clocksin & Mellish" to refer to the dialects C & M were concerned with but did not fully describe, namely DEC-10 Prolog, EMAS Prolog (C Prolog's immediate ancestor), and PDP-11 Prolog. Given their close relationship to PDP-11 Prolog, and their close relationships to Clocksin and to Mellish, it would be reasonable to count ESI Prolog 1 and PopLog as "Edinburgh Prolog" within the meaning of the act. But it is clear that IC-Prolog, micro-PROLOG, Sigma Prolog, LM-PROLOG, and Waterloo Prolog, despite their virtues, are _not_ "Edinburgh Prolog" within the meaning of the act. > There is all the difference in the world between basing something on > a proposal and adopting that proposal lock stock and barrel. Indeed there is. There is also all the difference in the world between basing something on the dialects referred to in a book and going off and inventing your own. > If it had been stated that it was based on MProlog or Marseille Prolog > or microProlog it would look an awful lot more different to what it > looks like now. I'm not sure that I believe this: there was a serious proposal early on to base BSI standard syntax on that of Sigma-Prolog, which is an immediate descendant of micro-PROLOG, and as pointed out above, PS/69 _did_ say in June 85 that (contra the January 1985 promise) the stanard _would_ be based on micro-PROLOG _as well as_ Clocksin & Mellish. (Which is rather like basing a standard on BASIC as well as FORTRAN.) > Rereading > >% At the time, I took this > >% to promise that they would be trying to standardise practice > >% as it stood in January 1985, not to invent a new language. > > I realise that this is partially at least a retraction of what > Richard had said. You realise wrong. It is not a retraction of anything at all. It is a simple statement of what, in 1985, I took the text to mean. While it may not be what the author intended, I _still_ think that's how the _text_ is most naturally interpreted. > The submission certainly did NOT say that it would > take no account of current research, Neither did I say that it did. But it DOES say quite explicitly that no additional research beyond what had already been done by January 1985 would be REQUIRED to complete the standard. ERRATA: I had forgotten about document PS/45 by Roger Scowen, entitled "A standard Prolog - A tentative proposal, draft". This is a 2-page draft dated 24 May 1985. However, it does not count as the first draft promised for the end of 1985--it is little more than a list of which predicates might be in the standard. I would argue that PS/45 clarifies how "based on Edinburgh Prolog..." is to be interpreted, because it includes predicates which are not described in Clocksin & Mellish, but _are_ in some of the dialects I take that phrase to identify.
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/14/88)
In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >The phrase "as described in" is perhaps ambiguous. >Reading 1: > "Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)". >Reading 2: > "Edinburgh Prolog (that is, the dialects that Clocksin & Mellish > refer to and partly describe)". >Since C&M is far too vague about details to serve as the basis for a standard, >I find reading 2 the most plausible one. I don't find Reading 2 any more plausible than my original. "Clocksin and Mellish were trying to describe what was going on at Edinburgh. Therefore one takes not what they said but what they were trying to say, which is obviously... (insert one's own prejudice)" Unfortunately, since the breakup of the original Edinburgh group centred round the DEC10 implementation there has really been no coherence at all. Poplog, NIP, Prolog-X all come from the right stable but vary in many details. To those further afield it is even more confusing. >It is very easy to deny that the early work was based on Edinburgh Prolog: >some of the early stuff looked uncommonly like Sigma Prolog. Indeed, >document PS/69 (dated 6 June 1985) explicitly says that the standard was >now to be based on micro-PROLOG as well as C&M. I work in the same establishment as the authors of SigmaProlog. I'm not going to start badmouthing them on the net. But really Richard, you do like to have your cake and eat it too. Frank McCabe gave up the chairmanship of the syntax committee last summer when all he had produced was principles and sketches, leaving me to try to put together a document which was acceptable to all. So for the last 9 months I've been trying to do that. Many of his ideas are worth listening to and some of them have problems. But when all sides adopt a dog in the manger attitude one will never get anywhere. Anyway all this is history. It looks as if it's ISO Prolog that will get the attention in future. This opens up the field to far more input and introduces more problems, too. So PS/69 as well as earlier statements are effectively dead as far as I can see. I don't object to you arguing for the standard to be based on Quintus. You might be considered to be failing your employers if you didn't. But don't presume that Quintus is in a uniquely priviledged position. Chris.
ok@quintus.UUCP (Richard A. O'Keefe) (04/16/88)
In article <256@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes: > Unfortunately, since the breakup of the original Edinburgh group centred > round the DEC10 implementation there has really been no coherence at all. > Poplog, NIP, Prolog-X all come from the right stable but vary in many > details. To those further afield it is even more confusing. This is, um, misleading. The last version of PopLog I used was *VERY* close to DEC-10 Prolog (so much so that porting the DEC-10 Prolog library to it was a matter of taking the C-Prolog version I had and undoing most of the changes I had made to the DEC-10 version to get the C-Prolog version). In 1984, which is the last time I saw it, Prolog-X was as close to DEC-10 Prolog as, say, SB Prolog. NIP was written at Edinburgh to be used by people at Edinburgh, who were worried by the fact that the DEC-10 was going away and didn't want to rewrite a lot of code. I have a manual for NIP that is a couple of years old; at that time it was _very_ close to DEC-10 Prolog. Each of these three dialects that Chris Moss mentions is or contains a sublanguage which is _very_ close to DEC-10 Prolog; about as close as C Prolog or ALS Prolog. They are ***MUCH*** closer to each other than any of them is to the current BSI fragments. Dash it all, if it comes to that, the "Edinburgh-compatible" aspect of LPA MacProlog is a whale of a lot closer to this common core than it is to the BSI fragments. > >It is very easy to deny that the early work was based on Edinburgh Prolog: > >some of the early stuff looked uncommonly like Sigma Prolog. > I work in the same establishment as the authors of SigmaProlog. > I'm not going to start badmouthing them on the net. How is admitting that some of the early stuff looked like Sigma Prolog badmouthing anyone? The fact that it is very different from Edinburgh Prolog doesn't mean it's _bad_. > But really Richard, you do like to have your cake and eat it too. Please explain! All I want is a standard which is close to the common core of Edinburgh Prologs; which is what was originally promised. Yes, 53, 50, 47, and 54 are not identical, but that is no reason to give us 23 instead. How about giving us 51? > Frank McCabe gave up the chairmanship of the syntax committee last summer > when all he had produced was principles and sketches, leaving me to > try to put together a document which was acceptable to all. So for > the last 9 months I've been trying to do that. Many of his ideas > are worth listening to and some of them have problems. But when all > sides adopt a dog in the manger attitude one will never get anywhere. What has Frank McCabe to do with anything? I hope nobody has taken anything I have written in this forum as an attack on Chris Moss: the BSI committee decided what sort of grammar they wanted and that's the kind Chris Moss has to produce. He makes a great tailor, but if the rest of the committee give him a sow's ear, the best he can possibly make is a leather purse. Which sides are adopting a dog-in-the-manger attitude? (The meaning of that phrase is that a manger is a box containing fodder for cattle: the dog lying in it cannot eat it himself and won't let the cattle eat either.) Look, I'm not interested in who is doing what, whose ideas are good, whose ideas are bad, who is chairman, or any of that. What interests me is that there are a lot of Prolog systems which have a great deal in common, that there is a Prolog standard being developed, and that this standard is far more different from any two of those existing systems than they are from each other. > Anyway all this is history. It looks as if it's ISO Prolog that will > get the attention in future. This opens up the field to far more input > and introduces more problems, too. So PS/69 as well as earlier statements > are effectively dead as far as I can see. What is ISO Prolog? Which groups are doing the work? Do people on the existing BSI mailing list get all the documents relevant to the ISO work? Which document contains the promises made to ISO? > I don't object to you arguing for the standard to be based on Quintus. > You might be considered to be failing your employers if you didn't. > But don't presume that Quintus is in a uniquely priviledged position. News for you, chum. I have ***NEVER*** argued for the standard to be based on Quintus Prolog. Sob, sob, I guess I'm failing my employers, oh the shame. I have been very very careful to avoid suggesting at any point that the standard should be based on Quintus Prolog, and in the documents I wrote at Edinburgh I was explicit in rejecting the idea that the standard should be based on DEC-10 Prolog. I am deeply offended that Chris Moss should suggest that I am arguing for my employers rather than for what is technically good. Listen, and listen good: my perspective on the standard remains the perspective that I had at Edinburgh: what do I need in a standard so that I can write a large, reasonable, useful library, and be able to give it to anyone with a standard Prolog. That is, I retain a _user's_ viewpoint, not an implementor's. I criticise BSI Prolog because it is just plain _BAD_, not for any other reason. Get this clear: if the BSI/ISO crowd took ALS Prolog and rubber-stamped it "standard" (if it isn't already clear, I do not work for ALS and have never received any money from them), that'd be ok by me. At least it wouldn't be the disaster that the BSI's philautic changes would be. The ideal, of course, would be to have NU Prolog as the standard (:-). [No, I don't work for Melbourne either.] I have loaned all my copies of BSI stuff to someone, so I can't quote the exact wording. Bear in mind that the BSI standard is already over two years late, and that I complained about this about a year ago: Name pretty well any feature of term output, and the fragments do not define it. For example: There is currently nothing in any of the fragments I have received that says what base integers are written out in. This is of interest because there are Prolog systems such as Xerox Quintus Prolog and ZYX Prolog which are closely coupled with a Lisp system; if the Lisp system changes its output base, should this affect Prolog code? Is this nit-picking? No: at the Prolog Benchmarking Workshop people who were porting programs from one dialect to another often tried to compare the output of the original version and the output of the ported version. When different dialects put spaces in different places, that showed up as spurious differences. (Dash it all, I raised _that_ point in late 1984, in the context of what you need to make a validation suite work.) When I complain that the BSI group have wasted their time introducing differences where the differences were minor and have largely ignored the differences which _are_ a practical problem, I am not being a dog in the manger, I am not badmouthing anyone, I am not advocating Quintus Prolog, I am stating what is obvious to anyone who has seriously tried to port large programs between one "Edinburgh-compatible" dialect and another.
fritz@hpfclp.SDE.HP.COM (Gary Fritz) (04/18/88)
> I don't object to you arguing for the standard to be based on Quintus. > You might be considered to be failing your employers if you didn't. > But don't presume that Quintus is in a uniquely priviledged position. Chris, I honestly don't understand how you could make this statement if you'd really been reading the comments Richard has been making. It has been quite clear to me that 1) At NO time did Richard propose Quintus as a standard model. 2) Several times he specifically said tht Quintus did some particular thing WRONG, and should have done it in a more "standard" manner. 3) Richard has been trying very hard to champion the cause of existing users, existing code, and existing practices. He is trying to make sure that current users of Prolog can benefit from the standardization efforts, rather than having to throw away their programs and recode them in BSI "Prolog". 4) Along the way he has pointed out some glaring holes, errors, and inconsistencies in the BSI proposals. Granted, the BSI document is not complete, but Richard is performing (or at least trying to perform) a valuable service by critiquing it. It concerns me greatly when I see a knowledgeable expert like Richard making pointed comments about problems in the standard, supported by valid examples and cogent arguments, and you (apparently the only member of the standards committee following the discussion) answer with veiled innuendo and non sequiturs. Nearly every time you have responded to Richard's messages it has been on the level of "Richard, I can't STAND your upper-class British accent!" or other such condescending drivel; you have almost never replied to the technical issues Richard raised. When you did, it appeared to me that you completely ignored or misunderstood the point of Richard's posting. I am frankly amazed (but very glad) that he hasn't given up on you and let you go invent whatever oddball language you cared to devise. I think Richard would probably be the first to admit that he doesn't always have the most diplomatic writing style. As far as I can see, however, the content of his sometimes-acerbic comments is right on the mark, and deserves a thoughtful reply to the technical points. I would hope you could look past his writing style and consider the issues he raises. The responsibilities of your position on a standard-creating committee demand it. Gary Fritz
jha@its63b.ed.ac.uk (J Andrews) (04/22/88)
In article <6960004@hpfclp.SDE.HP.COM> fritz@hpfclp.SDE.HP.COM (Gary Fritz) writes: [on Chris Moss's comments about Richard O'Keefe] >... I would hope you could look past >his writing style and consider the issues he raises. The responsibilities of >your position on a standard-creating committee demand it. I don't think the responsibilities of his position really do demand that Chris read and deal reasonably with unreasonable articles. I'm not questioning your criticism of Chris's suggestion about Richard's motives, but I think an important thing to remember is: This Is Usenet. For all I know about Richard O'Keefe (which is less than I should, judging by all the excellent things I see about him and by him), he is a first-rate computer scientist from whom I could learn a lot. But that doesn't mean that I (or others) have to put up with long, irritating articles from him on this anarchic, user-run public network. We don't do that on comp.lang.c, or soc.women, or talk.bizarre even, so why should we do it on comp.lang.prolog? What I have come to do is, read his articles as far as I can, and if one starts to get my blood pressure up too high (:-)), hit 'n'. And that's cool. But you seem to be saying that Chris Moss should not be able to do the same, or to respond in kind. I think he should be able to do whatever he wants on this network, as long as he doesn't, say, speak officially for BSI without their approval (which I don't think he's ever claimed to be doing). Official discussions really have no place here. But there are unofficial rules of conduct, and everyone can promote them, with their 'n' key fingers or their own articles. --Jamie. jha@lfcs.ed.ac.uk
fuchs@unizh.UUCP (fuchs) (04/25/88)
Bravo Gary. --- nef
ok@quintus.UUCP (Richard A. O'Keefe) (04/25/88)
In article <1194@its63b.ed.ac.uk>, jha@its63b.ed.ac.uk (J Andrews) writes: > This Is Usenet. > > For all I know about Richard O'Keefe (which is less than I > should, judging by all the excellent things I see about him and by > him), he is a first-rate computer scientist from whom I could learn > a lot. But that doesn't mean that I (or others) have to put up with > long, irritating articles from him on this anarchic, user-run public > network. We don't do that on comp.lang.c, or soc.women, or > talk.bizarre even, so why should we do it on comp.lang.prolog? Because I don't post to soc.women or talk.bizarre (:-).
fritz@hpfclp.SDE.HP.COM (Gary Fritz) (04/25/88)
> I don't think the responsibilities of his position really do > demand that Chris read and deal reasonably with unreasonable > articles. I'm not questioning your criticism of Chris's suggestion > about Richard's motives, but I think an important thing to remember > is: > This Is Usenet. I really don't care if the messages reach Chris via Usenet, carrier pigeon, registered mail, smoke signals, or telepathy. It is the *content* that is important, NOT the medium. If Richard (or anyone else) raises valid points that indicate that perhaps BSI is doing something wrong, then BSI (or any other committee which purports to be defining a standard for all posterity) has a responsibility to pay attention to them and see if, just perhaps, there IS a problem. If not, they have wasted a little time; but if there is a problem, he will have saved them from making serious mistakes. If they ignore valuable input like this, they may create an intellectual curiosity which has no real use in the real world. And if this curiosity is foisted upon the real world as The Prolog Standard, it's likely to harm the progress of Prolog usage. That would be a shame. Gary Fritz
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/28/88)
In article <1194@its63b.ed.ac.uk> jha@lfcs.ed.ac.uk (J Andrews) writes: >In article <6960004@hpfclp.SDE.HP.COM> fritz@hpfclp.SDE.HP.COM (Gary Fritz) writes: > [on Chris Moss's comments about Richard O'Keefe] >>... I would hope you could look past >>his writing style and consider the issues he raises. The responsibilities of >>your position on a standard-creating committee demand it. I can't respond to Gary as his (and possibly several other) letters never reached us here (I've been rather busy and might have missed one). But my comments about Richard were encased in "flame" and ":-)" marks which had been removed in one message I saw. That ain't netiquette! In case there is misunderstanding: I know full well Richard is a New Zealander; I appreciate his style and (often) his humour; and I think he probably understands mine. So no aggro. If my humour is off the line please let me know. Face-to-face communication is difficult enough goodness knows; across continents, heaven help us! And as I've said before: if I'm representing the line of a committee I'll say so; otherwise I'm speaking for myself as one member among many. Chris Moss.
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/28/88)
In article <883@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >> >some of the early stuff looked uncommonly like Sigma Prolog. > >> Frank McCabe gave up the chairmanship of the syntax committee last summer >What has Frank McCabe to do with anything? Simply that Frank is the (major) author of sigmaProlog. >Look, I'm not interested in who is doing what, whose ideas are good, >whose ideas are bad, who is chairman, or any of that. I'm not trying to "bring personalities into it" but in the real world it is often the easiest way to explain positions. You, Richard, believe in the nuances of "Edinburgh Prolog" partly because you use it every day, have contributed many valuable details to it, and see your ideas worked out in it. There's nothing wrong in that. Ideas are not out in world three (whatever Popper may say) but inside real people's heads. It surely must be obvious to you that the emergence of sigmaProlog ideas on the committee was because Frank had a lot to do with it. Nor is that in itself any bad thing. Because he had worked through many of the same problems and not infrequently come up with slightly different solutions, he believed in them too and wanted to promote them. It's not simply a question of the "not invented here" syndrome; that's far too simplistic. People design things because they believe they are the right way of doing things, and that in turn influences what they believe. I deliberately phrase that in almost religious terms, because it's often not a question of that's right and the other's wrong, but rather six of one and half a dozen of the other. >What interests me >is that there are a lot of Prolog systems which have a great deal in >common, that there is a Prolog standard being developed, and that this >standard is far more different from any two of those existing systems >than they are from each other. You have made your case and I intend to make sure the committee understand it. I don't agree that it is "far more different from any two of those existing systems than they are from each other." That's a misleading statement that could prejudice people who haven't taken the trouble you have to analyse the documents. (I'll follow up on the "var" question tomorrow. It's a DETAIL though obviously an important one.) >I am deeply offended that Chris Moss should suggest that I am arguing >for my employers rather than for what is technically good. Richard, this time I have to take YOU to task for not reading what I wrote, but for the implication of what you thought I might have written. I wrote: I don't object to you arguing for the standard to be based on Quintus. You might be considered to be failing your employers if you didn't. It is others who might make the judgement, not me. You can't escape from being in the position you are, and I'm sure your employers allow you to contribute to the net because they feel they (at least) do not lose by it. This is the big cynical world in which we are. I still work in the university world and get no retainers (no one offered :-). But that doesn't mean I'm the honest unbiased person who can always see clearly. I have my prejudices and make mistakes (as must be very obvious!). > When I complain that the BSI group have wasted their time introducing >differences where the differences were minor and have largely ignored the >differences which _are_ a practical problem, I am not being a dog in the >manger, I am not badmouthing anyone, I am not advocating Quintus Prolog, >I am stating what is obvious to anyone who has seriously tried to port >large programs between one "Edinburgh-compatible" dialect and another. And what I would say is "we need a better forum for taking this forward". It was a sad day for the BS committee when you flew off to the States, Richard. Communication has been difficult across 8,000 miles (even tho you've tried hard). So tho this is not particularly the place to say it: we are trying to set up a network mailing list in the context of ISO to hammer out the right position on the 101 issues that need settling. It will not be a free for all, but nor will it be needlessly limited. The aim is to have at least one link-person per country, and at the moment the position for the US is vacant [Richard is already on the list in a personal capacity]. >What is ISO Prolog? Which groups are doing the work? Do people on the >existing BSI mailing list get all the documents relevant to the ISO work? >Which document contains the promises made to ISO? ISO Prolog doesn't yet exist. The aim is to get a draft for the next meeting which is near Munich at the beginning of October for publication next year. It will be based on the work of BSI and AFNOR, but hopefully not have their failings. All documents will not be sent automatically to everyone on the BS list, but the secretary of the ISO group is the same Roger Scowen (National Physical Laboratory, Teddington, Middx, UK), so write to him for details. The documents setting up the ISO group are quite short and I will consider submitting them on the net. Chris.
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (04/28/88)
In article <6960004@hpfclp.SDE.HP.COM> fritz@hpfclp.SDE.HP.COM (Gary Fritz) writes: > >Chris, I honestly don't understand how you could make this statement if >you'd really been reading the comments Richard has been making. I have finally found Gary's message on our weird newsreader. I don't want to repeat what I said in my earlier message, but there are a couple of points I must answer. >It has >been quite clear to me that (4 issues stated) I entirely agree with you. >you have almost never replied to the technical issues Richard raised. >When you did, it appeared to me that you completely ignored or misunderstood >the point of Richard's posting. I dispute that strongly. On a number of occasions I've answered point by point. Where I haven't, the usual reason is that it concerns part of the standard that I have not personally been concerned with. Indeed on a number of occasions I side with Richard. My usual reaction on those occasions has been to list out the correspondence on lineprinter paper and thrust it under the nose of the committee member concerned. I don't see the point of commenting on those occasions. My mailer regularly reminds me of the thousands of dollars we have to pay (real money in Europe) for these messages. On other occasions, Richard's got a point, and I hope I've taken it. I haven't always (tho I have quite often) said "I agree". In particular, when Richard has repeated himself I've usually ignored it. You may not have seen an earlier message. The fact that I can't keep up with Richard is, I suspect, not my problem only. My one attempt at a joke seems to have misfired badly. But please restore the :-)! Chris Moss.
jeff@aiva.ed.ac.uk (Jeff Dalton) (04/28/88)
In article <273@gould.doc.ic.ac.uk> cdsm@doc.ic.ac.uk (Chris Moss) writes: >I'm not trying to "bring personalities into it" but in the real world >it is often the easiest way to explain positions. You, Richard, >believe in the nuances of "Edinburgh Prolog" partly because you use >it every day, have contributed many valuable details to it, and see >your ideas worked out in it. I think it is very important to distinguish this -- that Richard thinks (if indeed he does) that the details of Edinburgh Prolog represent a good way of doing Prolog -- from the main point of Richard's argument in this discussion, namely that the standard should be based on the langauge as it is and without so many changes that it becomes in effect a new language and so causes more problems for current users than it solves. It would be fair to answer Richard by showing that the changes are not so great as to make it a different language, by showing that the benefits are enough to justify the cost of change, or by admitting (if it's so) that the standards committees intend to make a new and better Prolog as they go -- that they are working under a different notion of standardization -- or even that the goal is not a standard for Edinburgh Prolog but for a wider class of dialects. It is, I think, at least misdirection to answer Richard by saying that the people on the committee beleive in the solutions they promote, that Richard believes in the solutions he promotes, that of course no one is unbiased, that Richard can't escape his position as a Quintus employee and that people might take note of this, and so on: that, in effect, everyone has their prejudices and Richard's just happen to be towards Edinburgh Prolog. These things may all be true, but by "misdirection", I mean a reminder that Richard has raised some issues that deserve a direct answer. Just because Richard might be inclined towards Edinburgh Prolog in any case doesn't mean he isn't right when he says the BSI proposals go too far beyond codifying current practice or that users will find the cost of conversion too high. >You have made your case and I intend to make sure the committee >understand it. Richard may well be underestimating the extent to which you're doing this. That you're carrying on this discussion counts for something too. Nonetheless, there are times when you seem to be muddying the waters rather than responding fairly to what Richard said. I am not saying that is your intention, but it is sometimes what happens. For example, here is the exchange that began the issue of "personalities": In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) wrote: - It is very easy to deny that the early work was based on Edinburgh - Prolog: some of the early stuff looked uncommonly like Sigma Prolog. - Indeed, document PS/69 (dated 6 June 1985) explicitly says that the - standard was now to be based on micro-PROLOG as well as C&M. In <256@gould.doc.ic.ac.uk>, you quoted Richard's remark and replied: + I work in the same establishment as the authors of SigmaProlog. + I'm not going to start badmouthing them on the net. I don't see anything in the passage you quoted that amounts to badmouthing the authors of Sigma Prolog -- or did you mean that *you* weren't going to badmouth them because you worked in the same place? Richard was responding to an earlier claim that it was hard to deny the work was based on Edinburgh Prolog. Specifically, in <249@gould.doc.ic.ac.uk>, you said: I doubt anyone could deny that our work is based on Edinburgh Prolog as described in Clocksin & Mellish. But should it be limited precisely to that? The actual disagreement seems to be that Richard had in mind "based on E.P. alone" while you had in mind "based on E.P. and other Prologs". Richard brought in PS/69 to give some concrete backing to his "looked uncommonly like", so that it would be clear that his remark was not based on a mere impression. As you know, this is the way Richard writes. If you suggest that no one can deny something and he does deny it he will tell you so and give reasons besides. But I do not think he had personalities in mind. Another example is the following: In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: - The phrase "as described in" is perhaps ambiguous. - Reading 1: - "Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)". - Reading 2: - "Edinburgh Prolog (that is, the dialects that Clocksin & Mellish - refer to and partly describe)". - Since C&M is far too vague about details to serve as the basis for a - standard, I find reading 2 the most plausible one. In <256@gould.doc.ic.ac.uk>, you replied: + I don't find Reading 2 any more plausible than my original. + "Clocksin and Mellish were trying to describe what was going on at + Edinburgh. Therefore one takes not what they said but what they were + trying to say, which is obviously... (insert one's own prejudice)" There is certainly an argument to be made here, namely that the pahrase cannot be clarified as easily as Richard suggests. But your rephrasing of Reading 2 is hardly a fair one. It is not just a question of one prejudice verses another: there are facts involved, and Richard is an expert on those facts. Nor is it right to say Clocksin and Mellish were "trying to describe what was going on at Edinburgh". They described a "core Prolog". Then there is the question of how different the Edinburgh Prologs are from each other compared to their distance from the BSI proposals. This, at least, seems largely a technical issue: we can look at the differences and see which are greater. So far, though, only Richard has tried to explain his accounting by citing examples. Each side has accused the other of making misleading statements. >I don't agree that it is "far more different from any two of those >existing systems than they are from each other." That's a misleading >statement that could prejudice people who haven't taken the trouble >you have to analyse the documents. I will leave the question as to whether that is or is not misleading to further discussion. But in <256@gould.doc.ic.ac.uk> you said: + Unfortunately, since the breakup of the original Edinburgh group centred + round the DEC10 implementation there has really been no coherence at all. + Poplog, NIP, Prolog-X all come from the right stable but vary in many + details. To those further afield it is even more confusing. That is certainly (at least) misleading, as Richard has pointed out. "No coherence at all" is certainly too strong as well as going further than Richard's "far more different". One of the goals of the NIP effort was to retain substantial compatibility with DEC-10 Prolog, and it has done so. I have recently taken a moderately large program written for Quintus Prolog and run it successfully, without change, in the present NIP. Richard is well qualified to judge whether this represents a general possibility or is a fortuitous accident, because he does know a great deal about the different Prologs both in and outside the Edinburgh group. If, however, he is wrong, and the Edinburgh Prologs are not "***MUCH*** closer to each other than any of them is to the current BSI fragments", the Prolog community should be told why, in detail, for otherwise they will rightly conclude that Richard's case is the stronger. Finally, there is the question of the correspondence between Richard's position and the interest of Quintus. >>I am deeply offended that Chris Moss should suggest that I am arguing >>for my employers rather than for what is technically good. > >Richard, this time I have to take YOU to task for not reading what I >wrote, but for the implication of what you thought I might have >written. I wrote: > I don't object to you arguing for the standard to be based on Quintus. > You might be considered to be failing your employers if you didn't. The point is that Richard *wasn't* arguing for a standard to be based on *Quintus* Prolog. Edinburgh Prolog is not the same thing as Quintus Prolog. That Richard is arguing for a standard based on Quintus is simply false regardless of his motives. One might note, from my address below, that I am at Edinburgh. I should therefore add that any speculation on the influence of that fact on my position in this discussion is just that: speculation. For all anyone knows, I would prefer a standard based on Prolog II. Jeff Dalton, JANET: J.Dalton@uk.ac.ed AI Applications Institute, ARPA: J.Dalton%uk.ac.ed@nss.cs.ucl.ac.uk Edinburgh University. UUCP: ...!ukc!ed.ac.uk!J.Dalton
ok@quintus.UUCP (Richard A. O'Keefe) (04/30/88)
In article <273@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes: [about Frank McCabe & Sigma Prolog] "Edinburgh" Prolog and SigmaProlog are obviously related languages, just like FORTRAN and BASIC. It is not that I claim that Frank McCabe's ideas are in any way inferior to the ideas in Edinburgh Prolog. Only that they are incompatible. Trying to smuggle Sigma Prolog ideas (such as its data structures) into a standard which was supposed to be a standard for "Edinburgh Prolog as described in Clocksin & Mellish" made about as much sense as adding BASIC's READ and DATA statements in a standard for FORTRAN. > I'm not trying to "bring personalities into it" but in the real world > it is often the easiest way to explain positions. You, Richard, > believe in the nuances of "Edinburgh Prolog" partly because you use > it every day, have contributed many valuable details to it, and see > your ideas worked out in it. Use it every day, yes. Have contributed valuable details to it, not that I know of. (Off-hand, I can think of only two details of DEC-10 Prolog that I can claim responsibility for, and "Edinburgh" Prolog imitations have widely ignored them.) See my ideas worked out in it? _Which_? It is not a question of "believing in nuances of" anything. If the BSI committee went off and decided to produce a standard identical to Z-Prolog, I'd keep quiet about it. My position is simply that if a group claim to be developing a standard for "Edinburgh Prolog" (rather than LM Prolog, microPROLOG, IC Prolog, LogLisp, PROLOG/KR, or any of several dozen related languages all with _some_ merit), then that is what they should DO. If the BSI committee had done what they said they were going to do, we could have had a first draft of a usable standard ready for comment by July of 1985. Instead, the committee has indulged itself in designing a new language (I understand how great a pleasure that is; J.R.R.Tolkien called it "A Secret Vice") and by its default has materially contributed to the present diversity of Prologs. > I deliberately phrase that in almost religious terms, because it's > often not a question of that's right and the other's wrong, but > rather six of one and half a dozen of the other. Again, I'm not arguing that "Edinburgh" Prolog is right and SuperLogLisp is wrong. The point is consistency, comprehensibility, coherence. > You have made your case and I intend to make sure the committee > understand it. I don't agree that it is "far more different from any > two of those existing systems than they are from each other." That's > a misleading statement that could prejudice people who haven't taken > the trouble you have to analyse the documents. (I'll follow up on the > "var" question tomorrow. It's a DETAIL though obviously an important > one.) How can the truth be misleading? With all the earnestness I possess, I assure all who read this that it is my sincere belief based on careful reading of the BSI fragments and of various Prolog manuals that it would be easier for me to convert a program from AAIS Prolog to Arity Prolog than to convert from either to BSI Prolog, and that this applies to every other pair of "Edinburgh-compatible" Prologs I am familiar with. I believe that anyone who is not biassed by being a member of the BSI/AFNOR group or does not work for one of two Prolog vendors I have in mind but won't name for fear of legal consequences will come to the same conclusion that I have come to after reading the documents. I am willing to lend my copies of the BSI fragments to anyone in the Bay Area. I am shocked that Chris Moss can dismiss something that will break thousands of programs as a DETAIL. (We can all agree that type testing predicates which fail quietly when given a variable are not good logic. But the BSI committee are supposed to be designing a standard for the language we already have, and I don't know of any "Edinburgh Prolog" dialect where integer(_) is an error.) > >I am deeply offended that Chris Moss should suggest that I am arguing > >for my employers rather than for what is technically good. > Richard, this time I have to take YOU to task for not reading what I > wrote, but for the implication of what you thought I might have > written. I wrote: > I don't object to you arguing for the standard to be based on Quintus. > You might be considered to be failing your employers if you didn't. Yes, I know that's what you wrote, and it's not only what I thought you might have written, it's what I thought you did write. The first sentence presupposes that I "argue for the standard to be based on Quintus". This is simply untrue. What I want in the standard now is almost exactly what I wanted in the standard in 1984 (though I've learned a little bit more about floating-point since). There are things in Quintus Prolog (such as I/O predicates with stream parameters) that I most emphatically do _not_ want in the standard, and would rather weren't in Quintus Prolog. There are plenty of details in the present Quintus Prolog system which could stand improvement (and _are_ being improved). There are several things which are _not_ in Quintus Prolog that _should_ be in the standard. I may well need Chris Moss's pardon for other offences, but NOT for "arguing for the standard to be based on Quintus [Prolog]". > It is others who might make the judgement, not me. You can't escape > from being in the position you are, and I'm sure your employers > allow you to contribute to the net because they feel they (at least) > do not lose by it. Combine this with the two previously quoted sentences, and I understand Chris Moss to be saying " Hey Richard, I know that you're not CONSCIOUSLY arguing for Quintus Prolog to be the standard just because you work there and that's what you are used to and so on. But that IS the reason. " Perhaps this is not what Chris Moss _means_, but I think it is a reasonable interpretation of what he _wrote_. One of the reasons that I am angry with the BSI committee is that I want a nice clear technically sound Prolog standard so that I can beat Quintus over the head with it and make them change a few things. Only a few, mind. > And what I would say is "we need a better forum for taking this > forward". It was a sad day for the BS committee when you flew off to > the States, Richard. Communication has been difficult across 8,000 > miles (even tho you've tried hard). Well, actually, where I flew off to was New Zealand. 13,000 miles isn't a lot easier to communicate across than 8,000, of course. The greatest barrier to communication, as far as I'm concerned, has been that whenever I've sent anything to the BSI committee, the result has been a deafening silence. (I _have_ had prompt acknowledgements from Roger Scowen and Tony Dodd when sending things to them personally, and Tony Dodd _has_ quoted some of my comments in one or two of the PS/documents. Rather, he has MISquoted me.) It was the better part of three years before I heard that the BSI committe had rejected the formal definition I sent them, for example. I cannot pretend that this has left me unbiassed. I gave up sending comments to the BSI committee when I was told that 100 pages of comments was far too much for them to distribute. One thing that bothers me about the BSI substandard is that there are a number of serious portability problems which have simply never been raised. Once you have a standard language, you still have to cope with environment differences. I can think of four things offhand which the standard utterly fails to address (only one of which is currently handled by Quintus Prolog). If the committee were so much as to issue a document explaining one of these issues and saying why they haven't resolved it, that would materially increase their credibility in my eyes. Two of them really ought to be glaringly obvious, one they can find in the Quintus Prolog manual, and the fourth should be painfully familiar to Sussex (I'm sure they have found a solution).
ok@quintus.UUCP (Richard A. O'Keefe) (04/30/88)
In article <274@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes: > I dispute that strongly. On a number of occasions I've answered point > by point. Where I haven't, the usual reason is that it concerns part > of the standard that I have not personally been concerned with. In case it still isn't clear: Chris Moss's position on the BSI Prolog committee is similar to Doug Gwyn's position on the ANSI C committee. He is not responsible for the whole of BSI Prolog, nor indeed for any large part of it. I have severely criticised the syntax documents which bear his name, but my understanding is that his part in them is largely a matter of writing down and trying to make consistent decisions of the syntax subcommittee as a whole. I claim that the deformities of the syntax follow from the approach which was settled on before the BSI committee was adopted by the BSI and are inherent in that approach, not in Chris Moss's abilities or preferences. For the built-in predicates (such as atom/1) and the Formal Specification, no blame whatsoever attaches to Chris Moss. He has the misfortune (and the courage) to be the only member of the committee "visible" in this newsgroup. I wish some of the other commitee members would contribute their views. In particular, I wish the present Edinburgh members would make their opinions known, and I have _longed_ for Bill Clocksin to comment.
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (05/05/88)
Newsgroups: comp.lang.prolog Subject: Re: BSI Prolog terms of reference Summary: Expires: References: <831@cresswell.quintus.UUCP> <249@gould.doc.ic.ac.uk> <256@gould.doc.ic.ac.uk> <883@cresswell.quintus.UUCP> <273@gould.doc.ic.ac.uk> <386@aiva.ed.ac.uk> Sender: Reply-To: cdsm@doc.ic.ac.uk (Chris Moss) Followup-To: Distribution: Organization: Dept. of Computing, Imperial College, London, UK. Keywords: misdirection, misunderstanding, standards In article <386@aiva.ed.ac.uk> jeff@uk.ac.ed.aiva (Jeff Dalton,E26 SB x206E,,2295119) writes: >It is, I think, at least misdirection to answer Richard by saying ...deleted for space reasons >These things may all be true, but by "misdirection", I mean a >reminder that Richard has raised some issues that deserve a direct >answer. Just because Richard might be inclined towards Edinburgh >Prolog in any case doesn't mean he isn't right when he says the BSI >proposals go too far beyond codifying current practice or that users >will find the cost of conversion too high. First of all let me thank you for trying to say things clearly and dispassionately and with references. If I've overreacted, I'm sorry. I thoroughly agree that Richard has raised a lot of points that need answers. Some I've tried to answer; others I will attempt to answer in future as I clarify the issues with other members of the committee. >... there are times when you seem to be muddying the waters >rather than responding fairly to what Richard said. I am not saying >that is your intention, but it is sometimes what happens. > >For example, here is the exchange that began the issue of >"personalities": > >In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. >O'Keefe) wrote: >- It is very easy to deny that the early work was based on Edinburgh >- Prolog: some of the early stuff looked uncommonly like Sigma Prolog. >- Indeed, document PS/69 (dated 6 June 1985) explicitly says that the >- standard was now to be based on micro-PROLOG as well as C&M. > >In <256@gould.doc.ic.ac.uk>, you quoted Richard's remark and replied: >+ I work in the same establishment as the authors of SigmaProlog. >+ I'm not going to start badmouthing them on the net. > >I don't see anything in the passage you quoted that amounts to >badmouthing the authors of Sigma Prolog -- or did you mean that >*you* weren't going to badmouth them because you worked in the >same place? Yes, that is precisely what I _said_ (i.e. *I* didn't want to do the badmouthing). I never suggested that Richard was doing any badmouthing and I'm sorry if people took that implication. It seemed to me that Richard was criticizing the introduction of any ideas that arise from sigmaProlog and wanting the committee to disassociate themselves totally from those ideas. I found it hard to believe that, knowing that Frank McCabe was involved in the standardization process (he quoted him at the Boston conference saying there'd be a standard within a year), he should be surprised that he would want to introduce ideas drawn from that dialect of Prolog. >Richard was responding to an earlier claim that it was hard to deny >the work was based on Edinburgh Prolog. Specifically, in ><249@gould.doc.ic.ac.uk>, you said: > > I doubt anyone could deny that our work is based on Edinburgh > Prolog as described in Clocksin & Mellish. But should it be > limited precisely to that? > >The actual disagreement seems to be that Richard had in mind "based on >E.P. alone" while you had in mind "based on E.P. and other Prologs". >Richard brought in PS/69 to give some concrete backing to his "looked >uncommonly like", so that it would be clear that his remark was not >based on a mere impression. If Richard had in mind "based on E.P. alone" then why didn't he say it? His original statement (to quote it once more) was: It is very easy to deny that the early work was based on Edinburgh Prolog: some of the early stuff looked uncommonly like Sigma Prolog. Maybe I should mentally have inserted the word "alone" into that sentence but I didn't, and I don't think that's altogether my fault. Let me quote the section from PS/69 for those who haven't seen it: Which Prolog implementation should form the basis for a standard? Adopted: (8) Include features described in both Clocksin & Mellish and Clark & McCabe, judge other features on their merits. (i.e. it was the book in both cases not the implementation that was cited. I'm not suggesting this is very significant, but up to 1985 they were probably the most widely circulated Prolog books.) Now the resolution is in itself a thoroughly confusing statement. It seems to say that one takes the common subset of C&M and C&McC. This would involve ignoring nearly everything in both books say about syntax, built-in predicates, etc. It was presumably supposed to mean the union. Having taken that decision, the strategy of providing two syntaxes united by a common semantics was, I suggest, the right one. Thus there was an Edinburgh-based syntax and a micro/sigma based syntax. What Richard was criticizing was the current version of the Edinburgh-based syntax. Thus his objection that it was affected by sigma is mysterious to me. We haven't tried to make Edinburgh look like sigma or vice-versa (it would be totally impossible anyway). We've tried to keep a multiplicity of syntaxes. Thus I assumed that Richard and others accepted this twin-track policy. If they don't maybe we should go back and discuss where the problem is. Is it simply an unworkable ideal, or is it (as I suspect) that he feels that the BSI committee was bound to keep only to Edinburgh and was therefore betraying its principles by being pluralist? Where the strategy has run into serious problems is, I would suggest, at the level of built-in-predicates. Though in many cases it's just a naming question, there are differences which are hard to ignore semantically: e.g. what happens to read and get at the end of file. I doubt the people defining these have consciously followed sigma/micro any more than Edinburgh, but it has doubtless contributed to the muddle. Underlying this whole discussion is, effectively, the issue of the market penetration of "Edinburgh" Prologs. I will agree that there is a substantial core of unity which is much greater than that represented by the current BSI proposals. Unfortunately most of it is documented inadequately in reference manuals. The best account is still Richard's document known as PS/6, which is now being used much more in constructing the BIP definitions. (But that would take us into a methodology discussion which I want to avoid here.) >Another example is the following: > >In article <845@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >- The phrase "as described in" is perhaps ambiguous. >- Reading 1: >- "Edinburgh Prolog (that is, exactly what is in Clocksin & Mellish)". >- Reading 2: >- "Edinburgh Prolog (that is, the dialects that Clocksin & Mellish >- refer to and partly describe)". >- Since C&M is far too vague about details to serve as the basis for a >- standard, I find reading 2 the most plausible one. > >In <256@gould.doc.ic.ac.uk>, you replied: >+ I don't find Reading 2 any more plausible than my original. > >+ "Clocksin and Mellish were trying to describe what was going on at >+ Edinburgh. Therefore one takes not what they said but what they were >+ trying to say, which is obviously... (insert one's own prejudice)" > >There is certainly an argument to be made here, namely that the >pahrase cannot be clarified as easily as Richard suggests. But >your rephrasing of Reading 2 is hardly a fair one. It is not just >a question of one prejudice verses another: there are facts involved, >and Richard is an expert on those facts. Nor is it right to say >Clocksin and Mellish were "trying to describe what was going on >at Edinburgh". They described a "core Prolog". I was simply trying to make the point that what there was was informal and unclearly defined. My use of the word "prejudice" was unfortunate: I was not casting aspercions at Richard or anyone. Sure, C&M were trying to describe a "core Prolog", (I don't see that my more graphic description is misleading) but it is precisely the umbra round the core that causes many of the problems. Part of the problem in the BSI committee is probably that very few of the actual committee regularly used an Edinburgh Prolog. To name a few used by the active members, there were microProlog, Salford Prolog, Poplog, ESI Prolog 1 & 2, ICL Prolog, VM Prolog and more recently CRISS Prolog, Prolog II, BIM Prolog, ZYX Prolog. Very few of these are in the "Edinburgh family". The only subcommittee actually to meet in Edinburgh regularly (modules) dissolved itself a year ago after coming to no agreement. The underlying reason for this is that standardisation is a very boring activity. One ends up having the same discussions and arguments again and again. Most such committees only work by having one or two dynamic leaders who drag everyone else along. The BSI committee hasn't had such people who are prepared to give their time, except Richard at the beginning, as I have said before. Standards are things that are drafted on paper, not decisions that are taken at committee meetings. There were quite a few prepared to come to the meetings and argue, but not to commit themselves to paper. (For instance, Chris Mellish and Bill Clocksin both had more important commitments which prevented them doing more than attending main meetings. I regret very much that they seem to have dropped out altogether now though I can't say I blame them.) >Finally, there is the question of the correspondence between Richard's >position and the interest of Quintus. > >> I wrote: >> I don't object to you arguing for the standard to be based on Quintus. >> You might be considered to be failing your employers if you didn't. > >The point is that Richard *wasn't* arguing for a standard to be >based on *Quintus* Prolog. Edinburgh Prolog is not the same thing >as Quintus Prolog. That Richard is arguing for a standard based on >Quintus is simply false regardless of his motives. And if you look at my statement, you'll discover that my statement also does not presuppose that he is arguing for Quintus. Ok it's ambiguous, but what I actually MEANT was "Richard I would not object if you DID argue for the standard to be based on Quintus". I hope you will agree that that is a permissible reading of the sentence, even if not the most likely. I have not at any time thought that Richard was acting partially. I did not intend to imply that he was. I am sorry that people took it that way. I suppose the problem was that it never occurred to me that either he or anyone else would think for a moment that he WAS acting partially (in respect of Quintus, that is). Maybe one of the problems of USENET is that one is typing away in what feels like a private conversation--but it isn't. Chris Moss.
cdsm@ivax.doc.ic.ac.uk (Chris Moss) (05/05/88)
In article <917@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >My position is simply that if a group claim to be developing a standard >for "Edinburgh Prolog" (rather than LM Prolog, microPROLOG, IC Prolog, >LogLisp, PROLOG/KR, or any of several dozen related languages all with >_some_ merit), then that is what they should DO. As I said in my note to Jeff Dalton, Edinburgh is not the only source of inspiration to either the BSI or ISO group. It may have been at the beginning but we have for sometime been committed to at least two and maybe more syntaxes. If you disagree with that then say so. Incidentally, the ISO document also references Clark & McCabe as well as Clocksin and Mellish. >I am shocked that Chris Moss can dismiss something that will break >thousands of programs as a DETAIL. (We can all agree that type testing >predicates which fail quietly when given a variable are not good logic. >But the BSI committee are supposed to be designing a standard for the >language we already have, and I don't know of any "Edinburgh Prolog" >dialect where integer(_) is an error.) OK, here is the position on the type predicates (atom, integer etc) as far as I can determine it. I can't quote chapter and verse on everything. The issue arose because the French (I believe JF Piques, possibly van Canegham and Roussel, but it was mediated through AFNOR) objected to having type predicates that fail when a variable is uninstantiated. It was decided to allow an error message in this case AS A COMPILER OPTION. Subsequently this was changed to being a switcheable option. The current version does not make it the default (I'm not totally sure on this). Now I doubt that that satisfies anyone. Obviously AFNOR would like coroutining in the standard, and I personally interpret their position as a roundabout argument for this; ie. type predicates should suspend if their arguments are uninstantiated. Failing is WRONG and therefore they would like to be able to run on sequential machines keeping the sense of the predicates. (I may be misinterpreting their motives. Unfortunately I doubt if anyone in France reads USENET. I'll post this to them for a response). Incidentally, the test "integer" in Prolog II fails silently just as one would expect, (I have just tried our copy) so I suspect the BSI group misinterpreted the French request or my interpretation is wrong. So nobody was forcing the error message response if a variable was uninstantiated on anyone. At worst it was an OPTION. I can't personally see why anyone should want to turn it on, and I've put that position to Tony Dodd and Roger Scowen who have been concerned with the drafting. It will come up again. An IMPORTANT point that I think should be discussed is whether coroutining should be in the standard and if so in what form. Previously it had been rejected on two grounds: 1. There were several incompatible implementations and nobody could decide between them. 2. There were doubts about efficiency, particularly for compiled code. Since that decision there have been at least two compilers (NU from Melbourne and the ECRC product) which appear to have demonstrated that the fears were groundless. So there now appears to be a classic chicken-and-egg problem. Most people do not use coroutining because their systems don't support it. That is because many systems are totally optimised to sequential code and may have only heard about C&M anyway. If one had coroutining then several predicates might well behave differently. Prolog II has predicates "bound" and "free" to deal with this situation. The question is then "how does one ensure upward compatibility?" and that's a thorny one. > >> >I am deeply offended that Chris Moss should suggest that I am arguing >> >for my employers rather than for what is technically good. Please see my reply to Jeff Dalton, and accept my apologies for having appeared to say something which I did not intend to say. >I gave up sending comments to the BSI committee when I was told that >100 pages of comments was far too much for them to distribute. But please, it wasn't the FIRST 100 pages you had submitted; or even the second. Those were distributed! (one even at the ISO meeting). >One thing that bothers me about the BSI substandard is that there are a >number of serious portability problems which have simply never been raised. >If the committee were so much as to issue a document explaining one of these >issues and saying why they haven't resolved it, that would materially >increase their credibility in my eyes. I really don't think these sort of comments help. They are tantalising, sure. But just having you say "I know something you don't" doesn't help me. Am I supposed to try and outguess you? Do I get marked down when I don't respond? Maybe we have thought about them. I don't know and am not going to go grubbing through Quintus manuals to find out. Chris Moss.
ok@quintus.UUCP (Richard A. O'Keefe) (05/07/88)
In article <280@gould.doc.ic.ac.uk>, cdsm@ivax.doc.ic.ac.uk (Chris Moss) writes: > As I said in my note to Jeff Dalton, Edinburgh is not the only source > of inspiration to either the BSI or ISO group. It may have been at > the beginning but we have for sometime been committed to at least two > and maybe more syntaxes. If you disagree with that then say so. > Incidentally, the ISO document also references Clark & McCabe as well > as Clocksin and Mellish. It doesn't really matter where you get your inspiration from. The principal "inspiration" behind my 1984 document PS/6 was a draft of Common Lisp. Let me offer an analogy: Icelandic and English are very closely related languages. Sigma Prolog and "Edinburgh" Prolog are closely related languages. If someone were designing a standard for English (which heaven forbid) it would make sense to look to Icelandic (and German and Dutch and French) for inspiration. If someone were pretending to design a standard for "Edinburgh" Prolg it would make sense to look to Sigma Prolog (and LM Prolog and Waterloo Prolog and Common Lisp) for inspiration. It would NOT make sense to adopt large chunks of Icelandic orthography and syntax as part of the English standard. It would not make sense to adopt large chunks of Sigma Prolog as part of a standard which was claimed to be based on "Edinburgh Prolog". It isn't just that Sigma Prolog acted as a source of inspiration: there was a time when the basic data structures the fragments talked about (e.g. compound terms being PAIRS consisting of a function symbol and a TUPLE) were the data structures of Sigma Prolog, not the data structures of any "Edinburgh" Prolog. > OK, here is the position on the type predicates (atom, integer etc) > as far as I can determine it. I can't quote chapter and verse on > everything. The issue arose because the French (I believe JF > Piques, possibly van Canegham and Roussel, but it was mediated > through AFNOR) objected to having type predicates that fail when a > variable is uninstantiated. It was decided to allow an error message > in this case AS A COMPILER OPTION. Subsequently this was changed to > being a switcheable option. The current version does not make it the > default (I'm not totally sure on this). This is not what any of the current fragments say. The formal specification and the radically informal "built-in predicates" document both say quite unambiguously that the type testing predicates must UNCONDITIONALLY report an error when passed a variable. There is not the shadow of a hint in either document that this might be suppressible. > Now I doubt that that satisfies anyone. Obviously AFNOR would like > coroutining in the standard, and I personally interpret their > position as a roundabout argument for this; ie. type predicates > should suspend if their arguments are uninstantiated. Failing is > WRONG and therefore they would like to be able to run on sequential > machines keeping the sense of the predicates. NU Prolog has already solved this problem, as I believe I have explained before. (If people are going to allow other random languages to infiltrate the Prolog standard, why not NU Prolog, which manages to do a fine job of coroutining with out introducing gratuitous incompatibilities?) Their solution was to have two sets of type testing predicates: a compatible set which behaves *exactly* as in other Edinburgh Prologs, and a coroutining set. Having fundamental operations whose effect cannot be determined by looking at the code is, um, not a good idea. Actually, it is a very BAD idea. A language where "+" sometimes meant "-" depending on a run-time switch is not a language I would care to program in. A language where it is a compile-time option is little better. It would be much better if the standard were to define type tests such as is_atom(X) :- {present BSI atom(X)}. ... and explicitly assign NO interpretation to atom/1 or the rest. Then atom/1 can be defined as atom(X) :- fail_if(var(X)), is_atom(X). I'm afraid that if Chris Moss has given us the right explanation, he has thoroughly vindicated my claim that the BSI/AFNOR group are engaged in language DESIGN ("what would it give me a thrill to MAKE this thing do") not language STANDARDISATION ("what do most more-or-less compatible existing implementations of this language actually DO"). > Since that decision there have been at least two compilers (NU from > Melbourne and the ECRC product) which appear to have demonstrated > that the fears were groundless. I don't know about the ECRC product. What's wrong with SICStus Prolog? I have said before that if the standard were to strongly resemble NU Prolog I would be far from displeased. NU Prolog and SICStus Prolog show that you can add coroutining without breaking anything. > >One thing that bothers me about the BSI substandard is that there are a > >number of serious portability problems which have simply never been raised. > >If the committee were so much as to issue a document explaining one of these > >issues and saying why they haven't resolved it, that would materially > >increase their credibility in my eyes. > > I really don't think these sort of comments help. They are > tantalising, sure. But just having you say "I know something you > don't" doesn't help me. Am I supposed to try and outguess you? Do I > get marked down when I don't respond? Maybe we have thought about > them. I don't know and am not going to go grubbing through Quintus > manuals to find out. (1) Too right you get marked down. That's my objection: the BSI/AFNOR group in general is having a great time indulging in the "secret vice" of language design and seems to be ignoring practical concerns. (2) If the committee has thought of the points I have in mind, they have a duty to minute their discussion of those points. I have to conclude either that they have failed to consider these practical points (nothing deep; I'm talking about things which really force themselves on your attention if you start trying to write code portable to different operating systems) or else that they have considered them but have failed to minute them. In neither case does the committee look good. (3) Quintus manuals have little to do with it. Let me re-mention two of the portability concerns I had in mind: #### ###### (not in Quintus Prolog, but Prolog-# has it) ####-##### (not in Quintus Prolog, but Common Lisp does it) Ok, I'm being tantalising about it. I am sufficiently ####ed off with the BSI/AFNOR/ISO exercise to be holding these things in reserve, but I'm just co-operative enough to give an advance warning that there are serious portability concerns which the current fragments utterly fail to address and are not hinted at in any of the piece of paper I've had so far. This is meant as a *challenge* to the committee: shape up! Start thinking about the Prolog *users*! On that topic, in an earlier posting which I mean to reply to tomorrow, Chris Moss said Part of the problem in the BSI committee is probably that very few of the actual committee regularly used an Edinburgh Prolog. To name a few used by the active members, there were microProlog, Salford Prolog, Poplog, ESI Prolog 1 & 2, ICL Prolog, VM Prolog and more recently CRISS Prolog, Prolog II, BIM Prolog, ZYX Prolog. Very few of these are in the "Edinburgh family". micro-PROLOG *claims* to have a DEC-10 compatible interface. (LPA MacProlog offers a far closer approximation to "Edinburgh" Prolog than the BSI does.) PopLog was, in 1984, very closely DEC-10 compatible (plus extra goodies). ESI Prolog 1 is in some sense a lineal descendant of NU 7 Prolog for the PDP-11, written by Chris Mellish, and described in Clocksin & Mellish. ESI Prolog 2 is still an "Edinburgh" Prolog. (I refrain from criticising its differences from, say, Arity Prolog, solely to avoid giving offence.) ICL Prolog is (or was) Prolog-X, done by Bill Clocksin, which was very closely compatible with C Prolog. Prolog-X and NIP (the new Edinburgh Prolog) share a great many ideas, although NIP was a conscious departure from ZIP (the Prolog-X virtual machine). BIM Prolog claims to have an "Edinburgh"-compatible interface; porting CHAT-80 to it was more pain than it really needed to be, but nothing fundamental was involved. ZYX Prolog (at least on Hewlett-Packard machines) comes with two components: Z-Prolog (lisp-like, compatible with nothing else) Q-Prolog (claimed to be Quintus-compatible; from the manual it does a fair job except for compile/1). VM Prolog is not compatible with anything, so if the standard isn't compatible with it that doesn't make life any harder for anyone. It's a long time since I saw a Salford Prolog manual; surely the name is Salford Lisp/Prolog, or has the Lisp component been dropped? CRISS Prolog I've never heard of before. So, Chris Moss named 11 Prolog implementations and said that 'very few of these are in the "Edinburgh family"'. From my knowledge of some of them, 6 of them claim to offer "Edinburgh" or "Clocksin & Mellish" compatibility, at least as an option. This relieves me, because if it were really true that "very few of the actual committee regularly used an Edinburgh Prolog" that would utterly destroy the committee's pretensions to good faith. It would be outrageous for anyone working on a standard for C or Pascal to be unfamiliar with the language they claimed to be basing their standard on, and I do not see why Prolog should be any different. (Common Lisp and ADA were frankly attempts to produce _new_ languages.)
ok@quintus.UUCP (Richard A. O'Keefe) (05/09/88)
This is a reply to article <278@gould.doc.ic.ac.uk>, by cdsm@ivax.doc.ic.ac.uk (Chris Moss). My failure to respond to a point should not be taken to mean that I agree with him. > It seemed > to me that Richard was criticizing the introduction of any ideas that > arise from sigmaProlog and wanting the committee to disassociate > themselves totally from those ideas. I found it hard to believe > that, knowing that Frank McCabe was involved in the standardization > process (he quoted him at the Boston conference saying there'd be a > standard within a year), he should be surprised that he would want to > introduce ideas drawn from that dialect of Prolog. My point has always been that micro-PROLOG and Sigma Prolog are sufficiently different from the Edinburgh family (in particular, they do not have the same _kinds_ of data structures) that it is a mistake to try to mix the two. As it happens, there is precisely one idea in micro-PROLOG that it would have made sense to try to add to an Edinburgh Prolog, namely the "module" system. I believe I am the only person associated with the Prolog standardisation effort who from the start has been arguing _against_ his own commercial interests (many members of the committee have no commerical axe to grind). Of course, I may be the only one who is not convinced that the brand he is associated with is already technically perfect. Many Prolog implementors (I do not have Frank McCabe in mind here) seem to be unaware that their "enhancements" are bad Software Engineering (e.g. write-only variables). > Having taken that decision, the strategy of providing two syntaxes > united by a common semantics was, I suggest, the right one. Thus > there was an Edinburgh-based syntax and a micro/sigma based syntax. > What Richard was criticizing was the current version of the > Edinburgh-based syntax. Thus his objection that it was affected by > sigma is mysterious to me. We haven't tried to make Edinburgh look > like sigma or vice-versa (it would be totally impossible anyway). > We've tried to keep a multiplicity of syntaxes. NO! Radical mistake! I have _never_ alleged that the BSI __syntax__ (at least, the version that Chris Moss works on) has been influenced by Sigma Prolog. I have alleged that the BSI _standard_ has been so influenced, and that it ought not to have been, but that's another story. > Thus I assumed that Richard and others accepted this twin-track > policy. If they don't maybe we should go back and discuss where the > problem is. Is it simply an unworkable ideal, or is it (as I suspect) > that he feels that the BSI committee was bound to keep only to > Edinburgh and was therefore betraying its principles by being > pluralist? > Where the strategy has run into serious problems is, I would suggest, at > the level of built-in-predicates. That is to say, that "the strategy of providing two syntaxes united by a common semantics" "has run into serious problems" because there ISN'T a common semantics to start with. Which is to say, it is as if a committee had decided to produce a standard for Fortran with two syntaxes (a Fortran syntax and a Basic syntax) united by a common (Fortran+Basic) semantics, and after a couple of years it dawned on them that the *real* difference between Fortran and Basic was _semantics_, not _syntax_. What puzzles me is why they ever thought there was a common semantics in the first place. It hadn't ever dawned on me that BSI Prolog's "other" syntax was supposed to be like micro-PROLOG. Perhaps it is stupid of me, but it was always called the "LISP-like" syntax, and I took it to mean that this was to be a new Lisp-like syntax for an otherwise Edinburgh-Prolog-like base. Indeed, I offered a proposal for such a syntax myself (my so-called "Transport Syntax"). I think that its syntax is easily the worst thing about Lisp, so I would scream blue murder if it was to be the only syntax, but I have been advocating that the standard should provide for multiple syntaxes longer than the BSI committee have. No quarrel there (except that I think that at least _one_ of the syntaxes should be Edinburgh-compatible, and the BSI committee don't). If someone wants to produce and standardise a Query-by-Example way of writing Prolog, good luck! There hasn't *been* a Lisp-like syntax to criticise until recently. Since my main concern is to protect existing Prolog users, I haven't bothered commenting on it, because providing an additional syntax isn't going to break anything. (It will, however, break every Z-Prolog program in sight, unless I am mistaken, but if ZYX want to shoot themselves in the foot that's their business. It is also more than different enough to do no good to micro-PROLOG, which also doesn't bother me much.) > Part of the problem in the BSI committee is probably that very few of > the actual committee regularly used an Edinburgh Prolog. ... > Most such committees only work by having > one or two dynamic leaders who drag everyone else along. The BSI > committee hasn't had such people who are prepared to give their time, ... I only have to keep Chris Moss talking, and he'll say far more damning things about the BSI committee than I could ever get away with. > >> [Chris Moss] wrote: > >> I don't object to you arguing for the standard to be based on Quintus. > >> You might be considered to be failing your employers if you didn't. > And if you look at my statement, you'll discover that my statement > also does not presuppose that he is arguing for Quintus. Ok it's > ambiguous, but what I actually MEANT was > "Richard I would not object if you DID argue for the standard to be > based on Quintus". But since I never have done that, and have given no evidence that I ever intend to, and since it would be a morally bad thing to do, why say it? And no, it isn't ambiguous at all; the only interpretation justified by the syntax is the one which takes the embedded sentence to be assumed true by the speaker. [Long English lesson deleted.]
micha@ecrcvax.UUCP (Micha Meier) (05/11/88)
In article <945@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >> Since that decision there have been at least two compilers (NU from >> Melbourne and the ECRC product) which appear to have demonstrated >> that the fears were groundless. > >I don't know about the ECRC product. [ ... ] No wonder, it wasn't really famous. ECRC-Prolog has a compiler for MU-Prolog's wait declarations and the overhead introduced by coroutining is minimal - about 5% with naive reverse. In SEPIA, which has another coroutining construct, the delay clauses, this is going to be even less, I suppose. The problem with standardising the coroutining is as with anything else - at least as far as the syntax is concerned, there are already several completely different systems (NU-Prolog, SICStus, Prolog II/III, SEPIA, ...). And what about the semantics? On the other hand, it would be better to standardize it now while there are so few (:-) systems that have this feature. From the efficiency point of view there are no problems, I'm sure. On the contrary, with the coroutining Prolog can solve a lot of problems that cannot be solved without it. --Micha