Martin Thoma
Martin Thoma

Reputation: 136865

Is there any programming language that is defined by reference implementation?

Some of the major programming languages (see list below) are defined by a specification. But in principle, you could also define a language by implementing a reference compiler / interpreter. (I don't want to say that this would be a good idea.) But I'm curious:

Is there any (major) language that is not defined by specification, but by reference implementation?

By major language I just want to make sure that answers don't come up with esoteric ones (Whitespace, Brainfuck, ...) or with something like "I've created this compiler a while ago. There is not specification, so your answer is 'yes'."

List of programming language specifications

I was not able to find a specification for Ruby and TCL

Upvotes: 1

Views: 269

Answers (1)

david.pfx
david.pfx

Reputation: 10863

Almost all programming languages are defined by a reference implementation, until they're not. Every language I can think of with just a couple of important exceptions started with a reference implementation and a loose specification. Over time, as it matured, the specification was hardened and the compiler was required to follow its own spec.

The major change occurs when there is a second implementation. Then you need a formal spec (but you don't always get one).

Early exceptions include Algol 60, Pascal and Ada. Each of those acquired a spec very early on, and then often multiple implementations. C# is another.

In answer to your question, Delphi is now the reference implementation for its own brand of Pascal; FoxPro is the only dBase language left; Rebol; Basic (any dialect you choose); SQL (most dialects are non standard); R and S; etc.

The list of programming languages is vast, the list of standards is quite small. I rather guess your question is definitional: how many languages will you accept as 'major'?

Upvotes: 0

Related Questions