com.opendatagroup.hadrian

signature

package signature

Visibility
  1. Public
  2. All

Type Members

  1. class IncompatibleTypes extends Exception

    An internal Exception raised when signature matching needs to give up and return false.

  2. class LabelData extends AnyRef

    Used internally to carry information about a label in a wildcard and how well it matches a prospective argument type.

  3. case class Lifespan(birth: Option[PFAVersion], deprecation: Option[PFAVersion], death: Option[PFAVersion], contingency: Option[String]) extends Product with Serializable

    Describes the range of support of a function signature (or, in the future, special form) in terms of an optional beginning of life (birth), and optional deprecation and end of life (death).

  4. case class PFAVersion(major: Int, minor: Int, release: Int) extends Ordered[PFAVersion] with Product with Serializable

    Describes a PFA (the language) version number as a triple of major number, minor number, release number (all non-negative integers).

  5. trait Pattern extends AnyRef

    Trait for a type pattern.

  6. case class Sig(params: Seq[(String, Pattern)], ret: Pattern, lifespan: Lifespan = ...) extends Signature with Product with Serializable

    PFA function signature for a single pattern.

  7. trait Signature extends AnyRef

    Abstract trait for function signatures.

  8. case class Sigs(cases: Seq[Sig]) extends Signature with Product with Serializable

    PFA function signature for ad-hoc polymorphism (list of different signatures supported by the function).

Value Members

  1. object LabelData

  2. object P

  3. object PFAVersion extends Serializable

  4. object toHTML extends (Pattern) ⇒ String

    Render a pattern as HTML.

  5. object toLaTeX extends (Pattern) ⇒ String

    Render a pattern as LaTeX.

  6. object toText extends (Pattern) ⇒ String

    Render a pattern as human-readable text.

Ungrouped