Mustache (template system)
Mustache is a simple web template system with implementations available for ActionScript, C++, Clojure, CoffeeScript, ColdFusion, D, Delphi, Erlang, Fantom, Go, Haskell, Io, Java, JavaScript, Julia, Lua, .NET, Objective-C, Perl, PHP, Pharo, Python, Racket, Ruby, Rust, Scala, Swift, CFEngine and XQuery.
Mustache is described as a "logic-less" system because it lacks any explicit control flow statements, like if and else conditionals or for loops; however, both looping and conditional evaluation can be achieved using section tags processing lists and lambdas.
It is named "Mustache" because of heavy use of curly braces ,{ }, that resemble a sideways moustache.
Mustache is used mainly for mobile and web applications.
History and principles
Mustache-1 was inspired by ctemplate and et, and started as a GitHub distribution at the end of 2009. A first version of the template engine was implemented with Ruby, running YAML template texts. The (preserved) main principles were: