aoc2020-0.1.0.0: Development environment for Advent of Code challenges
Safe HaskellNone
LanguageHaskell2010

AOC.Common.DLLC

Documentation

data Node s a Source #

Constructors

Node 

Fields

Instances

Instances details
Eq a => Eq (Node s a) Source # 
Instance details

Defined in AOC.Common.DLLC

Methods

(==) :: Node s a -> Node s a -> Bool #

(/=) :: Node s a -> Node s a -> Bool #

newtype List s a Source #

Constructors

List 

Fields

Instances

Instances details
Eq (List s a) Source # 
Instance details

Defined in AOC.Common.DLLC

Methods

(==) :: List s a -> List s a -> Bool #

(/=) :: List s a -> List s a -> Bool #

cloneTop :: (PrimMonad m, PrimState m ~ s) => List s a -> m (List s a) Source #

singleton :: (PrimMonad m, PrimState m ~ s) => a -> m (List s a) Source #

fromList :: (PrimMonad m, PrimState m ~ s) => NonEmpty a -> m (List s a) Source #

sourceRight :: (PrimMonad m, PrimState m ~ s) => List s a -> Pipe i a u m () Source #

sourceRightForever :: (PrimMonad m, PrimState m ~ s) => List s a -> Pipe i a u m r Source #

sourceLeft :: (PrimMonad m, PrimState m ~ s) => List s a -> Pipe i a u m () Source #

sourceLeftForever :: (PrimMonad m, PrimState m ~ s) => List s a -> Pipe i a u m r Source #

sourceZip :: (PrimMonad m, PrimState m ~ s) => List s a -> Pipe i (a, a) u m () Source #

readOut :: (PrimMonad m, PrimState m ~ s) => List s a -> m [a] Source #

readFocus :: (PrimMonad m, PrimState m ~ s) => List s a -> m a Source #

modifyFocus :: (PrimMonad m, PrimState m ~ s) => (a -> a) -> List s a -> m () Source #

readAt :: (PrimMonad m, PrimState m ~ s) => Int -> List s a -> m a Source #

seek :: (PrimMonad m, PrimState m ~ s) => (a -> Bool) -> List s a -> m (Maybe Int) Source #

insertRight :: (PrimMonad m, PrimState m ~ s) => a -> List s a -> m () Source #

insertLeft :: (PrimMonad m, PrimState m ~ s) => a -> List s a -> m () Source #

rotateRight :: (PrimMonad m, PrimState m ~ s) => List s a -> m () Source #

rotateLeft :: (PrimMonad m, PrimState m ~ s) => List s a -> m () Source #

rotateN :: (PrimMonad m, PrimState m ~ s) => Int -> List s a -> m () Source #

popRight :: (PrimMonad m, PrimState m ~ s) => List s a -> m a Source #

popLeft :: (PrimMonad m, PrimState m ~ s) => List s a -> m a Source #