Lambda Pad can be used to generate a static site. Here's the gist:
- Maintain data in various formats
- Maintain templates and related static content
- Use an Erlang module to generate a static site
Why Another Tool?
It's fair to say that static site generation is a solved problem. Why would anyone want to created yet another static site generator when there are so many well established, robust, proven tools already?
Because the world needs a static site generator that embraces functional thinking. What does that mean?
- Behavior should be obvious, or as obvious as possible without excessive verbosity
- Users should not be stupefied and confused by implicit or otherwise magical behavior
- Solutions should be small and focused to make them easier to understand --- in general, the principle of separation of concerns should be evident when using the tool
When the goodness of functional thinking is applied to static site generation, users will have more fun and be more productive!
Why Erlang?
Erlang is a simple, easy-to-learn functional language that's incredibly powerful. It's known for building highly reliable, massively scalable systems (shout-out to WhatsApp --- hey, what do you guys think of sponsoring a six week Lambda Pad sprint in Fiji?) but it's also terrific for tasks like site generation. Erlang term syntax is low-noise and expressive. Erlang functions are beautiful and maintainable.
Erlang is also pretty dang fast!
The question is not so much Why Erlang, but Why Not Erlang?
Most static site generators use so called "human friendly" languages for configuration and customization. A few of the more popular options include YAML, JSON, Ruby, and Python. Lambda Pad will show that Erlang --- yes, straight up Erlang --- should be counted among the usual suspects for ease-of-use, clarity, and productivity!