Packages

case class TorsoForm(torso: Term, apps: List[Appendage]) extends HashEquality[TorsoForm] with Product with Serializable

The torso form of a term is named akin to the head normal forms.

For example, OMA(h1, OMA(h2, tr, ext2), ext1) is in torso form with tr as the torso and (h1,ext1) and (h2,ext2) as Appendages that are attached to the torso.

Its torso normal form is TorsoNormalForm(c, Appendage(h1, ext1) :: Appendage(h2, ext2) :: Nil)

The point of the torso normal form is understood by considering a type theory, whose constructor are paired into introduction and elimination operators. Then the torso form is a useful representation for a series h1, h2, ... of eliminators applied to a term (the torso). The torso is either atomic or a sequence of introductors. In the latter case, a reduction rule (e.g., beta) can be applied, which eventually yields an atomic torso.

For example, OMA(@,OMA(pi1,c),a) arises from the constant c (of product type) by first projection out a component (a function) and then applying it to a.

Source
TorsoForm.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TorsoForm
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. HashEquality
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TorsoForm(torso: Term, apps: List[Appendage])

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. val apps: List[Appendage]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. lazy val hash: Int

    the hash code

    the hash code

    Definition Classes
    HashEquality
  11. def hasheq(that: HashEquality[TorsoForm]): Boolean

    this hasheq that is the same as this == that, but fails immediately if false

    this hasheq that is the same as this == that, but fails immediately if false

    Definition Classes
    HashEquality
  12. def hashneq(that: HashEquality[TorsoForm]): Boolean

    this hasheq that is the same as this == that, but fails immediately if false

    this hasheq that is the same as this == that, but fails immediately if false

    Definition Classes
    HashEquality
  13. def heads: List[GlobalName]

    only the heads

  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  19. def toHeadForm: Term

    transforms a TorsoForm into the usual form

  20. val torso: Term
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from HashEquality[TorsoForm]

Inherited from AnyRef

Inherited from Any

Ungrouped