Serialization of (potentially cyclic) object graphs. Features:
- abstracted over pointers;
- termination and correctness in presence of cycles;
- stack safety.
- Type parameters:
- A
type of objects that this serializer can serialize.
- Ptr
abstraction of pointers.
- S
type of data this serializer writes when serializing
A
, e.g.String
, byte array, etc.
- Companion:
- object
class Object
trait Matchable
class Any
Value members
Abstract methods
Concrete methods
def show(deref: NaturalTransformation[Ptr, Id], showRef: NaturalTransformation[Ptr, [α] =>> String])(decorateReferenced: NaturalTransformation[Ptr, [α] =>> Decoration[String]], decorateUnreferenced: NaturalTransformation[Ptr, [α] =>> Decoration[String]], decorateReference: String => String)(implicit E: HEqualK[Ptr], ev: S === String): Show[A]