type-of-html-static: Optimize static parts of type-of-html.

[ bsd3, html, language, library, text, web ] [ Propose Tags ]

This library provides the TH-function static to annote which parts of your page are static to dramatically increase performance. It converts and escapes it's argument at compiletime and lifts it to a Proxy Symbol to avoid even appending of Builder.

[Skip to Readme]
Versions [faq],
Change log ChangeLog.md
Dependencies base (>=4.9 && <5), template-haskell, type-of-html [details]
License BSD-3-Clause
Copyright 2018, Florian Knupfer
Author Florian Knupfer
Maintainer fknupfer@gmail.com
Category Language, Text, Web, HTML
Home page https://github.com/knupfer/type-of-html-static
Source repo head: git clone https://github.com/knupfer/type-of-html-static
Uploaded by knupfer at Wed May 2 10:15:13 UTC 2018
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 280 total (18 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-05-02 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for type-of-html-static-

[back to package description]

Type of html static

This little companion library of [https://hackage.haskell.org/package/type-of-html](Type of html) provides just two little functions: static :: Document a => a -> Q Exp. Using this template haskell function on any part of your html document will escape, render and lift to a Symbol at compile time.

It increases performance a lot by avoiding any runtime computation. By producing Proxy Symbol, it will fuse at compiletime with adjacent elements in your document.

optimize :: Q Exp -> Q Exp takes a quoted definition of a html document and tries to convert all literals to compile time escaped Proxy Symbol. It is less powerfull than static but more convenient.