mustache2hs (hackage): This utility takes in Haskell records (single data constructor only) and a list of mustache template and record name pairs, and generates Haskell code for functions that take an escape function and one of the records, and returns a Data.Text.Lazy.Builder.Builder.  This allows most records to be used as context for rendering a template, and gives GHC the ability to typecheck the template's use of record fields at compile time.  It also means your application does not need to be reading template files off disk in production.  Usage example:  A full example is in the git repository.
Keywords: program|utility