Packages

  • package root
    Definition Classes
    root
  • package info
    Definition Classes
    root
  • package kwarc
    Definition Classes
    info
  • package mmt
    Definition Classes
    kwarc
  • package api

    This is the main package of the MMT API.

    This is the main package of the MMT API.

    It holds subpackages for all data structures, data containers, and the central algorithms and services.

    Classes directly defined in the package

    Some minor classes that are used throughout MMT are defined in this package, in particular:

    • MMT URIs in the class Path and Namespace
    • processing and content errors in the class Error

    The package also contains root classes for certain types that are subclassed throughout the package. Most importantly:

    • StructuralElement: structure-level (= named) parts in the data structures for the MMT language: documents, theories, constants, ...
    • MMTTask: tasks for a single object: parsing, checking, ...
    • Rule: object-level part of the MMT language that is written in Scala

    Subpackages

    Data structures for the MMT language

    The data structures for the MMT languages are defined in 4 packages corresponding to the 4 levels: - documents: Documents and all other NarrativeElements - modules: Modules (= the toplevel declarations), in particular Theorys and Views - symbols: all Declarations inside modules, in particular Constants - objects: all anonymous Objects (e.g., formulas, functions, etc.), in particular Contexts and Terms

    The former 3 levels are jointly called 'structural' levels. All elements subclass StructuralElement, have an MMT URI, and carry an MMT URI referring to their parent in the MMT abstract syntax tree.

    Structural elements are extensible (via DerivedModules and DerivedDeclarations), and the package patterns defines declaration patterns as a built-in extension.

    All structural elements are mutable and implement the ContainerElement interface for changing their children. Objects, by contrast, are represented as immutable inductive types.(except for carrying metadata.Metadata and objects.ClientProperties). The boundary between structural elements and objects is mediated by ComponentContainers: these are mutable, owned by structural elements, and maintain objects.

    A few auxiliary data structures shifted to separate packages: - opaque: external (i.e., informal, computation) content - informal: partially outdated informal data structures - metadata: metadata annotations to all structural elements or objects

    The MMT main class and its internal state

    The package frontend contains the class Controller, which owns all state relevant for running MMT. Typically, each application creates a single instance of this class. The package also defines several other essential classes, most importantly MMT's extension (=plug-in, add-on) interfaces via the Extension class.

    The package libraries maintains the instances of MMT language data structures, in particular the Library class. Controller owns a Library, which stores all structural elements that have been loaded into memory.

    User interfaces

    The package frontend also contains the main executable classes, in particular the Shell class.

    The package gui collects all classes for building graphical user interfaces. This includes auxiliary classes for use in IDE plugins.

    The package web collects all classes for the HTTP interface of MMT.

    Physical storage of the MMT language files

    The package archives defines MMT Archives (= projects) as well as classes for building and working with archives. The latter include in particular the BuildManager and BuildTarget. Build targets include Importers and [Exporter]]s that translate between MMT and other formats.

    The package backend defines classes for maintaining archives and translating between the MMT URIs of structural elements and their physical storage locations.

    The central algorithms for processing MMT content

    The processing model of MMT consists of several major algorithms. - parser: read strings into MMT data structures - checking: check and refine MMT data structures - uom: pure computation on MMT data structures - proving: theorem proving on MMT data structures (in very early state)) - execution: imperative computation (in very, very early state) - presentation: rendering MMT data structures in user-facing formats (including HTML+presentation MathML)

    All algorithms are defined in Extensions coupled with default implementations. Moreover, all algorithms are split into two separate levels, one for structural elements and objects. See LeveledExtension.

    The package notations maintains the common code for parsing and presentation.

    The package valuebases maintains mathematical databases as a part of MMT.

    Other algorithms on the MMT data structures

    The package ontology contains a relational, semantic web-style ontology and query engine for it.

    The package moc contains change management.

    The package refactoring contains refactoring principles.

    General purpose utility functions

    The package utils defines general purpose APIs for files, URIs, HTML building, etc.

    Definition Classes
    mmt
  • package symbols

    MMT Declarations are the elements of Modules.

    MMT Declarations are the elements of Modules. The kinds of declarations are documented at Declaration.

    ObjContainer are owned by structural elements, in particular by declarations, to store objects.

    Definition Classes
    api
  • ApplyMorphism
  • ApplyMorphismLazy
  • ApplySubs
  • BoundTheoryParameters
  • Constant
  • ConstantAssignment
  • ContextContainer
  • Declaration
  • DefLinkAssignment
  • DerivedContentElement
  • DerivedDeclaration
  • DerivedModule
  • Elaboration
  • FinalConstant
  • GeneralStructuralFeature
  • GenerativePushout
  • HasDefiniens
  • HasNotation
  • HasType
  • IdentityInclude
  • IdentityTranslator
  • Include
  • IncludeData
  • IncludeLike
  • LazyConstant
  • LinkInclude
  • ModuleLevelFeature
  • NestedModule
  • OMLReplacer
  • OMSReplacer
  • ObjContainer
  • ObjDimension
  • ParametricTheoryLike
  • PlainInclude
  • Renamer
  • RuleConstant
  • RuleConstantInterpreter
  • RuleConstantParser
  • SimpleDeclaredStructure
  • SimpleLazyConstant
  • SimpleStructure
  • StructuralFeature
  • StructuralFeatureRule
  • StructuralFeatureUtil
  • Structure
  • TermContainer
  • TheoryLike
  • Translator
  • TraversingTranslator
  • TypedConstantLike
  • TypedParametricTheoryLike
  • UniformTranslator
  • UnnamedUntyped
  • Untyped
  • Visibility

