exon-1.0.0.2: readme.md
This Haskell library provides string interpolation in quasiquotes, allowing you to build strings like this:
```haskell
animal = "snake"
location = "a tree"
[exon|#{animal} in #{location}|]
-- "snake in a tree"
```
Each step of the process is customizable based on the result type of the quote, making it possible to construct strings
for arbitrary types.
For example, `String -> String` is the type used by `showsPrec`, which can be a bit of a hassle to write:
```haskell
data Record =
Record {
number :: Int,
maybeNumber :: Maybe Int,
value :: Value
}
instance Show Record where
showsPrec d Record {..} =
showParen (d > 10) [exon|Record #{showsPrec 11 number} #{showsPrec 11 maybeNumber} #{showsPrec 11 value}|]
```
[hackage]: https://hackage.haskell.org/package/exon/docs/Exon.html