Today we are excited to announce the availability of the initial specification for the Hack programming language.

When we announced Hack, we were very excited for the community to get their hands on a programming language that has helped Facebook engineers become more productive in their day-to-day development and became, alongside PHP, the language used when developing applications running on HHVM. At the time of release, we had documentation geared for the programmer using Hack to develop applications. However, we did not have official documentation for those that might want to create a Hack implementation of their own or something like a Hack conformance test-suite. This specification fills that gap. It is the document for the Hack implementer, and an excellent supplemental document for the Hack user.

Hack’s roots are from PHP. Last year, we announced the development of a specification for PHP. The fine folks at the PHP Project have since taken over control of that specification and have shepherded it on GitHub to the tune of hundreds of commits, over 100 pull requests and many general improvements. It was very important, and extremely helpful, that we had a PHP specification when creating the Hack specification. You will see many similarities between the two specifications, along with many new features and differences.

We are hosting the new Hack specification on GitHub. We are eager for you to explore the specification, provide us feedback and pull requests. Given that Hack is still a relatively new language, we will continue to evolve the specification with new features. We encourage you to ping us with comments on direction, possible feature requests, etc – check out the links in the sidebar to the right to see how to get involved.

Special thanks must be given to Rex Jaeschke, who, as with the PHP specification, led the actual writing. In addition, Julien Verlaguet, Josh Watzman, Eugene Letuchy, Fred Emmott, Sara Golemon, and Drew Paroski helped ensure the specification’s accuracy. And, of course, sincere thanks to the community that has used Hack since its inception, providing invaluable input and feedback.

Enjoy!

Comments