class TermContainer extends ObjContainer[Term] with AbstractTermContainer

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TermContainer
  2. AbstractTermContainer
  3. ObjContainer
  4. AbstractObjectContainer
  5. ComponentContainer
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TermContainer()

Type Members

  1. type ThisType = TermContainer
    Definition Classes
    TermContainerObjContainer

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def analyzed: Option[Term]

    the analyzed representation after type and argument reconstruction (if non-dirty)

    the analyzed representation after type and argument reconstruction (if non-dirty)

    Definition Classes
    ObjContainer
  5. def analyzed_=(t: Term): Boolean
    Definition Classes
    ObjContainer
  6. def analyzed_=(t: Option[Term]): Boolean

    setter for the analyzed representation

    setter for the analyzed representation

    Definition Classes
    ObjContainer
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def checkNeeded: Boolean

    true if the analyzed part is dirty or a previous check did not succeed

  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  10. def copy: ThisType

    creates a deep copy of this container, dirty parts are dropped

    creates a deep copy of this container, dirty parts are dropped

    Definition Classes
    ObjContainer
  11. def delete: Unit

    delete this component

    delete this component

    Definition Classes
    ObjContainerComponentContainer
  12. lazy val dependsOn: HashSet[CPath]

    stores the set of components that analysis depended on

    stores the set of components that analysis depended on

    Definition Classes
    ObjContainer
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def equivalentTo(that: ComponentContainer): Boolean

    true if two containers have the same content

    true if two containers have the same content

    Definition Classes
    ComponentContainer
  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def get: Option[Term]

    getter for the best available non-dirty representation: analyzed or parsed

    getter for the best available non-dirty representation: analyzed or parsed

    Definition Classes
    ObjContainerAbstractObjectContainer
  18. def getAnalyzedIfFullyChecked: Option[Term]

    returns the analyzed term if it has been successfully and completely checked

    returns the analyzed term if it has been successfully and completely checked

    Definition Classes
    TermContainerObjContainer
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. def hasSameType(oc: ObjContainer[_]): Boolean

    checks if a container stores objects of the same type

    checks if a container stores objects of the same type

    Attributes
    protected
    Definition Classes
    TermContainerObjContainer
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  22. def isAnalyzedDirty: Boolean

    true if the term must be (re)analyzed

    true if the term must be (re)analyzed

    Definition Classes
    ObjContainer
  23. def isDefined: Boolean

    true if any dimension is present, i.e., if the component is present

    true if any dimension is present, i.e., if the component is present

    Definition Classes
    ObjContainerComponentContainer
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. def isParsedDirty: Boolean

    true if the term must still be (re)parsed

    true if the term must still be (re)parsed

    Definition Classes
    ObjContainer
  26. def lastChangeAnalyzed: Long

    time of the last change

    time of the last change

    Definition Classes
    ObjContainer
  27. def lastChangeParsed: Long

    time of the last change

    time of the last change

    Definition Classes
    ObjContainer
  28. def map(f: (Term) ⇒ Term): TermContainer

    applies a function to the contained Term and returns a new TermContainer

  29. def merge(that: ThisType): ThisType
    Definition Classes
    ObjContainer
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. def newEmpty: TermContainer

    creates a new empty container for the same type

    creates a new empty container for the same type

    Attributes
    protected
    Definition Classes
    TermContainerObjContainer
  32. def normalize(normFun: (Term) ⇒ Term): Unit

    sets the normalized representation (if not already set) using a normalization function Because normalization is need-based, this should be called, if possible, before accessing the normalized representation.

    sets the normalized representation (if not already set) using a normalization function Because normalization is need-based, this should be called, if possible, before accessing the normalized representation.

    Definition Classes
    ObjContainer
  33. def normalized: Option[Term]

    the normalized representation after type and argument reconstruction (if non-dirty)

    the normalized representation after type and argument reconstruction (if non-dirty)

    This is not always computed, and even if it is, it is not returned by default by the get method. It is intended for optimizations where the normalized form of a Term would otherwise have to be recomputed.

    Definition Classes
    ObjContainer
  34. def normalized_=(t: Option[Term]): Boolean

    setter for the normalized representation

    setter for the normalized representation

    Definition Classes
    ObjContainer
  35. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  36. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  37. def parsed: Option[Term]

    the parsed representation without further analysis (if non-dirty)

    the parsed representation without further analysis (if non-dirty)

    Definition Classes
    ObjContainer
  38. def parsed_=(t: Term): Unit
    Definition Classes
    ObjContainer
  39. def parsed_=(t: Option[Term]): Boolean

    setter for the parsed representation without further analysis

    setter for the parsed representation without further analysis

    Definition Classes
    ObjContainer
  40. def read: Option[String]

    the unparsed string representation

    the unparsed string representation

    Definition Classes
    ObjContainer
  41. def read_=(s: String): Unit
    Definition Classes
    ObjContainer
  42. def read_=(s: Option[String]): Boolean

    setter for the unparsed string representation

    setter for the unparsed string representation

    Definition Classes
    ObjContainer
  43. def set(t: Term): Unit

    clears the contents of this component and sets it to a new value

    clears the contents of this component and sets it to a new value

    Definition Classes
    ObjContainer
  44. def setAnalyzedDirty: Unit

    marks this term for re-analysis

    marks this term for re-analysis

    Definition Classes
    ObjContainer
  45. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    ObjContainer → AnyRef → Any
  47. def update(tc: ComponentContainer): Boolean

    copies over the non-dirty components of another TermContainer dependent dimensions that are not part of tc become dirty

    copies over the non-dirty components of another TermContainer dependent dimensions that are not part of tc become dirty

    returns

    true if a change took place

    Definition Classes
    ObjContainerComponentContainer
  48. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AbstractTermContainer

Inherited from ObjContainer[Term]

Inherited from AbstractObjectContainer

Inherited from ComponentContainer

Inherited from AnyRef

Inherited from Any

Ungrouped