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 archives

    This package holds all classes related to MMT Archives (= project).

    This package holds all classes related to MMT Archives (= project).

    The BuildManager allows defining BuildTargets to run on archives, including in particular Importers and Exporters.

    Most archives are stored in hub of git repositories such as and MathHub or GitHub. Such hubs are represented by the class LMHHub, which allows for cloning, etc. archives.

    The list of currently open archives (from which MMT will load content if needed) is maintained by the backend.Backend.

    Definition Classes
    api
  • package backend

    This package maintains the interface between MMT content in persistent physical storage and MMT content loaded into memory.

    This package maintains the interface between MMT content in persistent physical storage and MMT content loaded into memory.

    The class Storage is the interface for individual physical storage containers. Most of the time this corresponds to a folder containing an archives.Archive.

    Content is usually stored in OMDoc XML format, which is parsed by the XMLStreamer.

    The class Backend maintains the registered storages and performs conversion between logical MMT URIs and physical locations.

    The frontend.Controller owns an instance of Backend. Any referenced MMT URI is lazily and transparently loaded from the backend into memory and unloaded if MMT runs out of memory.

    Definition Classes
    api
  • package checking

    The algorithm for checking MMT content.

    The algorithm for checking MMT content. See api for an overview of the algorithms.

    The main interfaces are - Checker: the main interface for checkers (combining a structure and an object checker) - StructureChecker: checking structural elements - ObjectChecker: checking objects

    The main implementations are - MMTStructureChecker for structural elements - RuleBasedChecker for objects

    The latter creates a Solver for each judgment, which perform type reconstruction.

    Structure checking is not extensible except through DerivedElements. Object checking is extensible through Rules.

    Definition Classes
    api
  • package documents

    NarrativeElements are all elements that do not have a semantics of their own.

    NarrativeElements are all elements that do not have a semantics of their own.

    The most important case are Documents. Inside, documents a few other other documents may occur.

    Definition Classes
    api
  • package execution

    The algorithm for imperatively executing MMT content.

    The algorithm for imperatively executing MMT content. This is currently very young and immature.

    See api for an overview of the algorithms.

    Definition Classes
    api
  • package frontend

    This package defines several central classes: - Controller is the main MMT class.

    This package defines several central classes: - Controller is the main MMT class. - Shell is the main executable (which will create one controller). - MMTConfig is the MMT configuration data structure. A controller maintains one configuration. - Extension is the addon/plugin interface of MMT. Every extension has access to one controller instance. - Report handles logging, and every instance of Logger has access to a report instance.

    Definition Classes
    api
  • package gui

    GUIPanel and [GUIFrame]] maintain a swing-based graphical interface to the frontend.Controller and its children.

    GUIPanel and [GUIFrame]] maintain a swing-based graphical interface to the frontend.Controller and its children.

    Definition Classes
    api
  • package informal
    Definition Classes
    api
  • package libraries

    Library maintains the structural elements that have been loaded into memory.

    Library maintains the structural elements that have been loaded into memory. That includes the theory diagram and all documents.

    ImplicitGraph maintains the commutative sub-diagram of implicit morphisms.

    Definition Classes
    api
  • package metadata

    MetaDatum is the stateless class that represents metadata items.

    MetaDatum is the stateless class that represents metadata items.

    MetaData statefully maintains a set of MetaDatums.

    Elements that have metadata inherit from HasMetaData.

    Linker and Tagger make setting and getting metadata easier.

    Definition Classes
    api
  • package moc

    Change is the main class statelessly representing differences/changes.

    Change is the main class statelessly representing differences/changes.

    Differ is a differ for MMT data structures.

    Definition Classes
    api
  • package modules

    MMT Modules, i.e., Theorys and Views.

    MMT Modules, i.e., Theorys and Views.

    Link unifies Views and symbols.Structures, the two kinds of atomic theory morphisms.

    ModuleOrLink unifies the two. That class defines most of the state of a module, in particular the body.

    Definition Classes
    api
  • package notations

    This package maintains the common data structures for parsing and presentation.

    This package maintains the common data structures for parsing and presentation.

    TextNotation is the main notation class. It is similar to MMT objects, in particular it is stateless.

    NotationContainer statefully maintains the notations assigned to a declaration. These are owned by StructuralElements to carry notations, akin to how they carry type/definition.

    Definition Classes
    api
  • package objects

    MMT objects are

    MMT objects are

    AnonymousDiagram, AnonymousTheory, and AnonymousMorphism represent anonymous counterparts to libraries.Library modules.Module}.

    This package also contains various auxiliary classes: - Position defines paths within objects - SubstitutionApplier is the main interface for substitution strategies. - Matcher is a simple matcher.

    Definition Classes
    api
  • package ontology

    This package contains a relational ontology and a query engine for it.

    This package contains a relational ontology and a query engine for it.

    The main classes are: - RelationalElement defines the concepts and relation of the ontology (TBox) - RelationalManager extracts the ABox from MMT content - RelStore maintains the model of the ontology (ABox) - RelationGraphExporter allows exporting the ABox as a graph. - Query defines a query language for the ontology - Evaluator implements the query language for a given ABox. - Search maintains classes for faceted search, in particular the facet for MathWebSearch.

    Definition Classes
    api
  • package opaque

    Informal or unknown content that MMT does not process.

    Informal or unknown content that MMT does not process. The main classes are - OpaqueElement: such content - OpaqueElementInterpreter the abstract interface for extensions that interpret it

    Definition Classes
    api
  • package parser

    The algorithm for parsing MMT content (strings to MMT data structures).

    The algorithm for parsing MMT content (strings to MMT data structures). See api for an overview of the algorithms.

    The main interfaces are - Parser: the main interface for parser (combining a structure and an object parser) - StructureParser: parsing structural elements - ObjectParser: parsing objects

    The main implementations are - KeywordBasedParser for structural elements in .mmt files - NotationBasedParser for objects

    The latter creates a Scanner for each string, which applies notations to parse user-defined mixifx syntax.

    Structure parsing is extensible using ParserExtensions. Object parsing is extensible using notations or LexerExtensions.

    Definition Classes
    api
  • package patterns

    Declaration patterns in the sense of Horozal's PhD thesis, realized as two special cases of structural features: - Pattern for the patterns (elaborates to nothing) - Instance for the instances of patterns (elaborates by looking up the pattern)

    Declaration patterns in the sense of Horozal's PhD thesis, realized as two special cases of structural features: - Pattern for the patterns (elaborates to nothing) - Instance for the instances of patterns (elaborates by looking up the pattern)

    Definition Classes
    api
  • package presentation

    The algorithm for presenting MMT content (data structures to user-facing formats).

    The algorithm for presenting MMT content (data structures to user-facing formats). See api for an overview of the algorithms.

    The main interfaces are - Presenter: the main interface for parser (combining a structure and an object parser) - StructurePresenter: presenting structural elements - ObjectPresenter: presenting objects

    The main implementations are (in each case for structural elements and objects) - for OMDoc XML: OMDocPresenter resp. OpenMathPresenter - for plain strings (using the toString methods): TextPresenter resp. ObjectTextPresenter - for nice human-oriented strings: MMTStructurePresenter resp. NotationBasedParser - for HTML: HTMLPresenter resp. MathMLPresenter

    Definition Classes
    api
  • package proving

    The algorithm for proving theorems about MMT content.

    The algorithm for proving theorems about MMT content. This is very premature and experimental.

    See api for an overview of the algorithms.

    The main interfaces are - Prover: object level proving

    Structure level proving does not exist yet.

    The main implementations are - RuleBasedProver for object-level proving

    The latter creates a Searcher for each proving task, which applies search rules to find MMT objects.

    Definition Classes
    api
  • package refactoring
    Definition Classes
    api
  • 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
  • package uom

    The algorithm for immutably computing with MMT content, i.e., simplification (strings to MMT data structures).

    Simplification

    The algorithm for immutably computing with MMT content, i.e., simplification (strings to MMT data structures). See api for an overview of the algorithms.

    The main interfaces are - Simplifier: the main interface for parser (combining a structure and an object simplifier) - StructureSimplifier: simplifying structural elements - ObjectSimplifier: simplifying objects

    The main implementations are - ElaborationBasedSimplifier for structural elements - RuleBasedSimplifier for objects

    Structure simplification is extensible using derived elements. Object simplification is extensible using rules.

    Literals and semantic objects

    This package also contains the classes for using Scala objects as MMT literals.

    SemanticType defines types as sets of Scala objects. SemanticValue defines a distinguished element of such a type. SemanitcOperator defines functions on such types as Scala functions.

    Literals and operations on them are injected into the MMT language by declaring RealizedValue, RealizedType and RealizedOperator rules, which tie a syntactic type/operator (i.e., an MMT term) to a semantic counterpart.

    StandardLiterals defines semantic types for the most important types.

    RealizedTheory represents an MMT theory programmed in Scala, usually as a Scala class.

    Scala companion objects for MMT theories

    TheoryScala and ConstantScala are auxiliary classes that are useful when implementing MMT rules or other logic-specific algorithms.

    Definition Classes
    api
  • package utils

    This package defines various MMT-independent high-level APIs.

    This package defines various MMT-independent high-level APIs. Various basic functions are declared directly in this package object in order to be easily available.

    Most other files in this package are self-contained and independent of the rest of MMT and each other. We describe them in groups below.

    Data structures*

    - Union disjoint union of Scala types - MyList extensions of Scala's lists (via implicit conversions) - HashRelation, HashMapToSet, and HashEquality: hash-related data structures for - While while loops that allow for break and continue

    General purpose utilities

    - Killable tasks that can be notified that they should be canceled. In particular, MMTTasks can be aborted without risking an inconsistent state. - Unparsed for simple parsing of strings - ScalaTo serialization helpers for Scala objects - ValueCache factory methods that introduce structure sharing by resuing previous pointers - XMLToScala framework for conveniently turning a set of case classes into an XML parser for the corresponding schema

    Wrappers for low-level APIs

    MMT provides various APIs that extend or simplify APIs provided Java or Scala: - File file paths and interacting with files - URI URIs - xml various helper function for working with XML and dereferencing URLs (not really a wrapper but fits best here) - ShellCommand commands executed on the system shell

    APIs for external languages

    - Dot the dot languages for graph layouting - JSON the JSON language - HTML API for building HTML pages programmatically

    Definition Classes
    api
  • package time
  • A
  • AccessibleCompanion
  • AccessibleCompanionCollection
  • AnaArgs
  • AnyType
  • B
  • BSD
  • BacktrackableExtractError
  • BooleanType
  • Bracket
  • BracketPair
  • C
  • Ca
  • CanonicalForm
  • Cb
  • Cc
  • Cd
  • Ce
  • CompParser
  • CompRegexParsers
  • ComplexHashSet
  • Compress
  • ConcatNestable
  • ConcreteBaseType
  • ConcreteType
  • ConsNestable
  • ConverterNotApplicable
  • DotEdge
  • DotError
  • DotGraph
  • DotNode
  • DotObject
  • DotToSVG
  • EmptyList
  • EmptyNestable
  • EmptyPath
  • Escape
  • Escaping
  • ExtractError
  • FatalExtractError
  • Field
  • FieldWiseScalaTo
  • File
  • FileNameEscaping
  • FilePath
  • FileURI
  • FloatType
  • G
  • Group
  • H
  • HTML
  • HTMLBuilder
  • HTMLFileWriter
  • HashEquality
  • HashMapToOrderedSet
  • HashMapToSet
  • HashRelation
  • IncrementalTransitiveClosure
  • IntArg
  • IntType
  • IntVal
  • J
  • JSON
  • JSONArray
  • JSONBoolean
  • JSONConversions
  • JSONConverter
  • JSONFloat
  • JSONFromURL
  • JSONInt
  • JSONListBuffer
  • JSONListParser
  • JSONNull
  • JSONObject
  • JSONObjectBuffer
  • JSONObjectParser
  • JSONString
  • JSONTyping
  • JSONValue
  • JSONXML
  • Javascript
  • KillButton
  • Killable
  • LazySerialization
  • LazySerializationStore
  • Left
  • Linux
  • ListType
  • ListWrapper
  • ListWrapperCompanion
  • MMTJavascript
  • MMTSystem
  • MMT_TODO
  • MacOS
  • MyList
  • NOSuchKey
  • NestableList
  • NoArg
  • NoVal
  • NullType
  • NumericString
  • OS
  • OpenMath
  • OptIntArg
  • OptionArgument
  • OptionDescr
  • OptionType
  • OptionValue
  • ProbablyUnix
  • RecordType
  • ReflTransHashRelation
  • ResultCache
  • Right
  • RunJavaClass
  • ScalaTo
  • ShellCommand
  • SingletonAccessibleCompanion
  • SkipThis
  • Sourceable
  • StandardPrintWriter
  • StandardStringEscaping
  • StringArg
  • StringListArg
  • StringListVal
  • StringMatcher
  • StringMatcher2
  • StringMatcher2Sep
  • StringMatcher3
  • StringSlice
  • StringType
  • StringVal
  • Test
  • Timer
  • TrustAllX509TrustManager
  • TupleType
  • URI
  • URLEscaping
  • Union
  • Unix
  • Unparsed
  • UnparsedParsers
  • ValueCache
  • VectorType
  • While
  • Windows
  • XMLEscaping
  • XMLToScala
  • mmt
  • xml
  • package valuebases

    This package maintains databases of cocnrete mathematical objects.

    This package maintains databases of cocnrete mathematical objects.

    Concrete objects are special MMT Terms that can be represented as concrete database objects (e.g., JSON). The connection between the two is mediated by Codecs and CodecOerator. The codec-based translation is implemented in the Coder.

    Definition Classes
    api
  • package web

    Server maintains the HTTP interface of MMT.

    Server maintains the HTTP interface of MMT. The server is owned by the frontend.Controller.

    It can be customized by ServerExtensions.

    The REPLServer maintains a set of independent REPL loops for MMT content.

    Definition Classes
    api

