optics-core-0.4.1: Optics as an abstract interface: core definitions
Safe Haskell None
Language Haskell2010

Optics.Empty.Core

Description

This module defines the AsEmpty class, which provides a Prism for a type that may be _Empty .

Note that orphan instances for this class are defined in the Optics.Empty module from optics-extra , so if you are not simply depending on optics you may wish to import that module instead.

>>> isn't _Empty [1,2,3]
True
>>> case Nothing of { Empty -> True; _ -> False }
True
Synopsis

Documentation

class AsEmpty a where Source #

Class for types that may be _Empty .

Minimal complete definition

Nothing

Methods

_Empty :: Prism' a () Source #

>>> isn't _Empty [1,2,3]
True

Instances

Instances details
AsEmpty Ordering Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty () Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty Event Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty All Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty Any Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty IntSet Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty [a] Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( Maybe a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( ZipList a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( First a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( Last a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty a => AsEmpty ( Dual a) Source #
Instance details

Defined in Optics.Empty.Core

( Eq a, Num a) => AsEmpty ( Sum a) Source #
Instance details

Defined in Optics.Empty.Core

( Eq a, Num a) => AsEmpty ( Product a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( IntMap a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( Seq a) Source #
Instance details

Defined in Optics.Empty.Core

AsEmpty ( Set a) Source #
Instance details

Defined in Optics.Empty.Core

( AsEmpty a, AsEmpty b) => AsEmpty (a, b) Source #
Instance details

Defined in Optics.Empty.Core

Methods

_Empty :: Prism' (a, b) () Source #

AsEmpty ( Map k a) Source #
Instance details

Defined in Optics.Empty.Core

( AsEmpty a, AsEmpty b, AsEmpty c) => AsEmpty (a, b, c) Source #
Instance details

Defined in Optics.Empty.Core

Methods

_Empty :: Prism' (a, b, c) () Source #

pattern Empty :: forall a. AsEmpty a => a Source #

Pattern synonym for matching on any type with an AsEmpty instance.

>>> case Nothing of { Empty -> True; _ -> False }
True