lambdacube-compiler-0.6.0.1: LambdaCube 3D is a DSL to program GPUs

Safe HaskellNone
LanguageHaskell2010

LambdaCube.Compiler.Pretty

Documentation

data Fixity Source #

Constructors

Infix !Int 
InfixL !Int 
InfixR !Int 

Instances

pattern DText :: String -> Doc Source #

(<+>) :: Doc -> Doc -> Doc Source #

(</>) :: Doc -> Doc -> Doc Source #

nest :: Int -> Doc -> Doc Source #

sep :: [Doc] -> Doc Source #

hsep :: [Doc] -> Doc Source #

vcat :: [Doc] -> Doc Source #

dOne :: (Doc -> Doc) -> Doc -> Doc Source #

dTwo :: (Doc -> Doc -> Doc) -> Doc -> Doc -> Doc Source #

dList :: Traversable f => (f Doc -> Doc) -> f Doc -> Doc Source #

data Two a Source #

Constructors

Two a a 

Instances

Functor Two Source # 

Methods

fmap :: (a -> b) -> Two a -> Two b #

(<$) :: a -> Two b -> Two a #

Foldable Two Source # 

Methods

fold :: Monoid m => Two m -> m #

foldMap :: Monoid m => (a -> m) -> Two a -> m #

foldr :: (a -> b -> b) -> b -> Two a -> b #

foldr' :: (a -> b -> b) -> b -> Two a -> b #

foldl :: (b -> a -> b) -> b -> Two a -> b #

foldl' :: (b -> a -> b) -> b -> Two a -> b #

foldr1 :: (a -> a -> a) -> Two a -> a #

foldl1 :: (a -> a -> a) -> Two a -> a #

toList :: Two a -> [a] #

null :: Two a -> Bool #

length :: Two a -> Int #

elem :: Eq a => a -> Two a -> Bool #

maximum :: Ord a => Two a -> a #

minimum :: Ord a => Two a -> a #

sum :: Num a => Two a -> a #

product :: Num a => Two a -> a #

Traversable Two Source # 

Methods

traverse :: Applicative f => (a -> f b) -> Two a -> f (Two b) #

sequenceA :: Applicative f => Two (f a) -> f (Two a) #

mapM :: Monad m => (a -> m b) -> Two a -> m (Two b) #

sequence :: Monad m => Two (m a) -> m (Two a) #

pattern DAt :: Doc -> Doc Source #

pattern DApp :: Doc -> Doc -> Doc infixl 4 Source #

pattern DHApp :: Doc -> Doc -> Doc Source #

pattern DSemi :: Doc -> Doc -> Doc Source #

pattern DArr_ :: String -> Doc -> Doc -> Doc Source #

pattern DCstr :: Doc -> Doc -> Doc Source #

pattern DAnn :: Doc -> Doc -> Doc Source #

pattern DLet :: String -> Doc -> Doc -> Doc Source #

pattern DComma :: Doc -> Doc -> Doc Source #

pattern DPar :: String -> Doc -> String -> Doc Source #

pattern DParen :: Doc -> Doc Source #

pattern DBrace :: Doc -> Doc Source #

pattern DBracket :: Doc -> Doc Source #

pattern DOp :: String -> Fixity -> Doc -> Doc -> Doc Source #

pattern DOp0 :: String -> Fixity -> Doc Source #

pattern DSep :: Fixity -> Doc -> Doc -> Doc Source #

pattern DGlue :: Fixity -> Doc -> Doc -> Doc Source #

pattern DArr :: Doc -> Doc -> Doc Source #

shAnn :: Doc -> Doc -> Doc Source #

shArr :: Doc -> Doc -> Doc Source #

pattern DForall :: String -> Doc -> Doc -> Doc Source #

pattern DContext' :: Doc -> Doc -> Doc Source #

pattern DContext :: Doc -> Doc -> Doc Source #

pattern DParContext :: Doc -> Doc -> Doc Source #

pattern DLam :: Doc -> Doc -> Doc Source #

pattern DLet' :: Doc -> Doc -> Doc Source #

class PShow a where Source #

Minimal complete definition

