clash-lib-1.8.4: Clash: a functional hardware description language - As a library

Copyright | (C) 2019-2022 QBayLogic B.V. 2013 Nikita Volkov
License | BSD2 (see the file LICENSE)
Maintainer | QBayLogic B.V. <devops@qbaylogic.com>
Safe Haskell | None
Language | Haskell2010

Clash.Util.Interpolate

Description

Synopsis

- i :: QuasiQuoter
- format :: [Node] -> String
- toString :: Show a => a -> String

# Documentation

i :: QuasiQuoter Source #

`i` will reflow the quasi-quoted text to 90 columns wide. If an interpolation variable is on its own line and expands to a multi-line string, the interpolated text will be indented the same as the interpolation variable was:

    :set -XQuasiQuotes
    :{
    a = "Multi\nLine\nString"
    b = [i|
        This line will be reflowed
        and the interpolated
        multi-line string here:
            #{a}
        will be indented. This
        text is outdented again.
      |]
    :}
    putStrLn b

This line will be reflowed and the interpolated multi-line string here: Multi Line String will be indented. This text is outdented again.

format :: [Node] -> String Source #

toString :: Show a => a -> String Source #