From: David M. <Dav...@pr...> - 2001-09-26 14:36:29
|
I have to say I fundamentally disagree with this analysis. If have understood Bob's argument correctly, it is that languages must change to be viable, that there is pressure within the Standard ML community for change and that by responding positively to this pressure it is possible to "manage" it and retain cohesiveness within the Standard ML community. I believe that all these are false. First, is there any reason to believe that programming languages must change? Certainly languages must respond to their environment to the extent of adding new libraries and modules. I think everyone accepts that. Where there is disagreement is whether it is necessary to change the fundamentals, the elements with which the Definition is concerned. If one looks at other widely used and certainly viable languages such as C I cannot see any evidence that they are changing in that area. Second, is there any pressure for change? Ken Friis Larsen pointed out that even among the implementers responding to these messages there seemed to be a majority against change. If Standard ML is to be treated as a serious language the most important community is that of the users of the language. I get no impression that they are calling out for changes, rather the opposite. A quick look at the Isabelle theorem prover suggests that it contains around 200 000 lines of Standard ML. I am sure Larry and his colleagues would object to having to change this to accommodate another change in the language definition. The effect is that even if the definition of the language changed Poly/ML would have to continue to support SML97 for the foreseeable future. Finally, is it possible to manage the diversity? There is a fundamental difference of approach between implementers when it comes to the language. Some see the Definition as a guideline to be followed as far as possible but where they perceive deficiencies or where they wish to make extensions they are happy to diverge from it. Others, and I would count myself among them, see the Definition as a form of contract with the users and attempt to follow it as closely as possible. I don't see it is possible to "manage" this difference in philosophy. Some implementers will wish to experiment with new language features beyond any new Definition while others will feel that it is more important to continue to support the older versions of the language. Far from creating harmony between the implementations I can see further change in the Definition as leading to even greater divergence. This disagreement is not about the ends but about the means of achieving them. I am sure we all want to see Standard ML and languages like it used more extensively. It may be that the Standard ML community will split into those who are interested in language design and in experimenting with new features and those whose interests lie more in providing a broader support for the existing language. Maybe it is too much to expect a single group to follow both paths. David. On Wednesday, September 26, 2001 3:26 AM, Robert Harper [SMTP:Rob...@cs...] wrote: > No language, natural or artificial, can remain static, if it is used at all; > it will evolve whether we like it or not. The question is how we manage > that evolution. > > There are at least six serious implementations of Standard ML, representing > a substantial commitment by a substantial community to its continuing > vitality. At present these implementations different in important ways, > particularly in the treatment of separate compilation and in libraries, but > also in correcting deficiencies and making extensions to the language. It > is vital that we harmonize them. It is also vital that we, as a community, > discuss possible paths of evolution to keep pace with the world around us. > > The community has a choice. We can either go our separate ways, dissipating > our efforts, and bring a rapid end to there being any community at all. Or > we can decide that it is in our best interest to work together to guide the > ongoing and inevitable evolution of Standard ML through a community process > that preserves the existence of a common language, preserves the community > that has arisen around it, and nurtures a set of ideas that have inspired > and substantially engaged us all. > > It is not for me, nor any one person, to decide, but for us all collectively > to determine whether we will go forward separately or together. For my > part, I can see no profit in attempting to suppress the process, but > enormous gain in fostering and guiding it. > > Bob Harper > > -----Original Message----- > From: Robin Milner [mailto:Rob...@cl...] > Sent: Tuesday, September 25, 2001 8:22 AM > To: sml...@li... > Cc: Rob...@cl... > Subject: [Sml-implementers] Subject: Standard ML > > > > We are authors of Standard ML, both 1990 and 1997; we also wrote > the Commentary. > > We welcome standardisation of matters not covered by the > Definition of Standard ML, such as libraries and separate compilation. > > We also welcome language designs built on Standard ML; they may > proclaim membership of the ML family, as for example CAML does. > > However, we will not accept further revision of Standard ML. It > is natural that people discuss changes and new features, and thus > that successors of the language will arise. We expect, however, > the designers of any successor language to make it clear that > their language is not Standard ML. > > With regards > Robin Milner, Mads Tofte > > > _______________________________________________ > Sml-implementers mailing list > Sml...@li... > https://lists.sourceforge.net/lists/listinfo/sml-implementers > > _______________________________________________ > Sml-implementers mailing list > Sml...@li... > https://lists.sourceforge.net/lists/listinfo/sml-implementers |