Packages

package babel

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class BabelExporter extends PrettyPrinter

    Exports lambda expressions in the Babel format.

    Exports lambda expressions in the Babel format. You probably do not want to use this class, use one of expression.toString, .toSigRelativeString, or .toAsciiString instead. These are all implemented using this class.

    This exporter is implemented using the pretty-printing library included in Kiama.

  2. sealed abstract class BabelParseError extends IllegalArgumentException
  3. case class BabelParsingError (parseError: Failure) extends BabelParseError with Product with Serializable
  4. abstract class BabelSignature extends AnyRef

    A signature for the Babel parser.

    A signature for the Babel parser. This class decides whether a free identifier is a variable or a constant.

  5. case class BabelUnificationError (reason: String) extends BabelParseError with Product with Serializable
  6. case class MapBabelSignature (map: Map[String, Ty]) extends BabelSignature with Product with Serializable

    A signature based on a map: The identifiers for which the map is defined are constants, the rest are variables.

    A signature based on a map: The identifiers for which the map is defined are constants, the rest are variables.

    map

    A map from strings to types.

Value Members

  1. object BabelLexical
  2. object BabelParser
  3. object BabelParserCombinators
  4. object BabelSignature

    Contains various methods for generating signatures.

  5. object MapBabelSignature extends Serializable
  6. object ast

    Intermediate representation for expressions parsed by Babel.

    Intermediate representation for expressions parsed by Babel.

    This representation is intended to be as simple as possible, all higher-level constructs (such as <-> or ∀) are already desugared into simply-typed lambda terms.

    It differs from the "real" lambda calculus in at.logic.gapt.expr in three major ways:

    1. There are type meta-variables.
    2. There are type annotations.
    3. Free variables, bound variables, and constants are not distinguished; they are all stored as "identifiers".

Ungrouped