package utils

This package defines various MMT-independent high-level APIs. Various basic functions are declared directly in this package object in order to be easily available.

Most other files in this package are self-contained and independent of the rest of MMT and each other. We describe them in groups below.

Data structures*

- Union disjoint union of Scala types - MyList extensions of Scala's lists (via implicit conversions) - HashRelation, HashMapToSet, and HashEquality: hash-related data structures for - While while loops that allow for break and continue

General purpose utilities

- Killable tasks that can be notified that they should be canceled. In particular, MMTTasks can be aborted without risking an inconsistent state. - Unparsed for simple parsing of strings - ScalaTo serialization helpers for Scala objects - ValueCache factory methods that introduce structure sharing by resuing previous pointers - XMLToScala framework for conveniently turning a set of case classes into an XML parser for the corresponding schema

Wrappers for low-level APIs

MMT provides various APIs that extend or simplify APIs provided Java or Scala: - File file paths and interacting with files - URI URIs - xml various helper function for working with XML and dereferencing URLs (not really a wrapper but fits best here) - ShellCommand commands executed on the system shell

APIs for external languages

- Dot the dot languages for graph layouting - JSON the JSON language - HTML API for building HTML pages programmatically

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. utils
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class A(a: String, b: Int, c: Boolean, d: B, e: List[B], f: Option[B], g: Option[C], _cs: List[C]) extends Product with Serializable
  2. abstract class AccessibleCompanion[+T] extends AnyRef

    Abstract class to be used as a class for a companion object to be tracked by a AccessibleCompanionCollection

    Abstract class to be used as a class for a companion object to be tracked by a AccessibleCompanionCollection

    T

    class that this is a Companion Object for \

  3. abstract class AccessibleCompanionCollection[T, CompanionType <: AccessibleCompanion[T]] extends AnyRef

    Represents a collection of AccessibleCompanion objects

    Represents a collection of AccessibleCompanion objects

    T

    type of class to store companions for

    CompanionType

    the conrete type of AccessibleCompanions this collection is for

  4. case class B(a: String, _bs: List[B]) extends Product with Serializable
  5. case class BacktrackableExtractError(token: Int, msg: String) extends Exception with Product with Serializable

    thrown on all errors where extraction succeeded but the wrong type was found; these can be backtracked, e.g., if they follow a list

  6. case class Bracket(begin: String, end: String) extends Product with Serializable

    a pair of an open and a closing bracket

  7. case class BracketPair(open: String, close: String, ignore: Boolean) extends Product with Serializable

    a pair of matching brackets, e.g., BracketPair("[","]",false) or BracketPair("//","\n",true)

  8. abstract class C extends AnyRef
  9. case class Ca(a: String) extends C with Product with Serializable
  10. trait CanonicalForm[A] extends AnyRef

    objects that have a canonical form

    objects that have a canonical form

    A

    the type of the objects

  11. case class Cb(_c1: C, _c2: C) extends C with Product with Serializable
  12. case class Cc(a: String, bc: G, d: String) extends C with Product with Serializable
  13. case class Cd(_bs: List[B], _c: Option[C]) extends C with Product with Serializable
  14. case class Ce(_js: List[J], _c: Option[C]) extends C with Product with Serializable
  15. trait CompParser extends AnyRef
  16. trait CompRegexParsers extends CompParser
  17. class ComplexHashSet[H, A] extends Set[A]

    a hash set that uses a complex (possibly infinite) type as hash values

  18. case class ConcatNestable[+A](left: NestableList[A], right: NestableList[A]) extends NestableList[A] with Product with Serializable
  19. abstract class ConcreteBaseType extends ConcreteType
  20. abstract class ConcreteType extends AnyRef
  21. case class ConsNestable[+A](hd: A, tl: NestableList[A]) extends NestableList[A] with Product with Serializable
  22. case class ConverterNotApplicable(json: JSON) extends Exception with Product with Serializable
  23. trait DotEdge extends DotObject

    a node to be used in a DotGraph

  24. case class DotError(m: String) extends Error with Product with Serializable

    thrown by DotToSVG

  25. trait DotGraph extends AnyRef

    a graph that can be converted to SVG by DotToSVG

  26. trait DotNode extends DotObject

    a node to be used in a DotGraph

  27. sealed trait DotObject extends AnyRef
  28. class DotToSVG extends AnyRef

    converts a graph to SVG using the dot tool

  29. case class EmptyNestable[+A]() extends NestableList[A] with Product with Serializable
  30. abstract class Escaping extends AnyRef

    escapes all non-legal characters according to some rules

  31. abstract class ExtractError extends Exception

    thrown on all errors, e.g., when expected classes are not present or XML nodes are not present

  32. case class FatalExtractError(msg: String) extends Exception with Product with Serializable

    default case

  33. case class Field(name: String, value: ScalaTo) extends Product with Serializable

    auxiliary class for FieldsToXML

  34. trait FieldWiseScalaTo extends ScalaTo

    mix in this trait to get add systematic serialization defined by a list of fields

  35. case class File(toJava: java.io.File) extends Product with Serializable

    File wraps around java.io.File to extend it with convenience methods

    File wraps around java.io.File to extend it with convenience methods

    see implicit conversions with java.io.File at the end of this file

  36. case class FilePath(segments: List[String]) extends Product with Serializable

    a relative file path usually within an archive below a dimension

  37. case class G(b: String, h: H) extends Group with Product with Serializable
  38. trait Group extends AnyRef

    a marker for classes representing groups of attributes/children, used by XMLToScala

  39. case class H(c: String) extends Group with Product with Serializable
  40. abstract class HTML extends AnyRef

    a partial implementation of HTML designed for easily building and emitting HTML documents

    a partial implementation of HTML designed for easily building and emitting HTML documents

    see archives.HTMLExporter for a usage example

  41. class HTMLBuilder extends HTML

    collects HTML in a String

  42. class HTMLFileWriter extends HTML

    collects HTML in a file

  43. trait HashEquality[A] extends AnyRef

    adds an equality method that is guarded by equality of cached hashcodes

    adds an equality method that is guarded by equality of cached hashcodes

    This can be mixed into immutable inductive data structures whose values are often tested for equality. Failing equality tests do not traverse the value anymore the first time.

    A

    the type into which this is mixed in (only needed to constrain the type of hasheq)

  44. abstract class HashMapToOrderedSet[A, B] extends HashMap[A, ListBuffer[B]]
  45. class HashMapToSet[A, B] extends HashMap[A, HashSet[B]]

    This implements a relation on A and B as a mutable total map from A to the power set of B.

  46. class HashRelation[A, B] extends AnyRef

    This implements a binary relation between A and B.

    This implements a binary relation between A and B. The entries are hashed twice so that lookups of both image and preimage are efficient.

  47. class IncrementalTransitiveClosure[T] extends AnyRef

    efficiently maintains the transitive closure a changing relation on a type T the generating relation is defined calls to add and delete

    efficiently maintains the transitive closure a changing relation on a type T the generating relation is defined calls to add and delete

    lookup is constant time adding/deleting is linear in the number of paths using the new/deleted edge

  48. case class IntVal(value: Int) extends OptionValue with Product with Serializable
  49. case class J(_b: B, _c: C) extends Group with Product with Serializable
  50. sealed abstract class JSON extends ScalaTo

    straightforward API for JSON objects

  51. case class JSONArray(values: JSON*) extends JSON with Product with Serializable
  52. case class JSONBoolean(value: Boolean) extends JSONValue with Product with Serializable
  53. case class JSONFloat(value: BigDecimal) extends JSONValue with Product with Serializable
  54. case class JSONInt(value: BigInt) extends JSONValue with Product with Serializable
  55. class JSONListBuffer extends AnyRef

    A convenience class to construct JSON Arrays

  56. class JSONListParser extends AnyRef

    A convenience class to parse JSON Arrays

  57. case class JSONObject(map: List[(JSONString, JSON)]) extends JSON with Product with Serializable
  58. class JSONObjectBuffer extends AnyRef

    A convenience class to construct JSON Objects

  59. class JSONObjectParser extends AnyRef

    A convenience class to deconstruct JSON Objects

  60. case class JSONString(value: String) extends JSONValue with Product with Serializable
  61. sealed abstract class JSONValue extends JSON
  62. class KillButton extends AnyRef

    a flag that can be used in multi-threaded applications to signal that processing should be aborted see Killable

  63. trait Killable extends AnyRef

    killable objects have a list of kill button any of which can be pressed to abort processing

    killable objects have a list of kill button any of which can be pressed to abort processing

    objects working with killable objects must regularly check the state of the kill button and abort gracefully if pressed

    multiple killable objects can share the same kill button; when creating a new killable object, it is often necessary to pass along an existing kill button

  64. case class LazySerialization(baseURL: String, id: Int) extends ScalaTo with Product with Serializable

    an object whose lazy serialization can be retrieved from a URL

  65. class LazySerializationStore extends AnyRef

    a class for storing objects that are serialized lazily

  66. case class Left[A, B](value: A) extends Union[A, B] with Product with Serializable
  67. case class ListType(entry: ConcreteType) extends ConcreteType with Product with Serializable
  68. abstract class ListWrapper[A, W <: ListWrapper[A, W]] extends AnyRef

    adds convenience methods to a class that wraps around a list

  69. trait ListWrapperCompanion[A, W <: ListWrapper[A, W]] extends AnyRef

    should be mixed into the companion object of a ListWrapper subclass

  70. class MMT_TODO extends deprecated

    The MMT_TODO class is an alternative to the {{@deprecated}} annotation.

    The MMT_TODO class is an alternative to the {{@deprecated}} annotation. This allows us to mark a part of the code as needing review and/or re-work

  71. case class MyList[A](l: List[A]) extends Product with Serializable

    Wrapper around List to provide some custom extensions

  72. case class NOSuchKey(key: String) extends Exception with Product with Serializable
  73. sealed abstract class NestableList[+A] extends Iterable[A]
  74. abstract class OS extends AnyRef

    type of operating systems as used in OS

  75. sealed abstract class OptionArgument extends AnyRef

    describe the kind of a command line option

  76. case class OptionDescr(long: String, short: String, arg: OptionArgument, description: String) extends Product with Serializable

    a description of one option

  77. case class OptionType(entry: ConcreteType) extends ConcreteType with Product with Serializable
  78. sealed abstract class OptionValue extends AnyRef

    the possible values given by options

  79. case class RecordType(fields: List[(String, ConcreteType)]) extends ConcreteType with Product with Serializable
  80. class ReflTransHashRelation[A] extends HashRelation[A, A]

    This implements the reflexive and transitive closure of a HashRelation[A,A].

    This implements the reflexive and transitive closure of a HashRelation[A,A]. The closure is not maintained and lookups use depth-first search. In particular, the methods += and -= change the underlying relation, not only the closure.

  81. class ResultCache[A, B] extends AnyRef

    An auxiliary trait for introducing tabling a function and introducing structure sharing of result values

    An auxiliary trait for introducing tabling a function and introducing structure sharing of result values

    A

    the input type

    B

    the output type

  82. case class Right[A, B](value: B) extends Union[A, B] with Product with Serializable
  83. trait ScalaTo extends AnyRef

    objects that can be serialized as XML or JSON

  84. trait SingletonAccessibleCompanion[+T <: Singleton] extends AccessibleCompanion[T]

    Represents the companion of a singleton

  85. class StandardPrintWriter extends OutputStreamWriter

    MMT's default way to write to files; uses buffering, UTF-8, and \n

  86. case class StringListVal(value: List[String]) extends OptionValue with Product with Serializable
  87. class StringMatcher extends AnyRef

    matches S1 in "before S1 after"

  88. class StringMatcher2 extends AnyRef

    matches S1, S2 in "before S1 middle S2 after"

    matches S1, S2 in "before S1 middle S2 after"

    first occurrence of 'middle' after 'before' is used if ambiguous

  89. class StringMatcher2Sep extends AnyRef

    matches S1, ..., Sn in "before S1 sep ...

    matches S1, ..., Sn in "before S1 sep ... sep Sn after"

  90. class StringMatcher3 extends AnyRef

    matches S1, S2, S3 in "before S1 middle1 S2 middle2 S3 after"

    matches S1, S2, S3 in "before S1 middle1 S2 middle2 S3 after"

    first occurrence of 'middle1' after 'before' and 'middle2' after 'middle1' is used if ambiguous

  91. case class StringSlice(s: String, from: Int, to: Int) extends CharSequence with Product with Serializable

    helper class for working with substrings without copying (standard Java substring method creates a copy)

  92. case class StringVal(value: String) extends OptionValue with Product with Serializable
  93. class Timer extends AnyRef

    allows timing of operations

  94. class TrustAllX509TrustManager extends X509TrustManager

    a trust manager that does nothing

  95. case class TupleType(entries: List[ConcreteType]) extends ConcreteType with Product with Serializable
  96. case class URI(scheme: Option[String], authority: Option[String], path: List[String] = Nil, abs: Boolean = false, query: Option[String] = None, fragment: Option[String] = None) extends Product with Serializable

    Custom implementation of the URI RFC that's better than java.net.URI

    Custom implementation of the URI RFC that's better than java.net.URI

    abs

    true if the path is absolute (ignored if scheme or authority are present)

  97. sealed abstract class Union[A, B] extends AnyRef

    disjoint union of two types

  98. abstract class Unix extends OS
  99. class Unparsed extends Reader[Char]

    \n, \r, and \r\n are read as \n

  100. trait UnparsedParsers extends RegexParsers with PackratParsers
  101. class ValueCache[A <: AnyRef] extends AnyRef

    An auxiliary trait for introducing structure sharing of values the most recent values are cached, if a new value is in the cache, it is discarded and replaced with the cached one

    An auxiliary trait for introducing structure sharing of values the most recent values are cached, if a new value is in the cache, it is discarded and replaced with the cached one

    A

    the type values to cache

  102. case class VectorType(entry: ConcreteType, length: Int) extends ConcreteType with Product with Serializable
  103. class XMLToScala extends AnyRef

    This class uses Scala reflection to parse XML into user-defined case classes.

    This class uses Scala reflection to parse XML into user-defined case classes.

    The effect is that the classes encode the XML grammar, and the parser picks the corresponding class for each XML tag. This is kind of the opposite of generating a parser, where the grammar is fixed and the classes are generated.

  104. trait JSONConverter[T] extends AnyRef

    A class to quickly convert objects between Scala and JSON

    A class to quickly convert objects between Scala and JSON

    Annotations
    @MMT_TODO( message = ... )
    Deprecated

    this is unused, but is kept to be unified with ScalaTo in a future refactor

