Module

Neon.Class.HasAnd

Package
purescript-neon
Repository
tfausak/purescript-neon

#HasAnd Source

class HasAnd a  where

Represents types that can be conjoined. This is also known as logical conjunction.

true :and false -- false

Some types can't be conjoined per se but it is still useful to be able to use the && operator with them. For example, you can and two arrays together to get their intersection.

[1, 2, 3] :and [2, 3, 4] -- [2, 3]

For integers, and is bitwise.

5 :and 3 -- 3

The instance for functions is perhaps the hardest to understand. Combining two functions with and returns a new function that calls each function and then ands the results together.

even :and odd -- \ x -> (even x) :and (odd x)
(even :and odd) 3 -- false

Members

  • and :: a -> a -> a

Instances