minigrace
Version:
A compiler for the Grace programming language
291 lines • 695 kB
JavaScript
let gracecode_collections_sourceFile = "/Users/black/Development/mg/gracelang/minigrace/collections.grace";
let gracecode_collections_sha256 = "0707e298624d2dff9170f9da044d61d65f065a815a3c4563d7f33ae6d362a0c5";
let gracecode_collections_minigraceRevision = "b57591d29fc5ee5270d114920bf671367b8c3ecb";
let gracecode_collections_minigraceGeneration = "5171";
if (typeof gctCache !== "undefined")
gctCache["collections"] = "dialect:\nfreshScopes:\n $104 trait\n $105 trait\n $106 trait\n $107 trait\n $108 trait\n $109 trait\n $111 trait\n $112 trait\n $113 trait\n $114 trait\n $115 trait\n $116 trait\n $117\n $119\n $121\n $123 trait\n $124 trait\n $125 trait\n $126 trait\n $127\n $128\n $129\n $130\n $131\n $132\n $133\n $134\n $135\n $136\n $137\n $139\n $140\nmethodTypes:$104:\n ++(other:Collection\u27e6T\u27e7) \u2192 Enumerable\u27e6T\u27e7\n do(block1:Procedure1\u27e6T\u27e7) \u2192 Done\n fold\u27e6R\u27e7(block2:Unknown)startingWith(initial:Unknown) \u2192 R\n keysAndValuesDo(block2:Procedure2\u27e6Number, T\u27e7) \u2192 Done\n sorted \u2192 List\u27e6T\u27e7\n sortedBy(sortBlock:Function2) \u2192 List\u27e6T\u27e7\n values \u2192 Collection\u27e6T\u27e7\nmethodTypes:$105:\n filter(selectionCondition:Predicate1\u27e6T\u27e7) \u2192 Enumerable\u27e6T\u27e7\nmethodTypes:$108:\n indexOf(sought:T) \u2192 Unknown\n indexOf(sought:T)ifAbsent(action:Function0\u27e6Unknown\u27e7) \u2192 Unknown\n keysAndValuesDo(action:Procedure2\u27e6Number, T\u27e7) \u2192 Done\nmethodTypes:$110:\n dictionary\u27e6K, T\u27e7(initialBindings:Collection\u27e6Binding\u27e6K, T\u27e7\u27e7) \u2192 Unknown\n iteratorConcat\u27e6T\u27e7(left:Iterator\u27e6T\u27e7, right:Iterator\u27e6T\u27e7) \u2192 Unknown\n iteratorOver\u27e6T\u27e7(sourceIterator:Iterator\u27e6T\u27e7)filteredBy(predicate:Predicate1\u27e6T\u27e7) \u2192 Iterator\u27e6T\u27e7\n lazyConcatenation\u27e6T\u27e7(left:Unknown, right:Unknown) \u2192 Enumerable\u27e6T\u27e7\n lazySequenceOver\u27e6T\u27e7(source:Collection\u27e6T\u27e7)filteredBy(predicate:Predicate1\u27e6T\u27e7) \u2192 Enumerable\u27e6T\u27e7\n list\u27e6T\u27e7(a:Collection\u27e6T\u27e7) \u2192 List\u27e6T\u27e7\n set\u27e6T\u27e7 \u2192 CollectionFactory\u27e6T\u27e7\n set\u27e6T\u27e7(initialContents:Collection\u27e6T\u27e7) \u2192 Set\u27e6T\u27e7\nmethodTypes:$115:\n with(x:T) \u2192 Unknown\n withAll(arg:Collection\u27e6T\u27e7) \u2192 Unknown\nmethodTypes:$116:\n empty \u2192 List\u27e6T\u27e7\n with(x:T) \u2192 List\u27e6T\u27e7\n withAll(xs:Unknown) \u2192 List\u27e6T\u27e7\nmethodTypes:$117:\n ++(o:Collection\u27e6T\u27e7) \u2192 Unknown\n add(x:T) \u2192 Unknown\n insert(elt:T)at(n:Unknown) \u2192 Unknown\n remove(elt:T) \u2192 Unknown\n remove(elt:T)ifAbsent(action:Procedure0) \u2192 Unknown\n removeAll(vs:Collection\u27e6T\u27e7) \u2192 Unknown\n removeAll(vs:Collection\u27e6T\u27e7)ifAbsent(action:Procedure0) \u2192 Unknown\n sortBy(sortBlock:Function2) \u2192 Unknown\n sortedBy(sortBlock:Function2) \u2192 Unknown\nmethodTypes:$118:\n with(x:T) \u2192 Unknown\n withAll(a:Collection\u27e6T\u27e7) \u2192 Unknown\nmethodTypes:$119:\n ++(other:Collection\u27e6T\u27e7) \u2192 Unknown\n --(other:Collection\u27e6T\u27e7) \u2192 Unknown\n add(x:T) \u2192 Unknown\n isSubset(s2:Set\u27e6T\u27e7) \u2192 Unknown\n isSuperset(s2:Collection\u27e6T\u27e7) \u2192 Unknown\n remove(elt:T) \u2192 Unknown\n remove(elt:T)ifAbsent(action:Procedure0\u27e6T\u27e7) \u2192 Unknown\n removeAll(elements:Unknown)ifAbsent(action:Procedure0\u27e6T\u27e7) \u2192 Unknown\nmethodTypes:$120:\n <<(source:Collection\u27e6Binding\u27e6K, T\u27e7\u27e7) \u2192 Unknown\n withAll(initial:Collection\u27e6Binding\u27e6K, T\u27e7\u27e7) \u2192 Unknown\nmethodTypes:$121:\n ++(other:Collection\u27e6T\u27e7) \u2192 Unknown\n --(other:Collection\u27e6T\u27e7) \u2192 Unknown\nmethodTypes:$122:\n from(upper:Unknown)downTo(lower:Unknown) \u2192 Sequence\u27e6Number\u27e7\nmethodTypes:$133:\n ++(other:Collection\u27e6Number\u27e7) \u2192 Unknown\n asDebugString \u2192 String\n asString \u2192 String\n at(ix:Number) \u2192 Unknown\n at(ix:Number)ifAbsent(action:Unknown) \u2192 Unknown\n contains(elem:Unknown) \u2192 Boolean\n iterator \u2192 Iterator\nmethodTypes:$134:\n ++(other:Collection\u27e6Number\u27e7) \u2192 Unknown\n asDebugString \u2192 String\n asString \u2192 String\n at(ix:Number) \u2192 Unknown\n at(ix:Number)ifAbsent(action:Unknown) \u2192 Unknown\n contains(elem:Unknown) \u2192 Boolean\nmodules:\n basicTypesBundle\n equalityBundle\n intrinsic\npath:\n /Users/black/Development/mg/gracelang/minigrace/collections.grace\nscope:$104:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (req) $scopeUniv required\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$105:\n <<(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (req) $scopeUniv required\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\nscope:$106:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\nscope:$107:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\nscope:$108:\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n at(1) Unknown (req) $scopeUniv required\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n fifth Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n fourth Unknown (mth) $scope_done\n hash Unknown (mth) $scope_done\n indexOf(1) Unknown (mth) $scope_done\n indexOf(1)ifAbsent(1) Unknown (mth) $scope_done\n indices Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (req) $scopeUniv required\n keysAndValuesDo(1) Done (mth) $scope_done\n last Unknown (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n second Unknown (mth) $scope_done\n size Unknown (req) $scopeUniv required\n sizeIfUnknown(1) Unknown (mth) $scope_done\n third Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$109:\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (req) $scopeUniv\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n hash Unknown (req) $scopeUniv\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$110:\n Binding type\n Boolean type\n BoundsError Unknown (def) $scope_done public\n Collection type\n CollectionFactory type\n ComparableToDictionary type\n ConcurrentModification Unknown (def) $scope_done public\n Dictionary type\n DictionaryFactory type\n Done type\n Enumerable type\n EqualityObject type\n ExceptionKind type\n ExceptionPacket type\n Function0 type\n Function1 type\n Function2 type\n Function3 type\n Interface type\n Iterator type\n IteratorExhausted Unknown (def) $scope_done public\n List type\n MinimalyIterable type\n NoSuchObject Unknown (def) $scope_done public\n None type\n Number type\n Object type\n Pattern type\n Point type\n Predicate0 type\n Predicate1 type\n Predicate2 type\n Predicate3 type\n Procedure0 type\n Procedure1 type\n Procedure2 type\n Procedure3 type\n ProgrammingError Unknown (def) $scope_done public\n RequestError Unknown (def) $scope_done public\n SelfType type\n Sequence type\n Sequenceable type\n Set type\n Signature type\n Sink type\n SizeUnknown Unknown (def) $scope_done public\n String type\n SubobjectResponsibility Unknown (def) $scope_done public\n Type type\n abstract Unknown (mth) $scope_done\n annotation Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n binding Unknown (mth) $123\n collection Unknown (mth) $105\n confidential Unknown (mth) $scope_done\n dictionary Unknown (mth) $120\n dictionary(1) Unknown (mth) $121\n emptyJSMap Unknown (mth) $scope_done confidential\n enumerable Unknown (mth) $104\n equality Unknown (mth) $109\n hashAndCombine(2) Unknown (mth) $scope_done\n identityEquality Unknown (mth) $124\n indexable Unknown (mth) $108\n isEqual(1)toCollection(1) Unknown (mth) $scope_done confidential\n isMe(1) Boolean (go) $scope_boolean\n iteratorConcat(2) Unknown (mth) $113\n iteratorOver(1)filteredBy(1) Iterator (mth) $107\n iteratorOver(1)mappedBy(1) Unknown (mth) $106\n lazyConcatenation(2) Enumerable (mth) $114\n lazySequenceOver(1)filteredBy(1) Enumerable (mth) $112\n lazySequenceOver(1)mappedBy(1) Unknown (mth) $111\n list Unknown (mth) $116\n list(1) List (mth) $117\n max(2) Unknown (mth) $scope_done confidential\n myIdentityHash Number (go) $scope_number\n override Unknown (mth) $scope_done\n public Unknown (mth) $scope_done\n range Unknown (def) $122 public\n readable Unknown (mth) $scope_done\n required Unknown (mth) $scope_done\n sequence Unknown (mth) $115\n sequence(1) Unknown (mth) $scope_done\n set CollectionFactory (mth) $118\n set(1) Set (mth) $119\n while(1)do(1) Unknown (mth) $scope_done\n writable Unknown (mth) $scope_done\nscope:$111:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $125\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$112:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $126\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$113:\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\nscope:$114:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $scope_done\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$115:\n <<(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n empty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n with(1) Unknown (mth) $scope_done\n withAll(1) Unknown (mth) $scope_done\nscope:$116:\n <<(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n empty List (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n with(1) List (mth) $scope_done\n withAll(1) List (mth) $scope_done\nscope:$117:\n ++(1) Unknown (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n add(1) Unknown (mth) $scope_done\n addAll(1) Unknown (mth) $scope_done\n addAllFirst(1) Unknown (mth) $scope_done\n addFirst(1) Unknown (mth) $scope_done\n addLast(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n at(1) Unknown (mth) $scope_done\n at(1)ifAbsent(1) Unknown (mth) $scope_done\n at(1)put(1) Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n clear Unknown (mth) $scope_done\n contains(1) Unknown (mth) $scope_done\n copy Unknown (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n fifth Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n fourth Unknown (mth) $scope_done\n hash Unknown (mth) $scope_done\n indexOf(1) Unknown (mth) $scope_done\n indexOf(1)ifAbsent(1) Unknown (mth) $scope_done\n indices Unknown (mth) $scope_done\n insert(1)at(1) Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $127\n keys Unknown (mth) $scope_done\n keysAndValuesDo(1) Done (mth) $scope_done\n last Unknown (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n mods Unknown (var) $scopeEmpty\n mods:=(1) Unknown (var) $scopeEmpty\n myIdentityHash Number (go) $scope_number\n pop Unknown (mth) $scope_done\n push(1) Unknown (mth) $scope_done\n remove(1) Unknown (mth) $scope_done\n remove(1)ifAbsent(1) Unknown (mth) $scope_done\n removeAll(1) Unknown (mth) $scope_done\n removeAll(1)ifAbsent(1) Unknown (mth) $scope_done\n removeAt(1) Unknown (mth) $scope_done\n removeFirst Unknown (mth) $scope_done\n removeLast Unknown (mth) $scope_done\n reverse Unknown (mth) $scope_done\n reversed Unknown (mth) $scope_done\n second Unknown (mth) $scope_done\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sort Unknown (mth) $scope_done\n sortBy(1) Unknown (mth) $scope_done\n sorted Unknown (mth) $scope_done\n sortedBy(1) Unknown (mth) $scope_done\n third Unknown (mth) $scope_done\n values Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$118:\n <<(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n empty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n with(1) Unknown (mth) $scope_done\n withAll(1) Unknown (mth) $scope_done\nscope:$119:\n **(1) Unknown (mth) $scope_done\n ++(1) Unknown (mth) $scope_done\n --(1) Unknown (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n add(1) Unknown (mth) $scope_done\n addAll(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n allocated Unknown (mth) $scope_done confidential\n anySatisfy(1) Unknown (mth) $scope_done\n anyone Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n asStringWithRemovals Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n clear Unknown (mth) $scope_done\n contains(1) Unknown (mth) $scope_done\n copy Unknown (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n find(1)ifNone(1) Unknown (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n hash Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isSubset(1) Unknown (mth) $scope_done\n isSuperset(1) Unknown (mth) $scope_done\n iterator Unknown (mth) $128\n map(1) Unknown (mth) $scope_done\n mods Unknown (var) $scopeEmpty\n mods:=(1) Unknown (var) $scopeEmpty\n myIdentityHash Number (go) $scope_number\n rehash Unknown (mth) $scope_done confidential\n remove(1) Unknown (mth) $scope_done\n remove(1)ifAbsent(1) Unknown (mth) $scope_done\n removeAll(1) Unknown (mth) $scope_done\n removeAll(1)ifAbsent(1) Unknown (mth) $scope_done\n size Unknown (var) $scopeEmpty readable\n size:=(1) Unknown (var) $scopeEmpty readable\n sizeIfUnknown(1) Unknown (mth) $scope_done\n table Unknown (var) $scopeEmpty\n table:=(1) Unknown (var) $scopeEmpty\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$120:\n <<(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n empty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n with(1) Unknown (mth) $scope_done\n withAll(1) Unknown (mth) $scope_done\nscope:$121:\n ++(1) Unknown (mth) $scope_done\n --(1) Unknown (mth) $scope_done\n <<(1) Unknown (mth) $scope_done override\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done override\n add(1) Unknown (mth) $scope_done\n addAll(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n at(1) Unknown (mth) $scope_done\n at(1)ifAbsent(1) Unknown (mth) $scope_done\n at(1)put(1) Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n bindings Unknown (mth) $131\n bindingsIterator Unknown (mth) $132\n clear Unknown (mth) $scope_done\n contains(1) Unknown (mth) $scope_done\n containsKey(1) Unknown (mth) $scope_done\n containsValue(1) Unknown (mth) $scope_done\n copy Unknown (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $scope_done\n keys Unknown (mth) $129\n keysAndValuesDo(1) Unknown (mth) $scope_done\n keysDo(1) Unknown (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n mods Unknown (var) $scopeEmpty readable\n mods:=(1) Unknown (var) $scopeEmpty readable\n myIdentityHash Number (go) $scope_number\n numBindings Unknown (var) $scopeEmpty\n numBindings:=(1) Unknown (var) $scopeEmpty\n rehash Unknown (mth) $scope_done confidential\n removeAllKeys(1) Unknown (mth) $scope_done\n removeAllValues(1) Unknown (mth) $scope_done\n removeKey(1) Unknown (mth) $scope_done\n removeKey(1)ifAbsent(1) Unknown (mth) $scope_done\n removeValue(1) Unknown (mth) $scope_done\n removeValue(1)ifAbsent(1) Unknown (mth) $scope_done\n size Unknown (mth) $scope_done\n sizeIfUnknown(1) Unknown (mth) $scope_done\n table Unknown (var) $scopeEmpty\n table:=(1) Unknown (var) $scopeEmpty\n values Unknown (mth) $130\n valuesDo(1) Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$122:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n from(1)downTo(1) Sequence (mth) $134\n from(1)to(1) Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n uncheckedFrom(1)to(1) Unknown (mth) $133\nscope:$123:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n key(1)value(1) Unknown (mth) $135\n myIdentityHash Number (go) $scope_number\nscope:$124:\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$125:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\nscope:$126:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\nscope:$127:\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n iMods Unknown (def) $scopeEmpty\n idx Unknown (var) $scopeEmpty\n idx:=(1) Unknown (var) $scopeEmpty\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\nscope:$128:\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n count Unknown (var) $scopeEmpty\n count:=(1) Unknown (var) $scopeEmpty\n hasNext Unknown (mth) $scope_done\n iMods Unknown (def) $scopeEmpty\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n underlyingSet Unknown (def) $119\nscope:$129:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $136\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (def) $scope_done public\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$130:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $137\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (def) $scope_done public\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$131:\n ++(1) Enumerable (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Unknown (mth) $scope_done\n do(1) Done (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) R (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $scope_done\n keysAndValuesDo(1) Done (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n size Unknown (def) $scope_done public\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted List (mth) $scope_done\n sortedBy(1) List (mth) $scope_done\n values Collection (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$132:\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n count Unknown (var) $scopeEmpty\n count:=(1) Unknown (var) $scopeEmpty\n hasNext Unknown (mth) $scope_done\n iMods Unknown (def) $scopeEmpty\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n subjectDictionary Unknown (def) $121\nscope:$133:\n ++(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (mth) $scope_done\n asString String (mth) $scope_done\n at(1) Unknown (mth) $scope_done\n at(1)ifAbsent(1) Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Boolean (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n fifth Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n fourth Unknown (mth) $scope_done\n hash Unknown (mth) $scope_done\n indexOf(1) Unknown (mth) $scope_done\n indexOf(1)ifAbsent(1) Unknown (mth) $scope_done\n indices Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Iterator (mth) $139\n keys Unknown (mth) $scope_done\n keysAndValuesDo(1) Unknown (mth) $scope_done\n last Unknown (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reversed Unknown (mth) $scope_done\n second Unknown (mth) $scope_done\n size Unknown (def) $138 public\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted Unknown (mth) $scope_done\n sortedBy(1) Unknown (mth) $scope_done\n start Unknown (def) $scopeEmpty\n stop Unknown (def) $scopeEmpty\n third Unknown (mth) $scope_done\n values Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$134:\n ++(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n <<(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n >>(1) Unknown (mth) $scope_done\n allSatisfy(1) Unknown (mth) $scope_done\n anySatisfy(1) Unknown (mth) $scope_done\n asDebugString String (mth) $scope_done\n asString String (mth) $scope_done\n at(1) Unknown (mth) $scope_done\n at(1)ifAbsent(1) Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n contains(1) Boolean (mth) $scope_done\n do(1) Unknown (mth) $scope_done\n do(1)separatedBy(1) Unknown (mth) $scope_done\n fifth Unknown (mth) $scope_done\n filter(1) Enumerable (mth) $scope_done\n first Unknown (mth) $scope_done\n fold(1)startingWith(1) Unknown (mth) $scope_done\n fourth Unknown (mth) $scope_done\n hash Unknown (mth) $scope_done\n indexOf(1) Unknown (mth) $scope_done\n indexOf(1)ifAbsent(1) Unknown (mth) $scope_done\n indices Unknown (mth) $scope_done\n isEmpty Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n iterator Unknown (mth) $140\n keys Unknown (mth) $scope_done\n keysAndValuesDo(1) Unknown (mth) $scope_done\n last Unknown (mth) $scope_done\n map(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reversed Unknown (mth) $scope_done\n second Unknown (mth) $scope_done\n size Unknown (def) $138 public\n sizeIfUnknown(1) Unknown (mth) $scope_done\n sorted Unknown (mth) $scope_done\n sortedBy(1) Unknown (mth) $scope_done\n start Unknown (def) $scopeEmpty\n stop Unknown (def) $scopeEmpty\n third Unknown (mth) $scope_done\n values Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$135:\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n key Unknown (def) $scopeEmpty\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n value Unknown (def) $scopeEmpty\n \u2260(1) Unknown (mth) $scope_done\nscope:$136:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n sourceIterator Unknown (def) $132\nscope:$137:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n sourceIterator Unknown (def) $132\nscope:$138:\nscope:$139:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n val Unknown (var) $scopeEmpty\n val:=(1) Unknown (var) $scopeEmpty\nscope:$140:\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hasNext Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n next Unknown (mth) $scope_done\n val Unknown (var) $scopeEmpty\n val:=(1) Unknown (var) $scopeEmpty\nself:\n $110\ntypedec:$110.ComparableToDictionary:\n type ComparableToDictionary\u27e6K, T\u27e7 = interface {\n size \u2192 Number\n at(_:K)ifAbsent(_) \u2192 T}\ntypedec:$110.Dictionary:\n type Dictionary\u27e6K, T\u27e7 = Collection\u27e6T\u27e7 & interface {\n size \u2192 Number\n containsKey(k:K) \u2192 Boolean\n containsValue(v:T) \u2192 Boolean\n contains(elem:T) \u2192 Boolean\n at(key:K)ifAbsent(action:Function0\u27e6Unknown\u27e7) \u2192 Unknown\n at(key:K)put(value:T) \u2192 Dictionary\u27e6K, T\u27e7\n at(k:K) \u2192 T\n removeAllKeys(keys:Collection\u27e6K\u27e7) \u2192 Dictionary\u27e6K, T\u27e7\n removeKey(key:K) \u2192 Dictionary\u27e6K, T\u27e7\n removeAllValues(values:Collection\u27e6T\u27e7) \u2192 Dictionary\u27e6K, T\u27e7\n removeValue(v:T) \u2192 Dictionary\u27e6K, T\u27e7\n clear \u2192 Dictionary\u27e6K, T\u27e7\n keys \u2192 Enumerable\u27e6K\u27e7\n values \u2192 Enumerable\u27e6T\u27e7\n bindings \u2192 Enumerable\u27e6Binding\u27e6K, T\u27e7\u27e7\n keysAndValuesDo(action:Procedure2\u27e6K, T\u27e7) \u2192 Done\n keysDo(action:Procedure1\u27e6K\u27e7) \u2192 Done\n valuesDo(action:Procedure1\u27e6T\u27e7) \u2192 Done\n ==(other:Object) \u2192 Boolean\n copy \u2192 Dictionary\u27e6K, T\u27e7\n ++(other:Dictionary\u27e6K, T\u27e7) \u2192 Dictionary\u27e6K, T\u27e7\n --(other:Dictionary\u27e6K, T\u27e7) \u2192 Dictionary\u27e6K, T\u27e7}\ntypedec:$110.DictionaryFactory:\n type DictionaryFactory\u27e6K, T\u27e7 = interface {\n empty \u2192 Dictionary\u27e6K, T\u27e7\n with(b:Binding\u27e6K, T\u27e7) \u2192 Dictionary\u27e6K, T\u27e7\n withAll(bs:Binding\u27e6K, T\u27e7) \u2192 Dictionary\u27e6K, T\u27e7\n <<(bs:Binding\u27e6K, T\u27e7) \u2192 Dictionary\u27e6K, T\u27e7}\ntypedec:$110.List:\n type List\u27e6T\u27e7 = Sequenceable\u27e6T\u27e7 & interface {\n add(x:T) \u2192 List\u27e6T\u27e7\n addAll(xs:Collection\u27e6T\u27e7) \u2192 List\u27e6T\u27e7\n addFirst(x:T) \u2192 List\u27e6T\u27e7\n addAllFirst(xs:Collection\u27e6T\u27e7) \u2192 List\u27e6T\u27e7\n addLast(x:T) \u2192 List\u27e6T\u27e7\n at(ix:Number)put(v:T) \u2192 List\u27e6T\u27e7\n clear \u2192 List\u27e6T\u27e7\n removeFirst \u2192 T\n removeAt(n:Number) \u2192 T\n removeLast \u2192 T\n remove(v:T)\n remove(v:T)ifAbsent(action:Procedure0)\n removeAll(vs:Collection\u27e6T\u27e7)\n removeAll(vs:Collection\u27e6T\u27e7)ifAbsent(action:Procedure0)\n insert(elt:T)at(n:Number) \u2192 List\u27e6T\u27e7\n pop \u2192 T\n ++(o:List\u27e6T\u27e7) \u2192 List\u27e6T\u27e7\n copy \u2192 List\u27e6T\u27e7\n sort \u2192 List\u27e6T\u27e7\n sortBy(sortBlock:Function2\u27e6T, T, Number\u27e7) \u2192 List\u27e6T\u27e7\n reverse \u2192 List\u27e6T\u27e7\n reversed \u2192 List\u27e6T\u27e7}\ntypedec:$110.MinimalyIterable:\n type MinimalyIterable = interface {\n iterator \u2192 Iterator}\ntypedec:$110.Set:\n type Set\u27e6T\u27e7 = Collection\u27e6T\u27e7 & interface {\n size \u2192 Number\n add(x:T) \u2192 SelfType\n addAll(elements:Collection\u27e6T\u27e7) \u2192 SelfType\n remove(x:T) \u2192 Set\u27e6T\u27e7\n remove(x:T)ifAbsent(block:Procedure0) \u2192 Set\u27e6T\u27e7\n clear \u2192 Set\u27e6T\u27e7\n anyone \u2192 T\n find(booleanBlock:Predicate1\u27e6T\u27e7)ifNone(notFoundBlock:Function0\u27e6T\u27e7) \u2192 T\n copy \u2192 Set\u27e6T\u27e7\n contains(elem:T) \u2192 Boolean\n **(other:Set\u27e6T\u27e7) \u2192 Set\u27e6T\u27e7\n --(other:Set\u27e6T\u27e7) \u2192 Set\u27e6T\u27e7\n ++(other:Set\u27e6T\u27e7) \u2192 Set\u27e6T\u27e7\n isSubset(s2:Set\u27e6T\u27e7) \u2192 Boolean\n isSuperset(s2:Collection\u27e6T\u27e7) \u2192 Boolean\n removeAll(elems:Collection\u27e6T\u27e7)\n removeAll(elems:Collection\u27e6T\u27e7)ifAbsent(action:Procedure0) \u2192 Set\u27e6T\u27e7}\ntypes:\n $110.ComparableToDictionary\n $110.Dictionary\n $110.DictionaryFactory\n $110.List\n $110.MinimalyIterable\n $110.Set\n";
if (typeof originalSourceLines !== "undefined") {
originalSourceLines["collections"] = [
"dialect \"none\"",
"import \"intrinsic\" as intrinsic",
"import \"basicTypesBundle\" as basicTypesBundle",
"import \"equalityBundle\" as equalityBundle",
"",
"use intrinsic.controlStructures",
"use basicTypesBundle.open",
"use intrinsic.annotations",
"use equalityBundle.open",
"",
"def intrinsicConstants = intrinsic.constants",
"def primitiveArray = intrinsicConstants.primitiveArray",
"def Exception = intrinsicConstants.Exception",
"",
"def BoundsError is public = intrinsicConstants.BoundsError",
"def ProgrammingError is public = intrinsicConstants.ProgrammingError",
"def IteratorExhausted is public = ProgrammingError.refine \"IteratorExhausted\"",
"def SubobjectResponsibility is public = ProgrammingError.refine \"SubobjectResponsibility\"",
"def NoSuchObject is public = ProgrammingError.refine \"NoSuchObject\"",
"def RequestError is public = ProgrammingError.refine \"RequestError\"",
"def ConcurrentModification is public = ProgrammingError.refine \"ConcurrentModification\"",
"def SizeUnknown is public = Exception.refine \"SizeUnknown\"",
"",
"type MinimalyIterable = interface {",
" iterator -> Iterator",
"}",
"",
"method isEqual(left) toCollection(right) is confidential {",
" // a confidential helper method, also used from gracelib",
" if (MinimalyIterable.matches(right)) then {",
" def leftIter = left.iterator",
" def rightIter = right.iterator",
" while {leftIter.hasNext && rightIter.hasNext} do {",
" if (leftIter.next != rightIter.next) then {",
" return false",
" }",
" }",
" leftIter.hasNext == rightIter.hasNext",
" } else {",
" false",
" }",
"}",
"",
"type List⟦T⟧ = Sequenceable⟦T⟧ & interface {",
" add(x: T) -> List⟦T⟧",
" addAll(xs: Collection⟦T⟧) -> List⟦T⟧",
" addFirst(x: T) -> List⟦T⟧",
" addAllFirst(xs: Collection⟦T⟧) -> List⟦T⟧",
" addLast(x: T) -> List⟦T⟧ // same as add",
" at(ix:Number) put(v:T) -> List⟦T⟧",
" clear -> List⟦T⟧",
" removeFirst -> T",
" removeAt(n: Number) -> T",
" removeLast -> T",
" remove(v:T)",
" remove(v:T) ifAbsent(action:Procedure0)",
" removeAll(vs: Collection⟦T⟧)",
" removeAll(vs: Collection⟦T⟧) ifAbsent(action:Procedure0)",
" insert(elt:T)at(n:Number) -> List⟦T⟧",
" pop -> T",
" ++(o: List⟦T⟧) -> List⟦T⟧",
" copy -> List⟦T⟧",
" sort -> List⟦T⟧",
" sortBy(sortBlock:Function2⟦T,T,Number⟧) -> List⟦T⟧",
" reverse -> List⟦T⟧",
" reversed -> List⟦T⟧",
"}",
"",
"type Set⟦T⟧ = Collection⟦T⟧ & interface {",
" size -> Number",
" add(x:T) -> SelfType",
" addAll(elements: Collection⟦T⟧) -> SelfType",
" remove(x: T) -> Set⟦T⟧",
" remove(x: T) ifAbsent(block: Procedure0) -> Set⟦T⟧",
" clear -> Set⟦T⟧",
" anyone -> T",
" find(booleanBlock: Predicate1⟦T⟧) ifNone(notFoundBlock: Function0⟦T⟧) -> T",
" copy -> Set⟦T⟧",
" contains(elem:T) -> Boolean",
" ** (other:Set⟦T⟧) -> Set⟦T⟧",
" -- (other:Set⟦T⟧) -> Set⟦T⟧",
" ++ (other:Set⟦T⟧) -> Set⟦T⟧",
" isSubset(s2: Set⟦T⟧) -> Boolean",
" isSuperset(s2: Collection⟦T⟧) -> Boolean",
" removeAll(elems: Collection⟦T⟧)",
" removeAll(elems: Collection⟦T⟧)ifAbsent(action:Procedure0) -> Set⟦T⟧",
"}",
"",
"type Dictionary⟦K,T⟧ = Collection⟦T⟧ & interface {",
" size -> Number",
" containsKey(k:K) -> Boolean",
" containsValue(v:T) -> Boolean",
" contains(elem:T) -> Boolean",
" at(key:K)ifAbsent(action:Function0⟦Unknown⟧) -> Unknown",
" at(key:K)put(value:T) -> Dictionary⟦K,T⟧",
" at(k:K) -> T",
" removeAllKeys(keys: Collection⟦K⟧) -> Dictionary⟦K,T⟧",
" removeKey(key:K) -> Dictionary⟦K,T⟧",
" removeAllValues(values: Collection⟦T⟧) -> Dictionary⟦K,T⟧",
" removeValue(v:T) -> Dictionary⟦K,T⟧",
" clear -> Dictionary⟦K,T⟧",
" keys -> Enumerable⟦K⟧",
" values -> Enumerable⟦T⟧",
" bindings -> Enumerable⟦Binding⟦K,T⟧⟧",
" keysAndValuesDo(action:Procedure2⟦K,T⟧) -> Done",
" keysDo(action:Procedure1⟦K⟧) -> Done",
" valuesDo(action:Procedure1⟦T⟧) -> Done",
" == (other:Object) -> Boolean",
" copy -> Dictionary⟦K,T⟧",
" ++ (other:Dictionary⟦K, T⟧) -> Dictionary⟦K, T⟧",
" -- (other:Dictionary⟦K, T⟧) -> Dictionary⟦K, T⟧",
"}",
"",
"type DictionaryFactory⟦K,T⟧ = interface {",
" empty -> Dictionary⟦K,T⟧",
" // an empty dictionary",
"",
" with(b:Binding⟦K,T⟧) -> Dictionary⟦K,T⟧",
" // a dictionary containing single mapping from b.key to b.value",
"",
" withAll(bs:Binding⟦K,T⟧) -> Dictionary⟦K,T⟧",
" // a dictionary containing a mapping for each binding in bs",
"",
" <<(bs:Binding⟦K,T⟧) -> Dictionary⟦K,T⟧",
" // identical to withAll(_)",
"}",
"",
"trait iteratorOver⟦T,R⟧ (sourceIterator) mappedBy (function) {",
" // declaring types causes a circularity",
" // (sourceIterator: Iterator⟦T⟧) mappedBy (function:Function1⟦T, R⟧) -> Iterator⟦R⟧ {",
" method asString { \"a mapped iterator over {sourceIterator}\" }",
" method hasNext { sourceIterator.hasNext }",
" method next { function.apply(sourceIterator.next) }",
"}",
"",
"class lazySequenceOver⟦T,R⟧ (source) mappedBy (function) {",
" // declaring types causes a circularity",
" // (source: Collection⟦T⟧) mappedBy (function:Function1⟦T, R⟧) -> Enumerable⟦R⟧ {",
" use enumerable⟦T⟧",
" class iterator {",
" use iteratorOver⟦T,R⟧ (source.iterator) mappedBy (function)",
" }",
" method size { source.size }",
" method isEmpty { source.isEmpty }",
" method asDebugString { \"a lazy sequence mapping over {source}\" }",
"}",
"",
"method iteratorOver⟦T⟧ (sourceIterator: Iterator⟦T⟧)",
" filteredBy(predicate:Predicate1⟦T⟧) -> Iterator⟦T⟧ {",
" // returns a trait that supplies the iteration protocol",
"",
" var cache",
" var cacheLoaded := false",
" object {",
" use intrinsic.controlStructures",
" method asString { \"a filtered iterator over {sourceIterator}\" }",
" method hasNext {",
" // To determine if this iterator has a next element, we have to find",
" // an acceptable element; this is then cached, for the use of next",
" // If I return true, the cache is loaded.",
" if (cacheLoaded) then { return true }",
" while { sourceIterator.hasNext } do {",
" def outerNext = sourceIterator.next",
" def isAcceptable = predicate.apply(outerNext)",
" if (isAcceptable) then {",
" cacheLoaded := true",
" cache := outerNext",
" return true",
" }",
" }",
" return false",
" }",
" method next {",
" if (hasNext) then {",
" cacheLoaded := false",
" return cache",
" } else {",
" IteratorExhausted.raise \"no more elements in {self}\"",
" }",
" }",
" }",
"}",
"",
"class lazySequenceOver⟦T⟧ (source: Collection⟦T⟧)",
" filteredBy(predicate:Predicate1⟦T⟧) -> Enumerable⟦T⟧ {",
" use enumerable⟦T⟧",
" class iterator {",
" use iteratorOver⟦T⟧ (source.iterator) filteredBy (predicate)",
" }",
" method asDebugString { \"a lazy sequence filtering {source}\" }",
"}",
"",
"class iteratorConcat⟦T⟧(left:Iterator⟦T⟧, right:Iterator⟦T⟧) {",
" method next {",
" if (left.hasNext) then {",
" left.next",
" } else {",
" right.next",
" }",
" }",
" method hasNext {",
" if (left.hasNext) then { return true }",
" return right.hasNext",
" }",
" method asDebugString { \"iteratorConcat of {left} and {right}\" }",
" method asString { \"an iterator over a concatenation\" }",
"}",
"class lazyConcatenation⟦T⟧(left, right) -> Enumerable⟦T⟧{",
" use enumerable⟦T⟧",
" method iterator {",
" iteratorConcat(left.iterator, right.iterator)",
" }",
" method asDebugString { \"lazy concatenation of {left} and {right}\" }",
" method size { left.size + right.size } // may raise SizeUnknown",
"}",
"",
"trait collection⟦T⟧ {",
" use intrinsic.controlStructures",
" method asString { \"a collection trait\" }",
" method sizeIfUnknown(action) {",
" // override if size is known",
" action.apply",
" }",
" method size {",
" sizeIfUnknown {",
" SizeUnknown.raise \"collection {asDebugString} does not know its size\"",
" }",
" }",
" method do(action) { // can be overridden for efficiency",
" def iter = self.iterator",
" while {iter.hasNext} do { action.apply(iter.next) }",
" }",
" method contains(element) {",
" do { each -> if (each == element) then { return true } }",
" return false",
" }",
" method anySatisfy(booleanBlock) {",
" do { each ->",
" if (booleanBlock.apply(each)) then { return true }",
" }",
" false",
" }",
" method allSatisfy(booleanBlock) {",
" do { each ->",
" if (booleanBlock.apply(each).not) then { return false }",
" }",
" true",
" }",
" method iterator is required",
" method isEmpty {",
" // override if size is known",
" iterator.hasNext.not",
" }",
" method first {",
" def iter = iterator",
" if (iter.hasNext) then {",
" iter.next",
" } else {",
" BoundsError.raise \"no first element in {self}\"",
" }",
" }",
" method do(block1) separatedBy(block0) {",
" var firstTime := true",
" do { each ->",
" if (firstTime) then {",
" firstTime := false",
" } else {",
" block0.apply",
" }",
" block1.apply(each)",
" }",
" }",
" method fold(blk)startingWith(initial) {",
" var result := initial",
" do {each ->",
" result := blk.apply(result, each)",
" }",
" return result",
" }",
" method map⟦R⟧ (block1) {",
" // declaring types causes a circularity",
" // (block1:Function1⟦T, R⟧) -> Enumerable⟦R⟧ {",
"