/
type-graph.txt
315 lines (282 loc) · 15.9 KB
/
type-graph.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
# ???
class AST
class ObjAt
class Dummy
class Version
# Metamodel
class Perl6::Metamodel::Archetypes
role Perl6::Metamodel::AttributeContainer
role Perl6::Metamodel::BUILDPLAN
role Perl6::Metamodel::BaseType
role Perl6::Metamodel::BoolificationProtocol
role Perl6::Metamodel::C3MRO
class Perl6::Metamodel::ClassHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Documenting does Perl6::Metamodel::Versioning does Perl6::Metamodel::Stashing does Perl6::Metamodel::AttributeContainer does Perl6::Metamodel::MethodContainer does Perl6::Metamodel::PrivateMethodContainer does Perl6::Metamodel::MultiMethodContainer does Perl6::Metamodel::RoleContainer does Perl6::Metamodel::MultipleInheritance does Perl6::Metamodel::DefaultParent does Perl6::Metamodel::C3MRO does Perl6::Metamodel::MROBasedMethodDispatch does Perl6::Metamodel::MROBasedTypeChecking does Perl6::Metamodel::Trusting does Perl6::Metamodel::BUILDPLAN does Perl6::Metamodel::Mixins does Perl6::Metamodel::BoolificationProtocol does Perl6::Metamodel::ParrotInterop
class Perl6::Metamodel::ConcreteRoleHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Versioning does Perl6::Metamodel::PrivateMethodContainer does Perl6::Metamodel::MethodContainer does Perl6::Metamodel::MultiMethodContainer does Perl6::Metamodel::AttributeContainer does Perl6::Metamodel::RoleContainer does Perl6::Metamodel::MultipleInheritance
class Perl6::Metamodel::ContainerDescriptor
class Perl6::Metamodel::CurriedRoleHOW does Perl6::Metamodel::RolePunning does Perl6::Metamodel::TypePretense
role Perl6::Metamodel::DefaultParent
class Perl6::Metamodel::BaseDispatcher
class Perl6::Metamodel::MethodDispatcher is Perl6::Metamodel::BaseDispatcher
class Perl6::Metamodel::MultiDispatcher is Perl6::Metamodel::BaseDispatcher
class Perl6::Metamodel::WrapDispatcher is Perl6::Metamodel::BaseDispatcher
role Perl6::Metamodel::Documenting
class Perl6::Metamodel::EnumHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Stashing does Perl6::Metamodel::AttributeContainer does Perl6::Metamodel::MethodContainer does Perl6::Metamodel::MultiMethodContainer does Perl6::Metamodel::RoleContainer does Perl6::Metamodel::BaseType does Perl6::Metamodel::MROBasedMethodDispatch does Perl6::Metamodel::MROBasedTypeChecking does Perl6::Metamodel::BUILDPLAN does Perl6::Metamodel::BoolificationProtocol does Perl6::Metamodel::ParrotInterop
class Perl6::Metamodel::GenericHOW does Perl6::Metamodel::Naming
class Perl6::Metamodel::GrammarHOW is Perl6::Metamodel::ClassHOW does Perl6::Metamodel::DefaultParent
role Perl6::Metamodel::MROBasedMethodDispatch
role Perl6::Metamodel::MROBasedTypeChecking
role Perl6::Metamodel::MethodContainer
role Perl6::Metamodel::MethodDelegation
role Perl6::Metamodel::Mixins
class Perl6::Metamodel::ModuleHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Documenting does Perl6::Metamodel::Versioning does Perl6::Metamodel::Stashing does Perl6::Metamodel::TypePretense does Perl6::Metamodel::MethodDelegation
role Perl6::Metamodel::MultiMethodContainer
role Perl6::Metamodel::MultipleInheritance
role Perl6::Metamodel::Naming
class Perl6::Metamodel::NativeHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Documenting does Perl6::Metamodel::Versioning does Perl6::Metamodel::Stashing does Perl6::Metamodel::MultipleInheritance does Perl6::Metamodel::C3MRO does Perl6::Metamodel::MROBasedMethodDispatch does Perl6::Metamodel::MROBasedTypeChecking
class Perl6::Metamodel::PackageHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Documenting does Perl6::Metamodel::Stashing does Perl6::Metamodel::TypePretense does Perl6::Metamodel::MethodDelegation
class Perl6::Metamodel::ParametricRoleGroupHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Stashing does Perl6::Metamodel::TypePretense does Perl6::Metamodel::RolePunning does Perl6::Metamodel::BoolificationProtocol
class Perl6::Metamodel::ParametricRoleHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Documenting does Perl6::Metamodel::Versioning does Perl6::Metamodel::MethodContainer does Perl6::Metamodel::PrivateMethodContainer does Perl6::Metamodel::MultiMethodContainer does Perl6::Metamodel::AttributeContainer does Perl6::Metamodel::RoleContainer does Perl6::Metamodel::MultipleInheritance does Perl6::Metamodel::Stashing does Perl6::Metamodel::TypePretense does Perl6::Metamodel::RolePunning
role Perl6::Metamodel::ParrotInterop
role Perl6::Metamodel::PrivateMethodContainer
role Perl6::Metamodel::RoleContainer
role Perl6::Metamodel::RolePunning
role Perl6::Metamodel::Stashing
class Perl6::Metamodel::StaticLexPad
class Perl6::Metamodel::SubsetHOW does Perl6::Metamodel::Naming does Perl6::Metamodel::Documenting
role Perl6::Metamodel::Trusting
role Perl6::Metamodel::TypePretense
role Perl6::Metamodel::Versioning
# Attributes
class Attribute
# Base types
class Mu
class Junction is Mu
class Any is Mu
class Scalar is Any
class Proxy is Any
class LazyScalar is Proxy
class Cool is Any
class Bool is Cool
# Callables
role Callable[::T = Mu]
class Code does Callable
class Block is Code
class Routine is Block
class Sub is Routine
class Method is Routine
class Submethod is Routine
class Macro is Routine
class Whatever
class WhateverCode is Code
class CallFrame
class Parameter
class Signature
# Regex and Grammars
class Match is Capture is Cool
class Cursor
class Grammar is Cursor
class Regex is Method
# Strings
role Stringy
class Str is Cool does Stringy
# Numbers
role Numeric
role Real does Numeric
class Int is Cool does Real
class Num is Cool does Real
class Complex is Cool does Numeric
role Rational[::NuT, ::DeT] does Real
class Rat is Cool does Rational[Int, Int]
class FatRat is Cool does Rational[Int, Int]
# Time
role Dateish
class DateTime-local-timezone does Callable
class DateTime does Dateish
class Date does Dateish
class Duration is Cool does Real
class Instant is Cool does Real
# IO
role IO::FileTestable
class IO does IO::FileTestable
class IO::Path is Cool does IO::FileTestable
class IO::ArgFiles is IO
role IO::Socket
class IO::Socket::INET does IO::Socket
# Pod
class Pod::Config
class Pod::Block
class Pod::Block::Code is Pod::Block
class Pod::Block::Comment is Pod::Block
class Pod::Block::Declarator is Pod::Block
class Pod::Block::Named is Pod::Block
class Pod::Block::Para is Pod::Block
class Pod::Block::Table is Pod::Block
class Pod::FormattingCode is Pod::Block
class Pod::Heading is Pod::Block
class Pod::Item is Pod::Block
### COLLECTIONS
# Collections: Iteration
class Iterable is Cool
class Iterator is Iterable
class Nil is Iterator
class GatherIter is Iterator
class ListIter is Iterator
class MapIter is Iterator
# Collections: Positional
role Positional[::T = Mu]
class Buf does Positional
class Capture
class Parcel is Cool does Positional
class Range is Iterable does Positional
class List is Iterable does Positional
class Array is List
class LoL is List
role TypedArray[::TValue] does Positional[TValue]
# Collections: Associative
role Associative[::T = Mu]
role Baggy
class Bag is Iterable does Associative does Baggy
class KeyBag does Associative does Baggy
class Set is Iterable does Associative
class KeySet is Iterable does Associative
role Enumeration
role NumericEnumeration
role StringyEnumeration
class Enum does Associative
class Pair is Enum
class EnumMap is Iterable does Associative
class Stash is Hash
class PseudoStash is EnumMap
class Hash is EnumMap
class KeyHash is Iterable does Associative
role TypedHash[::TValue] does Associative[TValue]
role TypedHash[::TValue, ::TKey] does Associative[TValue]
### EXCEPTIONS
# Exceptions: Base
class Failure
class Exception
class Backtrace is List
class Backtrace::Frame
# Exceptions: Misc
class X::AdHoc is Exception
class X::Method::NotFound is Exception
class X::Method::InvalidQualifier is Exception
class X::OutOfRange is Exception
class X::Routine::Unwrap is Exception
class X::Constructor::Positional is Exception
class X::Hash::Store::OddNumber is Exception
class X::Phaser::PrePost is Exception
class X::Sequence::Deduction is Exception
class X::Assignment::RO is Exception
class X::NoDispatcher is Exception
class X::Localizer::NoContainer is Exception
class X::Inheritance::Unsupported is Exception
class X::HyperOp::NonDWIM is Exception
class X::Set::Coerce is Exception
class X::Eval::NoSuchLang is Exception
# Exceptions: Numbers
class X::Numeric::Real is Exception
# Exceptions: Strings
class X::Str::Numeric is Exception
class X::Str::Match::x is Exception
class X::Str::Trans::IllegalKey is Exception
class X::Str::Trans::InvalidArg is Exception
# Exceptions: Buffers
class X::Buf::AsStr is Exception
class X::Buf::Pack is Exception
class X::Buf::Pack::NonASCII is Exception
# Exceptions: Time
class X::Temporal is Exception
class X::Temporal::InvalidFormat is X::Temporal
class X::Temporal::Truncation is X::Temporal
class X::DateTime::TimezoneClash is X::Temporal
# Exceptions: Composition
class X::Export::NameClash is Exception
class X::Import::MissingSymbols is Exception
class X::Composition::NotComposable is Exception
class X::Mixin::NonComposable is Exception
# Exceptions: Type Checks
class X::TypeCheck is Exception
class X::TypeCheck::Binding is X::TypeCheck
class X::TypeCheck::Return is X::TypeCheck
class X::TypeCheck::Assignment is X::TypeCheck
# Exceptions: Control Flow
class X::ControlFlow is Exception
class X::ControlFlow::Return is X::ControlFlow
# Exceptions: IO
role X::OS
role X::IO does X::OS
class X::IO::Rename is Exception does X::IO
class X::IO::Copy is Exception does X::IO
class X::IO::Mkdir is Exception does X::IO
class X::IO::Chdir is Exception does X::IO
class X::IO::Dir is Exception does X::IO
class X::IO::Cwd is Exception does X::IO
class X::IO::Rmdir is Exception does X::IO
class X::IO::Unlink is Exception does X::IO
class X::IO::Chmod is Exception does X::IO
# Exceptions: Compile-Time
role X::Comp is Exception
class X::Comp::AdHoc is X::AdHoc does X::Comp
class X::NYI is Exception
class X::Comp::NYI is X::NYI does X::Comp
class X::Signature::Placeholder does X::Comp
class X::Placeholder::Block does X::Comp
class X::Placeholder::Mainline is X::Placeholder::Block
class X::Attribute::Undeclared is X::Undeclared
class X::Redeclaration does X::Comp
class X::Undeclared does X::Comp
class X::Phaser::Multiple does X::Comp
class X::Obsolete does X::Comp
class X::Parameter::Default does X::Comp
class X::Parameter::Placeholder does X::Comp
class X::Parameter::Twigil does X::Comp
class X::Parameter::MultipleTypeConstraints does X::Comp
class X::Parameter::WrongOrder does X::Comp
class X::Signature::NameClash does X::Comp
class X::Method::Private::Permission does X::Comp
class X::Method::Private::Unqualified does X::Comp
class X::Bind is Exception
class X::Bind::NativeType does X::Comp
class X::Bind::Slice is Exception
class X::Bind::ZenSlice is X::Bind::Slice
class X::Does::TypeObject is Exception
class X::Role::Initialization is Exception
class X::Value::Dynamic does X::Comp
class X::Attribute::Package does X::Comp
class X::Attribute::NoPackage does X::Comp
class X::Declaration::Scope does X::Comp
class X::Declaration::Scope::Multi is X::Declaration::Scope
class X::Anon::Multi does X::Comp
class X::Anon::Augment does X::Comp
class X::Augment::NoSuchType does X::Comp
class X::Package::Stubbed does X::Comp
# Exceptions: Syntax
role X::Pod
role X::Syntax does X::Comp
class X::Syntax::Name::Null does X::Syntax
class X::Syntax::UnlessElse does X::Syntax
class X::Syntax::Reserved does X::Syntax
class X::Syntax::P5 does X::Syntax
class X::Syntax::NegatedPair does X::Syntax
class X::Syntax::Variable::Numeric does X::Syntax
class X::Syntax::Variable::Match does X::Syntax
class X::Syntax::Variable::Twigil does X::Syntax
class X::Syntax::Variable::IndirectDeclaration does X::Syntax
class X::Syntax::Augment::WithoutMonkeyTyping does X::Syntax
class X::Syntax::Augment::Role does X::Syntax
class X::Syntax::Comment::Embedded does X::Syntax
class X::Syntax::Confused does X::Syntax
class X::Syntax::Malformed does X::Syntax
class X::Syntax::Missing does X::Syntax
class X::Syntax::SigilWithoutName does X::Syntax
class X::Syntax::Self::WithoutObject does X::Syntax
class X::Syntax::VirtualCall does X::Syntax
class X::Syntax::NoSelf does X::Syntax
class X::Syntax::Number::RadixOutOfRange does X::Syntax
class X::Syntax::Regex::Adverb does X::Syntax
class X::Syntax::Signature::InvocantMarker does X::Syntax
class X::Syntax::Extension::Category does X::Syntax
class X::Syntax::InfixInTermPosition does X::Syntax
class X::Syntax::Pod::BeginWithoutIdentifier does X::Syntax does X::Pod
class X::Syntax::Pod::BeginWithoutEnd does X::Syntax does X::Pod