clash-prelude-1.8.2: Clash: a functional hardware description language - Prelude library
Copyright(C) 2019 Myrtle Software Ltd
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <[email protected]>
Safe HaskellNone
LanguageHaskell2010

Clash.Class.HasDomain.Common

Contents

Description

 
Synopsis

Documentation

type family Unlines (ln :: [k]) :: ErrorMessage where ... Source #

Combine multiple lines with line break. Type-level version of the unlines function but for ErrorMessage.

Equations

Unlines ('[] :: [k]) = 'Text "" 
Unlines (x ': xs :: [Symbol]) = 'Text x ':$$: Unlines xs 
Unlines (x ': xs :: [ErrorMessage]) = x ':$$: Unlines xs 

type (:<<>>:) (k1 :: t1) (k2 :: t2) = ToEM k1 ':<>: ToEM k2 infixl 5 Source #

type (:$$$:) (k1 :: t1) (k2 :: t2) = ToEM k1 ':$$: ToEM k2 infixl 4 Source #

type family (as :: [k]) :++: (bs :: [k]) :: [k] where ... infixl 4 Source #

Equations

(a :: [k]) :++: ('[] :: [k]) = a 
('[] :: [k]) :++: (b :: [k]) = b 
(a ': as :: [k]) :++: (bs :: [k]) = a ': (as :++: bs) 

Internal

type family ToEM (k :: t) :: ErrorMessage where ... Source #

Equations

ToEM (k :: Symbol) = 'Text k 
ToEM (k :: ErrorMessage) = k 
ToEM (k :: t) = 'ShowType k