module Hydra.Impl.Haskell.Sources.Ext.Scala.Meta where
import Hydra.Impl.Haskell.Sources.Core
import Hydra.All
import Hydra.Impl.Haskell.Dsl.Types as Types
import Hydra.Impl.Haskell.Dsl.Standard
scalaMetaModule :: Module Meta
scalaMetaModule :: Module Meta
scalaMetaModule = forall m.
Namespace -> [Element m] -> [Module m] -> Maybe String -> Module m
Module Namespace
ns forall {m}. [Element m]
elements [] forall a b. (a -> b) -> a -> b
$
forall a. a -> Maybe a
Just String
"A Scala syntax model based on Scalameta (https://scalameta.org)"
where
ns :: Namespace
ns = String -> Namespace
Namespace String
"hydra/ext/scala/meta"
def :: String -> Type m -> Element m
def = forall m. Namespace -> String -> Type m -> Element m
datatype Namespace
ns
meta :: String -> Type m
meta = forall m. Namespace -> String -> Type m
nsref Namespace
ns
elements :: [Element m]
elements = [
forall {m}. String -> Type m -> Element m
def String
"PredefString"
forall m. Type m
string,
forall {m}. String -> Type m -> Element m
def String
"ScalaSymbol" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall m. Type m
string],
forall {m}. String -> Type m -> Element m
def String
"Tree" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"ref"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ref",
String
"stat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Stat",
String
"type"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"bounds"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Bounds",
String
"pat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"member"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Member",
String
"ctor"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor",
String
"template"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template",
String
"mod"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Mod",
String
"enumerator"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Enumerator",
String
"importer"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Importer",
String
"importee"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Importee",
String
"caseTree"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"CaseTree",
String
"source"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Source",
String
"quasi"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Quasi"],
forall {m}. String -> Type m -> Element m
def String
"Ref" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"init"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Init"],
forall {m}. String -> Type m -> Element m
def String
"Stat" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"term"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"decl"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Decl",
String
"defn"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn",
String
"importExport"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"ImportExportStat"],
forall {m}. String -> Type m -> Element m
def String
"Name" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"value"forall m. String -> Type m -> FieldType m
>: forall m. Type m
string,
String
"anonymous"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"indeterminate"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"PredefString"],
forall {m}. String -> Type m -> Element m
def String
"Lit" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"null"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"int"forall m. String -> Type m -> FieldType m
>: forall m. Type m
int32,
String
"double"forall m. String -> Type m -> FieldType m
>: forall m. Type m
float64,
String
"float"forall m. String -> Type m -> FieldType m
>: forall m. Type m
float32,
String
"byte"forall m. String -> Type m -> FieldType m
>: forall m. Type m
int8,
String
"short"forall m. String -> Type m -> FieldType m
>: forall m. Type m
int16,
String
"char"forall m. String -> Type m -> FieldType m
>: forall m. Type m
uint16,
String
"long"forall m. String -> Type m -> FieldType m
>: forall m. Type m
int64,
String
"boolean"forall m. String -> Type m -> FieldType m
>: forall m. Type m
boolean,
String
"unit"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"string"forall m. String -> Type m -> FieldType m
>: forall m. Type m
string,
String
"symbol"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"ScalaSymbol"],
forall {m}. String -> Type m -> Element m
def String
"Data" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"lit"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Lit",
String
"ref"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Ref",
String
"interpolate"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Interpolate",
String
"xml"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Xml",
String
"apply"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Apply",
String
"applyUsing"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.ApplyUsing",
String
"applyType"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.ApplyType",
String
"assign"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Assign",
String
"return"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Return",
String
"throw"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Throw",
String
"ascribe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Ascribe",
String
"annotate"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Annotate",
String
"tuple"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Tuple",
String
"block"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Block",
String
"endMarker"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.EndMarker",
String
"if"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.If",
String
"quotedMacroExpr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.QuotedMacroExpr",
String
"quotedMacroType"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.QuotedMacroType",
String
"splicedMacroExpr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.SplicedMacroExpr",
String
"match"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Match",
String
"try"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Try",
String
"tryWithHandler"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.TryWithHandler",
String
"functionData"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.FunctionData",
String
"polyFunction"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.PolyFunction",
String
"partialFunction"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.PartialFunction",
String
"while"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.While",
String
"do"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Do",
String
"for"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.For",
String
"forYield"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.ForYield",
String
"new"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.New",
String
"newAnonymous"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.NewAnonymous",
String
"placeholder"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Placeholder",
String
"eta"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Eta",
String
"repeated"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Repeated",
String
"param"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Param"],
forall {m}. String -> Type m -> Element m
def String
"Data.Ref" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"this"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.This",
String
"super"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Super",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"anonymous"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Anonymous",
String
"select"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Select",
String
"applyUnary"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.ApplyUnary"],
forall {m}. String -> Type m -> Element m
def String
"Data.This"
forall m. Type m
unit,
forall {m}. String -> Type m -> Element m
def String
"Data.Super" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"thisp"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"superp"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name"],
forall {m}. String -> Type m -> Element m
def String
"Data.Name" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"value"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"PredefString"],
forall {m}. String -> Type m -> Element m
def String
"Data.Anonymous"
forall m. Type m
unit,
forall {m}. String -> Type m -> Element m
def String
"Data.Select" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"qual"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name"],
forall {m}. String -> Type m -> Element m
def String
"Data.Interpolate" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"prefix"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"parts"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Lit",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Xml" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"parts"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Lit",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Apply" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"fun"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.ApplyUsing" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"fun"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"targs"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.ApplyType" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"op"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"targs"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.ApplyInfix" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"op"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"targs"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.ApplyUnary" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"op"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"arg"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Assign" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Return" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Throw" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Ascribe" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Data.Annotate" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"annots"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod.Annot"],
forall {m}. String -> Type m -> Element m
def String
"Data.Tuple" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Block" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Data.EndMarker" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name"],
forall {m}. String -> Type m -> Element m
def String
"Data.If" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"cond"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"thenp"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"elsep"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.QuotedMacroExpr" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.QuotedMacroType" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Data.SplicedMacroExpr" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Match" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"cases"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Case"],
forall {m}. String -> Type m -> Element m
def String
"Data.Try" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"catchp"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Case",
String
"finallyp"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.TryWithHandler" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"catchp"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"finallyp"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.FunctionData" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"contextFunction"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.ContextFunction",
String
"function"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Function"],
forall {m}. String -> Type m -> Element m
def String
"Data.ContextFunction" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"params"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Function" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"params"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.PolyFunction" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.PartialFunction" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"cases"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Case"],
forall {m}. String -> Type m -> Element m
def String
"Data.While" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Do" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.For" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"enums"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Enumerator"],
forall {m}. String -> Type m -> Element m
def String
"Data.ForYield" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"enums"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Enumerator"],
forall {m}. String -> Type m -> Element m
def String
"Data.New" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"init"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Init"],
forall {m}. String -> Type m -> Element m
def String
"Data.NewAnonymous" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"templ"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template"],
forall {m}. String -> Type m -> Element m
def String
"Data.Placeholder"
forall m. Type m
unit,
forall {m}. String -> Type m -> Element m
def String
"Data.Eta" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Repeated" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"expr"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Data.Param" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"default"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Type" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"ref"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Ref",
String
"anonymousName"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.AnonymousName",
String
"apply"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Apply",
String
"applyInfix"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.ApplyInfix",
String
"functionType"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.FunctionType",
String
"polyFunction"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.PolyFunction",
String
"implicitFunction"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.ImplicitFunction",
String
"tuple"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Tuple",
String
"with"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.With",
String
"and"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.And",
String
"or"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Or",
String
"refine"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Refine",
String
"existential"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Existential",
String
"annotate"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Annotate",
String
"lambda"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Lambda",
String
"macro"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Macro",
String
"method"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Method",
String
"placeholder"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Placeholder",
String
"byName"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.ByName",
String
"repeated"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Repeated",
String
"var"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Var",
String
"typedParam"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.TypedParam",
String
"match"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Match"],
forall {m}. String -> Type m -> Element m
def String
"Type.Ref" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"select"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Select",
String
"project"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Project",
String
"singleton"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Singleton"],
forall {m}. String -> Type m -> Element m
def String
"Type.Name" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"value"forall m. String -> Type m -> FieldType m
>: forall m. Type m
string],
forall {m}. String -> Type m -> Element m
def String
"Type.AnonymousName"
forall m. Type m
unit,
forall {m}. String -> Type m -> Element m
def String
"Type.Select" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"qual"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Ref",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name"],
forall {m}. String -> Type m -> Element m
def String
"Type.Project" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"qual"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name"],
forall {m}. String -> Type m -> Element m
def String
"Type.Singleton" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"ref"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Ref"],
forall {m}. String -> Type m -> Element m
def String
"Type.Apply" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.ApplyInfix" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"op"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.FunctionType" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"function"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Function",
String
"contextFunction"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.ContextFunction"],
forall {m}. String -> Type m -> Element m
def String
"Type.Function" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"params"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"res"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.PolyFunction" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.ContextFunction" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"params"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"res"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.ImplicitFunction" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"params"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"res"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Tuple" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.With" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.And" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Or" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Refine" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Type.Existential" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Type.Annotate" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"annots"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod.Annot"],
forall {m}. String -> Type m -> Element m
def String
"Type.Lambda" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Macro" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Type.Method" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"paramss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Placeholder" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"bounds"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Bounds"],
forall {m}. String -> Type m -> Element m
def String
"Type.Bounds" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lo"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"hi"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.ByName" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Repeated" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Var" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name"],
forall {m}. String -> Type m -> Element m
def String
"Type.TypedParam" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"typ"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Param" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"tbounds"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Bounds",
String
"vbounds"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"cbounds"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Type.Match" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"cases"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"TypeCase"],
forall {m}. String -> Type m -> Element m
def String
"Pat" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"var"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Var",
String
"wildcard"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"seqWildcard"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"bind"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Bind",
String
"alternative"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Alternative",
String
"tuple"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Tuple",
String
"repeated"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Repeated",
String
"extract"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Extract",
String
"extractInfix"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.ExtractInfix",
String
"interpolate"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Interpolate",
String
"xml"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Xml",
String
"typed"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Typed",
String
"macro"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Macro",
String
"given"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat.Given"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Var" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Bind" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Alternative" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Tuple" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Repeated" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Extract" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"fun"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat"],
forall {m}. String -> Type m -> Element m
def String
"Pat.ExtractInfix" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"op"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Interpolate" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"prefix"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"parts"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Lit"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Xml" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"parts"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Lit",
String
"args"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Typed" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"lhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Macro" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Pat.Given" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Member" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"term"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Member.Data",
String
"type"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Member.Type",
String
"termParam"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Param",
String
"typeParam"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Param",
String
"self"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Self"],
forall {m}. String -> Type m -> Element m
def String
"Member.Data" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"pkg"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pkg",
String
"object"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pkg.Object"],
forall {m}. String -> Type m -> Element m
def String
"Member.Type" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name"],
forall {m}. String -> Type m -> Element m
def String
"Decl" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"val"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Decl.Val",
String
"var"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Decl.Var",
String
"def"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Decl.Def",
String
"type"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Decl.Type",
String
"given"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Decl.Given"],
forall {m}. String -> Type m -> Element m
def String
"Decl.Val" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"pats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Decl.Var" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"pats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Decl.Def" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"paramss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Decl.Type" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"bounds"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Bounds"],
forall {m}. String -> Type m -> Element m
def String
"Decl.Given" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"sparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Defn" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"val"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Val",
String
"var"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Var",
String
"given"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Given",
String
"enum"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Enum",
String
"enumCase"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.EnumCase",
String
"repeatedEnumCase"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.RepeatedEnumCase",
String
"givenAlias"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.GivenAlias",
String
"extensionGroup"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.ExtensionGroup",
String
"def"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Def",
String
"macro"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Macro",
String
"type"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Type",
String
"class"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Class",
String
"trait"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Trait",
String
"object"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Defn.Object"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Val" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"pats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Var" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"pats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Pat",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Given" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"sparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"templ"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Enum" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"ctor"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor.Primary",
String
"template"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template"],
forall {m}. String -> Type m -> Element m
def String
"Defn.EnumCase" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"ctor"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor.Primary",
String
"inits"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Init"],
forall {m}. String -> Type m -> Element m
def String
"Defn.RepeatedEnumCase" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"cases"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Name"],
forall {m}. String -> Type m -> Element m
def String
"Defn.GivenAlias" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"sparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Defn.ExtensionGroup" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"parmss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Def" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"paramss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Macro" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"paramss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"decltpe"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Type" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Class" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"ctor"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor.Primary",
String
"template"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Trait" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type.Name",
String
"tparams"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Type.Param",
String
"ctor"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor.Primary",
String
"template"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template"],
forall {m}. String -> Type m -> Element m
def String
"Defn.Object" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name"],
forall {m}. String -> Type m -> Element m
def String
"Pkg" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"ref"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Ref",
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Pkg.Object" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Name",
String
"template"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Template"],
forall {m}. String -> Type m -> Element m
def String
"Ctor" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"primary"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor.Primary",
String
"secondary"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ctor.Secondary"],
forall {m}. String -> Type m -> Element m
def String
"Ctor.Primary" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"paramss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param"],
forall {m}. String -> Type m -> Element m
def String
"Ctor.Secondary" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"mods"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Mod",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"paramss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data.Param",
String
"init"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Init",
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Init" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"argss"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Self"
forall m. Type m
unit,
forall {m}. String -> Type m -> Element m
def String
"Template" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"early"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat",
String
"inits"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Init",
String
"self"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Self",
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Mod" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"annot"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Mod.Annot",
String
"private"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Mod.Private",
String
"protected"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Mod.Protected",
String
"implicit"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"final"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"sealed"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"open"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"super"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"override"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"case"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"abstract"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"covariant"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"contravariant"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"lazy"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"valParam"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"varParam"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"infix"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"inline"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"using"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"opaque"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"transparent"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit],
forall {m}. String -> Type m -> Element m
def String
"Mod.Annot" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"init"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Init"],
forall {m}. String -> Type m -> Element m
def String
"Mod.Private" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"within"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ref"],
forall {m}. String -> Type m -> Element m
def String
"Mod.Protected" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"within"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Ref"],
forall {m}. String -> Type m -> Element m
def String
"Enumerator" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"generator"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Enumerator.Generator",
String
"caseGenerator"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Enumerator.CaseGenerator",
String
"val"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Enumerator.Val",
String
"guard"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Enumerator.Guard"],
forall {m}. String -> Type m -> Element m
def String
"Enumerator.Generator" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"pat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Enumerator.CaseGenerator" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"pat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Enumerator.Val" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"pat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"rhs"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"Enumerator.Guard" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"cond"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"ImportExportStat" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"import"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Import",
String
"export"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Export"],
forall {m}. String -> Type m -> Element m
def String
"Import" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"importers"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Importer"],
forall {m}. String -> Type m -> Element m
def String
"Export" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"importers"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Importer"],
forall {m}. String -> Type m -> Element m
def String
"Importer" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"ref"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data.Ref",
String
"importees"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Importee"],
forall {m}. String -> Type m -> Element m
def String
"Importee" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"wildcard"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"given"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Importee.Given",
String
"givenAll"forall m. String -> Type m -> FieldType m
>: forall m. Type m
unit,
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Importee.Name",
String
"rename"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Importee.Rename",
String
"unimport"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Importee.Unimport"],
forall {m}. String -> Type m -> Element m
def String
"Importee.Given" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"tpe"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Importee.Name" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name"],
forall {m}. String -> Type m -> Element m
def String
"Importee.Rename" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name",
String
"rename"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name"],
forall {m}. String -> Type m -> Element m
def String
"Importee.Unimport" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"name"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Name"],
forall {m}. String -> Type m -> Element m
def String
"CaseTree" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
union [
String
"case"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Case",
String
"typeCase"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"TypeCase"],
forall {m}. String -> Type m -> Element m
def String
"Case" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"pat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Pat",
String
"cond"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
optional forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Data",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Data"],
forall {m}. String -> Type m -> Element m
def String
"TypeCase" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"pat"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type",
String
"body"forall m. String -> Type m -> FieldType m
>: forall {m}. String -> Type m
meta String
"Type"],
forall {m}. String -> Type m -> Element m
def String
"Source" forall a b. (a -> b) -> a -> b
$
forall m. [FieldType m] -> Type m
record [
String
"stats"forall m. String -> Type m -> FieldType m
>: forall m. Type m -> Type m
list forall a b. (a -> b) -> a -> b
$ forall {m}. String -> Type m
meta String
"Stat"],
forall {m}. String -> Type m -> Element m
def String
"Quasi"
forall m. Type m
unit]