th-to-exp

Provides a way to persist data from compile-time to runtime.

https://github.com/lexi-lambda/th-to-exp#readme

Version on this page:0.0.1.0
LTS Haskell 11.22:0.0.1.1
Stackage Nightly 2018-03-12:0.0.1.1
Latest on Hackage:0.0.1.1

See all snapshots th-to-exp appears in

ISC licensed
Maintained by Alexis King
This version can be pinned in stack with:th-to-exp-0.0.1.0@sha256:e0435947c036b745ff9818353a7386c60c9d931c6cf1032ffe4dbe54e46a7dbe,1953

Module documentation for 0.0.1.0

th-to-exp Build Status

th-to-exp is a package that provides a way to persist data from compile-time to runtime by producing Template Haskell expressions that evaluate to particular values. For example, if you have a value Just 1, then toExp (Just 1) will produce the expression [e| Just 1 |], which can be used in a splice. For a more direct example, here’s what that looks like without the quasiquote notation:

> toExp (Just 1)
AppE (ConE GHC.Base.Just) (LitE (IntegerL 1))

This is done by using a typeclass, ToExp, that can be automatically derived for types that have a Generic instance.