HACK CodeGen is Now Open Source
While making the announcement of open-sourcing Hack Codegen
, which automatically generates hack code, Facebook’s software engineer Alejandro Marcu
said in a blog post
“Being able to generate code through automated code generation allows [developers] to increase the level of abstraction by making frameworks that are declarative and that are translated into high-quality Hack code.”
“We’ve been using Hack Codegen at Facebook for a while. After seeing so much internal success, we open-sourced this library so that more people could take advantage of it.”
Before Hack Codegen, Facebook engineers used concatenating strings to generate code that perform simple yet frequently executed tasks, like fetching birthday of a user.
However, the social media giant later discovered that the technique was not good enough to scale up and realized that it need a good library to generate code. This results in the birth of Hack Codegen.
Code That Writes Code
Hack Codegen simplifies code generation by helping developers create a schema, which holds code for multiple times usage, and a way to generate all the related functionality required to support that code.
The library only needs a developer to provide the required details about the particular implementation, although rest of the task is done by the software, such as generation of classes, variables, methods, functions, interfaces, files, and other standard blocks of code.
The Hack Codegen library includes:
- Hack_builder to deal with the concatenation
- New lines
- Hack keywords
- Signed files to re-generate code automatically when a schema is changed
The open-source version of Hack Codegen
is available on GitHub