ermine-0.6: Ermine

Copyright(c) Edward Kmett and Dan Doel 2012-2014
LicenseBSD3
MaintainerDan Doel <dan.doel@gmail.com>
Stabilityexperimental
Portabilitynon-portable (DeriveDataTypeable)
Safe HaskellNone
LanguageHaskell2010

Ermine.Syntax.Constructor

Description

This module provides the AST for data type declarations

Documentation

data Constructor k t Source

Constructors

Constructor Global [Hint] [(Hint, Scope Int Kind k)] [Scope Int (TK k) t] 

Instances

Show2 Constructor 
Eq2 Constructor 
Bitraversable Constructor 
Serial2 Constructor 
Bifunctor Constructor 
Bifoldable Constructor 
Functor (Constructor k) 
Foldable (Constructor k) 
Traversable (Constructor k) 
Show k => Show1 (Constructor k) 
Eq k => Eq1 (Constructor k) 
Serial k => Serial1 (Constructor k) 
BoundBy (Constructor k) (Type k) 
(Eq k, Eq t) => Eq (Constructor k t) 
(Show k, Show t) => Show (Constructor k t) 
Generic (Constructor k t) 
(Binary k, Binary t) => Binary (Constructor k t) 
(Serial k, Serial t) => Serial (Constructor k t) 
HasGlobal (Constructor k t) 
Typeable (* -> * -> *) Constructor 
HasKindVars (Constructor k t) (Constructor k' t) k k' 
HasTypeVars (Constructor k t) (Constructor k t') t t' 
type Rep (Constructor k t) 

ekinds :: Lens' (Constructor k t) [Hint] Source

etypes :: Lens' (Constructor k t) [(Hint, Scope Int Kind k)] Source

fields :: Lens' (Constructor k t) [Scope Int (TK k) t] Source