What are Prisms?

Lenses characterise the has-a relationship; Prisms characterise the is-a relationship. A Lens s a says “s has an a“; it has methods to get exactly one a from an s and to overwrite exactly one a in an s. A Prism s a says “a is an s“; it has methods to upcast an a … Read more