spire.laws.shadows

Type members

Classlikes

case class Shadow[A, S](a: A, s: S)

Represents a primitive value a: A along with its shadow s: S.

Represents a primitive value a: A along with its shadow s: S.

The shadow is a type S isomorphic to the primitive type A in the range where A is defined.

Companion:
object
object Shadow extends ShadowInstances7
Companion:
class
trait ShadowCRig[A, S] extends CommutativeRig[Shadow[A, S]] with ShadowCSemiring[A, S] with ShadowMultiplicativeCMonoid[A, S]
trait ShadowCRing[A, S] extends CommutativeRing[Shadow[A, S]] with ShadowCRig[A, S] with ShadowCRng[A, S]
trait ShadowCRng[A, S] extends CommutativeRng[Shadow[A, S]] with ShadowCSemiring[A, S] with ShadowAdditiveAbGroup[A, S]
trait ShadowEq[A, S] extends Eq[Shadow[A, S]]
trait ShadowEuclideanRing[A, S] extends EuclideanRing[Shadow[A, S]] with ShadowGCDRing[A, S]
trait ShadowGCDRing[A, S] extends GCDRing[Shadow[A, S]] with ShadowCRing[A, S]
abstract class ShadowInstances0
abstract class ShadowInstances1 extends ShadowInstances0
abstract class ShadowInstances2 extends ShadowInstances1
abstract class ShadowInstances3 extends ShadowInstances2
abstract class ShadowInstances4 extends ShadowInstances3
abstract class ShadowInstances5 extends ShadowInstances4
abstract class ShadowInstances6 extends ShadowInstances5
abstract class ShadowInstances7 extends ShadowInstances6
trait ShadowInvolution[A, S] extends Involution[Shadow[A, S]]
trait ShadowOrder[A, S] extends ShadowPartialOrder[A, S] with Order[Shadow[A, S]]
trait ShadowPartialOrder[A, S] extends ShadowEq[A, S] with PartialOrder[Shadow[A, S]]
trait ShadowSigned[A, S] extends Signed[Shadow[A, S]]
object Shadowing
Companion:
class
trait Shadowing[A, S]
Companion:
object