pShow

Methods

pShow :: a -> Doc Source #

Instances

PShow Bool Source # 

Methods

pShow :: Bool -> Doc Source #

PShow Char Source # 

Methods

pShow :: Char -> Doc Source #

PShow Double Source # 

Methods

pShow :: Double -> Doc Source #

PShow Int Source # 

Methods

pShow :: Int -> Doc Source #

PShow Integer Source # 

Methods

pShow :: Integer -> Doc Source #

PShow () Source # 

Methods

pShow :: () -> Doc Source #

PShow Void Source # 

Methods

pShow :: Void -> Doc Source #

PShow Doc Source # 

Methods

pShow :: Doc -> Doc Source #

PShow Fixity Source # 

Methods

pShow :: Fixity -> Doc Source #

PShow FreeVars Source # 

Methods

pShow :: FreeVars -> Doc Source #

PShow Stmt Source # 

Methods

pShow :: Stmt -> Doc Source #

PShow Visibility Source # 

Methods

pShow :: Visibility -> Doc Source #

PShow Binder Source # 

Methods

pShow :: Binder -> Doc Source #

PShow Lit Source # 

Methods

pShow :: Lit -> Doc Source #

PShow FName Source # 

Methods

pShow :: FName -> Doc Source #

PShow SIName Source # 

Methods

pShow :: SIName -> Doc Source #

PShow SI Source # 

Methods

pShow :: SI -> Doc Source #

PShow Range Source # 

Methods

pShow :: Range -> Doc Source #

PShow FileInfo Source # 

Methods

pShow :: FileInfo -> Doc Source #

PShow SPos Source # 

Methods

pShow :: SPos -> Doc Source #

PShow PreStmt Source # 

Methods

pShow :: PreStmt -> Doc Source #

PShow ParseWarning Source # 
PShow ExpType Source # 

Methods

pShow :: ExpType -> Doc Source #

PShow Neutral Source # 

Methods

pShow :: Neutral -> Doc Source #

PShow Exp Source # 

Methods

pShow :: Exp -> Doc Source #

PShow TyCaseFunName Source # 
PShow CaseFunName Source # 
PShow FunName Source # 

Methods

pShow :: FunName -> Doc Source #

PShow TyConName Source # 

Methods

pShow :: TyConName -> Doc Source #

PShow ConName Source # 

Methods

pShow :: ConName -> Doc Source #

PShow Info Source # 

Methods

pShow :: Info -> Doc Source #

PShow ErrorMsg Source # 

Methods

pShow :: ErrorMsg -> Doc Source #

PShow a => PShow [a] Source # 

Methods

pShow :: [a] -> Doc Source #

PShow a => PShow (Maybe a) Source # 

Methods

pShow :: Maybe a -> Doc Source #

PShow a => PShow (Set a) Source # 

Methods

pShow :: Set a -> Doc Source #

(HasFreeVars a, PShow a) => PShow (SExp' a) Source # 

Methods

pShow :: SExp' a -> Doc Source #

PShow (ParPat_ a) Source # 

Methods

pShow :: ParPat_ a -> Doc Source #

PShow (Pat_ a) Source # 

Methods

pShow :: Pat_ a -> Doc Source #

(PShow a, PShow b) => PShow (Either a b) Source # 

Methods

pShow :: Either a b -> Doc Source #

(PShow a, PShow b) => PShow (a, b) Source # 

Methods

pShow :: (a, b) -> Doc Source #

(PShow a, PShow b, PShow c) => PShow (a, b, c) Source # 

Methods

pShow :: (a, b, c) -> Doc Source #

(PShow a, PShow b, PShow c, PShow d) => PShow (a, b, c, d) Source # 

Methods

pShow :: (a, b, c, d) -> Doc Source #

(PShow a, PShow b, PShow c, PShow d, PShow e) => PShow (a, b, c, d, e) Source # 

Methods

pShow :: (a, b, c, d, e) -> Doc Source #

ppShow :: PShow a => a -> String Source #

tracePShow :: PShow a => a -> b -> b Source #

showNth :: (Integral a, Show a) => a -> [Char] Source #