Packages

  • package root
    Definition Classes
    root
  • package lucuma
    Definition Classes
    root
  • package core
    Definition Classes
    lucuma
  • package data
    Definition Classes
    core
  • package enum
    Definition Classes
    core
  • package geom
    Definition Classes
    core
  • package instances

    Implicit instances for types defined outside of Gen.

    Implicit instances for types defined outside of Gen. Each set of instances is provided as a trait that can be extended and as a module whose members can be imported (preferred).

    Definition Classes
    core
  • package math

    Mathematical data types for general use, not specific to the Gem model.

    Mathematical data types for general use, not specific to the Gem model.

    Definition Classes
    core
  • package model
    Definition Classes
    core
  • package optics
    Definition Classes
    core
  • package syntax
  • Format
  • Spire
  • SplitEpi
  • SplitMono
  • Wedge
  • package parser
    Definition Classes
    core
  • package syntax

    Syntax classes for extension methods, organized à la cats.

    Syntax classes for extension methods, organized à la cats. Each syntax class has an associated conversion trait and module that extends it; and the all module which extends all conversions traits.

    Definition Classes
    core
  • package util
    Definition Classes
    core

package optics

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package syntax

Type Members

  1. final case class Format[A, B](getOption: (A) => Option[B], reverseGet: (B) => A) extends Product with Serializable

    A normalizing optic, isomorphic to Prism but with different laws, specifically getOption need not be injective; i.e., distinct inputs may have the same getOption result, which combined with a subsequent reverseGet yield a normalized form for A.

    A normalizing optic, isomorphic to Prism but with different laws, specifically getOption need not be injective; i.e., distinct inputs may have the same getOption result, which combined with a subsequent reverseGet yield a normalized form for A. Composition with stronger optics (Prism and Iso) yields another Format.

  2. final case class SplitEpi[A, B](get: (A) => B, reverseGet: (B) => A) extends Product with Serializable

    A split epimorphism, which we can think of as a weaker Iso[A, B] where B is a smaller .

    A split epimorphism, which we can think of as a weaker Iso[A, B] where B is a smaller . type. So reverseGet andThen get remains an identity but get andThen reverseGet is merely idempotent (i.e., it normalizes values in A). The following statements hold:

    • reverseGet is a section of get,
    • get is a retraction of reverseGet,
    • B is a retract of A,
    • the pair (get, reverseGet) is a splitting of the idempotent get andThen reverseGet.
    get

    any function A => B.

    reverseGet

    a section of get such that reverseGet andThen get is an identity.

    See also

    Split Epimorphism at nLab

  3. final case class SplitMono[A, B](get: (A) => B, reverseGet: (B) => A) extends Product with Serializable

    A split monomorphism, which we can think of as a weaker Iso[A, B] where A is a smaller .

    A split monomorphism, which we can think of as a weaker Iso[A, B] where A is a smaller . type. So get andThen reverseGet andThen remains an identity but reverseGet andThen get is merely idempotent (i.e., it normalizes values in B). The following statements hold:

    • reverseGet is a retraction of get,
    • get is a section of reverseGet,
    • A is a retract of B,
    • the pair (reverseGet, get) is a splitting of the idempotent reverseGet andThen get.
    get

    section of reverseGet such that get andThen reverseGet is an identity

    reverseGet

    any function B => A

    See also

    Split Monomorphism at nLab

  4. final case class Wedge[A, B](get: (A) => B, reverseGet: (B) => A) extends Product with Serializable

    Composition of a SplitMono and a SplitEpi, yielding an even weaker structure where neither get andThen reverseGet and reverseGet andThen get is an identity but both are idempotent.

Value Members

  1. object Format extends Serializable
  2. object Spire
  3. object SplitEpi extends Serializable
  4. object SplitMono extends Serializable
  5. object Wedge extends Serializable

Ungrouped