Miss

dev.constructive.eo.data.Affine.Miss
final class Miss[A, B](val fst: Fst[A]) extends Affine[A, B]

Miss-branch variant — no focus, stores fst: Fst[A] directly. B is phantom at runtime; callers re-typing across a phantom-B change should prefer widenB over asInstanceOf.

Attributes

Source
Affine.scala
Graph
Supertypes
trait Affine[A, B]
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

override def equals(that: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Any
Source
Affine.scala
override def hashCode(): Int

Calculates a hash code value for the object.

Calculates a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Attributes

Returns

the hash code value for this object.

Definition Classes
Any
Source
Affine.scala
override def toString(): String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
Source
Affine.scala
inline def widenB[B2]: Miss[A, B2]

Re-type this Miss[A, B] as Miss[A, B2] without allocating a new instance. Safe because Miss stores only fst: Fst[A] — the B parameter is phantom at the runtime shape.

Re-type this Miss[A, B] as Miss[A, B2] without allocating a new instance. Safe because Miss stores only fst: Fst[A] — the B parameter is phantom at the runtime shape.

Attributes

Source
Affine.scala

Inherited methods

def aFold[C](f: Fst[A] => Affine[A, C], g: ((Snd[A], B)) => Affine[A, C]): Affine[A, C]

Fold both branches into a new Affine[A, C]. Dispatches via direct pattern match (no intermediate Either).

Fold both branches into a new Affine[A, C]. Dispatches via direct pattern match (no intermediate Either).

Type parameters

C

focus type of the output

Attributes

Inherited from:
Affine
Source
Affine.scala
def aTraverse[C, G[_] : Applicative](f: B => G[C]): G[Affine[A, C]]

Effectful traversal — runs f on the hit branch, passes the miss branch through via Applicative.pure.

Effectful traversal — runs f on the hit branch, passes the miss branch through via Applicative.pure.

Type parameters

C

focus produced by f

G

effect constructor

Attributes

Inherited from:
Affine
Source
Affine.scala
def fold[C](onMiss: Fst[A] => C, onHit: (Snd[A], B) => C): C

Monomorphic fold — pattern-match on Miss/Hit and run the matching branch.

Monomorphic fold — pattern-match on Miss/Hit and run the matching branch.

Type parameters

C

output type

Attributes

Inherited from:
Affine
Source
Affine.scala

Deprecated and Inherited methods

def affine: Either[Fst[A], (Snd[A], B)]

Legacy Either-shaped accessor (reconstructs a fresh Either + Tuple2 on each call). New code should pattern-match Miss / Hit or use fold directly.

Legacy Either-shaped accessor (reconstructs a fresh Either + Tuple2 on each call). New code should pattern-match Miss / Hit or use fold directly.

Attributes

Deprecated
[Since version 0.6.3] pattern-match Miss / Hit or use fold instead
Inherited from:
Affine
Source
Affine.scala

Concrete fields

val fst: Fst[A]

Attributes

Source
Affine.scala