generics-mrsop-2.0.0: Generic Programming with Mutually Recursive Sums of Products.

Safe HaskellSafe
LanguageHaskell2010

Generics.MRSOP.Examples.RoseTree

Contents

Description

This module is analogous to RoseTreeTH, but we use no Template Haskell here.

Synopsis

Standard Rose-Tree datatype

data R a Source #

Constructors

a :>: [R a] 
Leaf a 
Instances
Family Singl FamRose CodesRose Source # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

HasDatatypeInfo Singl FamRose CodesRose Source # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

Eq (R Int) Source # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

Methods

(==) :: R Int -> R Int -> Bool #

(/=) :: R Int -> R Int -> Bool #

Show a => Show (R a) Source # 
Instance details

Defined in Generics.MRSOP.Examples.RoseTree

Methods

showsPrec :: Int -> R a -> ShowS #

show :: R a -> String #

showList :: [R a] -> ShowS #

Family Structure

type ListCode = '['[], '[I (S Z), I Z]] Source #

type RTCode = '['[K KInt, I Z], '[K KInt]] Source #

type FamRose = '[[R Int], R Int] Source #

Instance Decl

Eq Instance

Compos test

pattern RInt_ :: forall (a :: Nat). () => forall (n :: Nat). (a ~# S n, n ~# Z) => SNat a Source #

Crush test

Orphan instances

Family Singl FamRose CodesRose Source # 
Instance details