Hacker News new | ask | show | jobs
by pjmlp 4374 days ago
Swift has a spec. Just go to Apple developers documentation.
1 comments

I can't find a language specification anywhere. Can you give me a link?

go language spec hit #1:

http://golang.org/ref/spec

dart language spec hit #1:

https://www.dartlang.org/docs/spec/

java language spec hit #1:

http://docs.oracle.com/javase/specs/

For Swift, I can only find guides and references.

At one click distance for any Mac developer:

https://developer.apple.com/library/prerelease/ios/documenta...

From the very first paragraph:

"The grammar described here is intended to help you understand the language in more detail, rather than to allow you to directly implement a parser or compiler."

A language specification is for people who want to implement a parser/compiler/VM/etc. It's something you need if you want to standardize it (e.g. TC39 [ECMAScript] and TC52 [Dart]).

A language specification is also generally clearly labeled as such.

http://en.wikipedia.org/wiki/Programming_language_specificat...

PHP, for example, doesn't have one.

Ah, so you mean a formal language spec, not an informal one.

Edit: I forgot to mention that both Go and Java lack ECMA and ISO specs.

Yes, a language specification is just a prerequisite for standardization. However, it's also useful for people who want to write their own implementation or tools. It also makes issue handling a bit smoother, because you can always check what the spec says if two bits of the ecosystem disagree with each other.