Value Members

  1. def associate[A](l: List[A], unit: A)(comp: (A, A) ⇒ A): A

    variant of fold such that associate(List(a), unit)(comp) = a instead of comp(unit, a)

  2. def charAt(s: String, i: Int): Option[Char]
  3. def diff[A](l: Seq[A], m: Seq[A]): Seq[A]

    difference of two lists

  4. def disjoint[A](l: Seq[A], m: Seq[A]): Boolean

    disjointness of two lists (fast if first argument is empty)

  5. def downcast[A, B <: A](cls: Class[B])(a: A): Option[B]

    a cast function that allows only casting into a subtype and returns None if the cast fails

  6. def firstDefined[T](alternatives: (Unit) ⇒ Option[T]*): Option[T]

    calls a list of functions in order and finds the first defined one or None

  7. implicit def fromList[A](l: List[A]): MyList[A]

    implicit conversion into lists with extra functionality

  8. def hasDuplicates[A](l: Iterable[A]): Boolean

    checks if a list has duplicates

  9. def histogram[T1, T2](lst: Seq[T1], pf: PartialFunction[T1, T2]): Seq[(T2, Int)]

    returns a histogram of pf over lst, i.e.

    returns a histogram of pf over lst, i.e. counts how often each return value occurs

  10. def insertSep[A](l: List[A], sep: A): List[A]

    inserts a separator element in between all elements of a list

  11. def inter[A](l: Seq[A], m: Seq[A]): Seq[A]

    intersection of two lists

  12. def invlistmap[A, B](l: Iterable[(A, B)], b: B): Option[A]

    applies a list of pairs seen as the inverse of a map

  13. def listToString[A](l: Iterable[A], sep: String): String

    turns a list into a string by inserting a separator

  14. def listmap[A, B](l: Iterable[(A, B)], a: A): Option[B]

    applies a list of pairs seen as a map

  15. def mapInContext[A, B](l: Iterable[A])(f: (List[(A, B)], A) ⇒ B): List[B]

    like map, but the map function knows what previous values produced

  16. def moduloLength(s: String, i: Int): Int

    string index modulo string length

  17. def readFullStream(is: InputStream): String

    slurps an entire stream into a string

  18. def repeatString(s: String, n: Int, sep: String = ""): String

    repeats a strings a number of times, optionally with a separator

  19. def splitAtWhitespace(s: String): List[String]

    splits a string at whitespace, quoted segments may contain whitespace, \" for quote, ignores leading/trailing whitespace

  20. def stringToInt(s: String): Option[Int]

    converts a string to an integer, returns None on format exception

  21. def stringToList(s: String, sep: String = "\\s"): List[String]

    splits a string at a separator (returns Nil for the empty string)

  22. def subset[A](l: Seq[A], m: Seq[A]): Boolean

    subset property of two lists (seen as sets) (fast if first argument is empty)

  23. def substringFrom(s: String, from: Int, length: Int): String

    substring of a string given by begin and length, negative index allowed

  24. def substringFromTo(s: String, from: Int, to: Int): String

    substring of a string given by begin and end, negative indices allowed

  25. object AnaArgs

    function for parsing command line arguments

  26. object AnyType extends ConcreteType with Product with Serializable
  27. object BSD extends Unix with Product with Serializable
  28. object BooleanType extends ConcreteBaseType with Product with Serializable
  29. object Compress

    wrappers for streams that allow toggling compressions

  30. object ConcreteType
  31. object EmptyList extends Exception with Product with Serializable
  32. object EmptyPath extends FilePath
  33. object Escape
  34. object FieldWiseScalaTo

    serializable trees

  35. object File extends Serializable

    This defines some very useful methods to interact with text files at a high abstraction level.

  36. object FileNameEscaping extends Escaping

    escapes a string into one that is a legal file name on Windows and Unix

  37. object FilePath extends Serializable
  38. object FileURI

    Constructs and pattern-matches absolute file:URIs in terms of absolute File's.

  39. object FloatType extends ConcreteBaseType with Product with Serializable
  40. object HTML
  41. object IntArg extends OptionArgument with Product with Serializable

    expect an integer argument

  42. object IntType extends ConcreteBaseType with Product with Serializable
  43. object JSON
  44. object JSONArray extends Serializable
  45. object JSONConversions
  46. object JSONConverter
  47. object JSONFromURL

    retrieve JSON from a URL

  48. object JSONNull extends JSON with Product with Serializable
  49. object JSONObject extends Serializable
  50. object JSONObjectBuffer
  51. object JSONTyping

    tuple and vector types are inhabited by arrays, but arrays are never infered as such

  52. object JSONXML

    converts between XML and JSON following the jsonML specification

  53. object Javascript

    a simple API for generating Javascript expressions

  54. object Linux extends Unix with Product with Serializable
  55. object MMTJavascript
  56. object MMTSystem
  57. object MacOS extends Unix with Product with Serializable
  58. object MyList extends Serializable
  59. object NoArg extends OptionArgument with Product with Serializable

    just a flag

  60. object NoVal extends OptionValue with Product with Serializable
  61. object NullType extends ConcreteType with Product with Serializable
  62. object NumericString

    matches a string as an integer

  63. object OS

    abstractions for OS-specific behavior

  64. object OpenMath
  65. object OptIntArg extends OptionArgument with Product with Serializable

    expect an optional integer argument that must not be given as a separate argument

  66. object ProbablyUnix extends Unix with Product with Serializable
  67. object RunJavaClass
  68. object ScalaTo

    implicit conversions to add XML serializations for typical types

  69. object ShellCommand
  70. object SkipThis extends Throwable
  71. object Sourceable
  72. object StandardStringEscaping extends Escaping
  73. object StringArg extends OptionArgument with Product with Serializable
  74. object StringListArg extends OptionArgument with Product with Serializable

    collect multiple values

  75. object StringMatcher

    simpler version of the StringMatcher classes using regexes, but without apply methods

  76. object StringSlice extends Serializable
  77. object StringType extends ConcreteBaseType with Product with Serializable
  78. object Test
  79. object TrustAllX509TrustManager

    Some sites use certificates that are not trusted by the JRE by default.

    Some sites use certificates that are not trusted by the JRE by default. The clean solution would be to add the appropriate certificates either to the local Java keystore directory or at runtime. As a quick hack, this code simply disables all default certificate checking.

  80. object URI extends Serializable
  81. object URLEscaping extends Escaping

    escapes a string using the %-escapes for URLs

  82. object While

    while loops with break and continue

  83. object Windows extends OS with Product with Serializable
  84. object XMLEscaping extends Escaping

    escapes a string using the &-escapes of XML for <>&"

  85. object XMLToScala
  86. object mmt
  87. object xml

Inherited from AnyRef

Inherited from Any

Ungrouped