A scope contains a set of symbols. It can be an extension of some outer scope, from which it inherits all symbols. This class does not have any methods to add symbols to a scope or to delete them. These methods are provided by subclass MutableScope.
Returns a new mutable scope with the same content as this one.
The denotation set of all the symbols with given name in this scope
Symbols occur in the result in reverse order relative to their occurrence
Ensure that all elements of this scope have been entered.
Overridden by SymbolLoaders.PackageLoader#PackageScope, where it
makes sure that all names with
$'s have been added.
Tests whether a predicate holds for at least one Symbol of this Scope.
Selects all Symbols of this Scope which satisfy a predicate.
The scope that keeps only those symbols from this scope that match the given predicates. If all symbols match, returns the scope itself, otherwise a copy with the matching symbols.
Finds the first Symbol of this Scope satisfying a predicate, if any.
Applies a function f to all Symbols of this Scope.
Is the scope empty?
Return all symbols as an iterator in the order they were entered in this scope.
The last scope-entry from which all others are reachable via
Lookup a symbol
Returns an iterator yielding every symbol with given name in this scope.
Lookup a symbol entry matching given name.
Lookup next entry with same name as this one
The number of outer scopes from which symbols are inherited
The number of symbols in this scope (including inherited ones from outer scopes).
The symbols in this scope in the order they were entered; inherited from outer ones first.
The text representation of this showable element. This normally dispatches to a pattern matching method in Printers.