Portability | GHC, Hugs (MPTC and FD) |
---|---|

Stability | stable |

Maintainer | robdockins AT fastmail DOT fm |

Safe Haskell | Safe-Inferred |

This module introduces a number of infix symbols which are aliases for some of the operations in the sequence and set abstractions. For several, the argument orders are reversed to more closely match usual symbolic usage.

The symbols are intended to evoke the the operations they represent. Unfortunately, ASCII is pretty limited, and Haskell 98 only allocates a few symbols to the operator lexical class. Thus, some of the operators are less evocative than one would like. A future version of Edison may introduce unicode operators, which will allow a wider range of operations to be represented symbolicly.

Unlike most of the modules in Edison, this module is intended to be
imported unqualified. However, the definition of `(++)`

will conflict
with the Prelude definition. Either this definition or the Prelude
definition will need to be imported `hiding ( (++) )`

. This definition
subsumes the Prelude definition, and can be safely used in place of it.

- (<|) :: Sequence seq => a -> seq a -> seq a
- (|>) :: Sequence seq => seq a -> a -> seq a
- (++) :: Sequence seq => seq a -> seq a -> seq a
- (!) :: Sequence seq => seq a -> Int -> a
- (|=) :: SetX set a => set -> set -> Bool
- (\\) :: SetX set a => set -> set -> set
- (/\) :: SetX set a => set -> set -> set
- (\/) :: SetX set a => set -> set -> set

# Documentation

(<|) :: Sequence seq => a -> seq a -> seq aSource

Left (front) cons on a sequence. The new element appears on the left.
Identical to `lcons`

.

(|>) :: Sequence seq => seq a -> a -> seq aSource

Right (rear) cons on a sequence. The new element appears on the right.
Identical to `rcons`

with reversed arguments.

(++) :: Sequence seq => seq a -> seq a -> seq aSource

Append two sequences. Identical to `append`

. Subsumes the Prelude
definition.

(!) :: Sequence seq => seq a -> Int -> aSource

Lookup an element in a sequence. Identical to `lookup`

with
reversed arguments.

(\\) :: SetX set a => set -> set -> setSource

Set difference. Identical to `difference`

.

(/\) :: SetX set a => set -> set -> setSource

Set intersection. Identical to `intersection`

.