Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Talk:Programming language specification

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This article is ratedStart-class on Wikipedia'scontent assessment scale.
It is of interest to the followingWikiProjects:
WikiProject iconComputing
WikiProject iconThis article is within the scope ofWikiProject Computing, a collaborative effort to improve the coverage ofcomputers,computing, andinformation technology on Wikipedia. If you would like to participate, please visit the project page, where you can jointhe discussion and see a list of open tasks.ComputingWikipedia:WikiProject ComputingTemplate:WikiProject ComputingComputing
???This article has not yet received a rating on theproject's importance scale.
Asummary of this article appears inProgramming language.

Test suites

[edit]

I am not aware of any language that is defined purely in terms of the behavior required by a test suite. If you define a test suite as the set of all programs written in a language, then there are some languages that could be said to be defined in terms of the programs that currently exist. But I don't know of any language where ahand written test suite plays a strong part in the language definition (althoughAda comes close; I have heard stories of how the language definition was changed to match that of the test suite).Derek farn22:02, 5 June 2006 (UTC)[reply]

Does this count? It is not part of the Ada Reference Manual, but in practice it plays a role in the social process of Ada programming and implementation not unlike that of a part of the language specification.k.lee22:08, 5 June 2006 (UTC)[reply]
I think the Ada test suite started out as just that, a test suite. Over time it took on this newrole. I suspect that the Ada people would argue until blue in the face that it was not true. Do you fancy reading through theAda committee papers looking for the smoking gun?Derek farn00:50, 6 June 2006 (UTC)[reply]
Truthfully, I'm not that interested in whether Ada test suite is technically part of the capital-L Language Reference Manual or not. To me, a language specification (little-l) includes any artifacts that are self-consciously used by a language community to reach consensus on that language's meaning. This article should treat the subject of language specification broadly: the tools, process, and artifacts of language specification, not just the documents that are officially called "language specifications". It seems obvious to me that a test suite can, in principle, play some role in language specification, and so some discussion of test suites is in order. If you want to edit the text to say that in practice, (almost?) no language is officially defined via test suite, and maybe cut down the size of the test suite section, thenWP:BB.k.lee01:01, 6 June 2006 (UTC)[reply]

Automated tools

[edit]

This has crept back into the article a couple of times, so I want to record this here. The idea that automated program reasoning tools can only scale to programs of a few hundred lines is incorrect. The scalability of a program reasoning tool depends on many factors, including

  • the scalability of the underlying analysis,
  • the degree of "acceptable" conservatism in the results,
  • the complexity of the property that is being proved, and
  • the extent to which the reasoning can be made modular.

At the extreme, type checkers are a form of lightweight automated reasoning tool that easily scales to programs as large as any currently in existence, and modern type system designers spend a lot of time thinking about formal semantics.k.lee01:30, 8 June 2006 (UTC)[reply]

Excellent points. --Allan McInnes(talk)01:43, 8 June 2006 (UTC)[reply]
I think the new wording makes the point that it is all about the computation resources required vs. the amount of analysis that is being attempted. After all compilers perform some kinds of analysis and they can compile the biggest programs that exist ;-)Derek farn23:19, 8 June 2006 (UTC)[reply]
How do you define "full formal verification"? --Allan McInnes(talk)15:37, 9 June 2006 (UTC)[reply]

Lists in the leader

[edit]

The lists in the leader make no sense to me. One claims to be about "entities that are usually included in a specification", and yet keeps getting edited as if it was "ways to specify a language". The second list claims to be about "ways to write a specification", and (given the current introductory sentence of the list) ends up effectively claiming that"The behavior of amodel implementation written in aprogramming language (e.g.,Prolog)" (and "entity" from the first list) can be"written using anatural language". Which makes no sense at all. What exactly is the point of having these separate lists, other than an apparent desire to move any mention of formal semantics out of the first list? --Allan McInnes(talk)15:20, 9 June 2006 (UTC)[reply]

I am not happy with the term 'entities', but what else would you call something that could be an translator, a language, or an implementation? Formal semantics is a way of writing a specification, but this specification could be of a translator, source code, or an implementation.Derek farn17:48, 9 June 2006 (UTC)[reply]
Formalsemantics is a way ofexplicitly writing the language semantics, just as BNF is a formal way of explicitly writing the syntax. Yes, one can also useformal specification languages to define translators or implementations, but from the perspective oflanguage specification the definitions of translators and implementations areimplicit definitions of the language syntax and semantics. I'm going to take another stab at reworking the lists. Let me know what you think. --Allan McInnes(talk)18:35, 9 June 2006 (UTC)[reply]

Syntax

[edit]

I do not know why people are using the termalphabet in the context of computer languages. The termscharacters andcharacter sets are totally valid and reasonable. The article currently says that the language syntax usually consists of, among other things, an alphabet. I will change that to character set. For one thing, an alphabet is only letters, no digits and no punctuation.Sam Tomato (talk)21:09, 21 February 2024 (UTC)[reply]

Also, it is not true that the specifications of languages use regular expressions to define the language. Somecompilers might use regular expressions but not the specifications. I however am not sure what term(s) to use to describe the specifications.Sam Tomato (talk)21:18, 21 February 2024 (UTC)[reply]

Retrieved from "https://en.wikipedia.org/w/index.php?title=Talk:Programming_language_specification&oldid=1209422859"
Categories:

[8]ページ先頭

©2009-2025 Movatter.jp