trait Aspect[Alg[_[_]], Dom[_], Cod[_]] extends Instrument[Alg]
Type class supporting Aspect-Oriented Programming (AOP) for a tagless final algebra. The behaviour of this aspect is defined by two type classes (or constraints) - one for the domain (arguments) and one for the codomain (result) of each method in the algebra.
Note: This feature is experimental, API is likely to change.
- Alg
 The algebra to which this aspect applies.
- Dom
 Type class / constraint that should exist for all parameter types of each algebra methods (domain).
- Cod
 Type class / constraint that should exist for the return type of each algebra methods (codomain).
- Source
 - Aspect.scala
 - See also
 Aspect.Domain,Aspect.CodomainandAspect.Functionfor convenient type aliases.
Linear Supertypes
Ordering
- Alphabetic
 - By Inheritance
 
Inherited
- Aspect
 - Instrument
 - FunctorK
 - InvariantK
 - Serializable
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
Visibility
- Public
 - Protected
 
Abstract Value Members
Concrete Value Members
-   final  def !=(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def ##: Int
- Definition Classes
 - AnyRef → Any
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
 
 -   final  def eq(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -    def equals(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef → Any
 
 -   final  def getClass(): Class[_ <: AnyRef]
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native() @IntrinsicCandidate()
 
 -    def hashCode(): Int
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native() @IntrinsicCandidate()
 
 -    def imapK[F[_], G[_]](af: Alg[F])(fk: ~>[F, G])(gk: ~>[G, F]): Alg[G]
- Definition Classes
 - FunctorK → InvariantK
 
 -    def instrument[F[_]](af: Alg[F]): Alg[[β$1$]Instrumentation[F, β$1$]]
- Definition Classes
 - Aspect → Instrument
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -   final  def ne(arg0: AnyRef): Boolean
- Definition Classes
 - AnyRef
 
 -   final  def notify(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native() @IntrinsicCandidate()
 
 -   final  def notifyAll(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @native() @IntrinsicCandidate()
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -   final  def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])
 
 -   final  def wait(arg0: Long): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException]) @native()
 
 -   final  def wait(): Unit
- Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.InterruptedException])