smithy4s.capability

Members list

Type members

Classlikes

trait Contravariant[F[_]]

Abstraction that encodes Contravariant Functors.

Abstraction that encodes Contravariant Functors.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait EncoderK[F, Result]
object Contravariant

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Covariant[F[_]]

Abstraction that encodes Functors

Abstraction that encodes Functors

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Zipper[F]
trait MonadThrowLike[F]
object Covariant

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Covariant.type
trait EncoderK[F[_], Result] extends Contravariant[F]

A typeclass abstracting over the notion of encoder. It offers way to go from an encoder type to a function, and vice-versa.

A typeclass abstracting over the notion of encoder. It offers way to go from an encoder type to a function, and vice-versa.

This abstraction is particularly useful when encoding unions : as we need to pre-compile codecs for each union member, and dispatch union instances to a specific codec.

Attributes

Companion
object
Supertypes
trait Contravariant[F]
class Object
trait Matchable
class Any
object EncoderK

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
EncoderK.type
trait MonadThrowLike[F[_]] extends Zipper[F]

Attributes

Companion
object
Supertypes
trait Zipper[F]
trait Covariant[F]
class Object
trait Matchable
class Any

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait Zipper[F[_]] extends Covariant[F]

A zipper is similar in notion to Applicative, in that it allows for combining several values of F in non-sequential ways.

A zipper is similar in notion to Applicative, in that it allows for combining several values of F in non-sequential ways.

The encoding here is specialised towards the traversal of sequences, which is something that's done heavily in this codebase.

Attributes

Companion
object
Supertypes
trait Covariant[F]
class Object
trait Matchable
class Any
Known subtypes
trait MonadThrowLike[F]
object Zipper

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Zipper.type

Types

type Wrapped[F[_], G[_], A] = F[G[A]]