clash-prelude-1.3.0: CAES Language for Synchronous Hardware - Prelude library
Copyright(C) 2019 Myrtle Software Ltd
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <christiaan.baaij@gmail.com>
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 '[] = 'Text "" 
Unlines ((x :: Symbol) ': xs) = 'Text x :$$: Unlines xs 
Unlines ((x :: ErrorMessage) ': xs) = 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 :++: '[] = a 
'[] :++: b = b 
(a ': as) :++: bs = 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