hermit-0.2.0.0: Haskell Equational Reasoning Model-to-Implementation Tunnel

Safe HaskellNone

Language.HERMIT.Kure.SumTypes

Contents

Synopsis

Sum Types

data Core Source

Core is a sum type for use by KURE. Core = ModGuts + CoreProg + CoreBind + CoreDef + CoreExpr + CoreAlt

Constructors

GutsCore ModGuts

The module.

ProgCore CoreProg

A program (a telescope of top-level binding groups).

BindCore CoreBind

A binding group.

DefCore CoreDef

A recursive definition.

ExprCore CoreExpr

An expression.

AltCore CoreAlt

A case alternative.

data TyCo Source

TyCo is a sum type for use by KURE. TyCo = Type + Coercion

Constructors

TypeCore Type

A type.

CoercionCore Coercion

A coercion.

Instances

(ExtendPath c Crumb, AddBindings c) => Walker c TyCo

Walking over types and coercions.

Injection Coercion TyCo 
Injection Type TyCo 
Injection TyCo CoreTC 

data CoreTC Source

CoreTC is a sum type for use by KURE. CoreTC = Core + TyCo

Constructors

Core Core 
TyCo TyCo