Copyright | (c) 2016 Allele Dev; 2017 Ixperta Solutions s.r.o.; 2017 Alexis King |
---|---|
License | BSD3 |
Maintainer | Alexis King <lexi.lambda@gmail.com> |
Stability | experimental |
Portability | GHC specific language extensions. |
Safe Haskell | None |
Language | GHC2021 |
Data.FTCQueue
Description
Using http://okmij.org/ftp/Haskell/extensible/FTCQueue1.hs as a starting point.
A minimal version of FTCQueue from "Reflection w/o Remorse":
- Research: http://okmij.org/ftp/Haskell/Reflection.html
- type-aligned (FTCQueue)
Synopsis
- data FTCQueue (m :: Type -> Type) a b
- tsingleton :: (a -> m b) -> FTCQueue m a b
- (|>) :: FTCQueue m a x -> (x -> m b) -> FTCQueue m a b
- snoc :: FTCQueue m a x -> (x -> m b) -> FTCQueue m a b
- (><) :: forall (m :: Type -> Type) a x b. FTCQueue m a x -> FTCQueue m x b -> FTCQueue m a b
- append :: forall (m :: Type -> Type) a x b. FTCQueue m a x -> FTCQueue m x b -> FTCQueue m a b
- data ViewL (m :: Type -> Type) a b where
- tviewl :: forall (m :: Type -> Type) a b. FTCQueue m a b -> ViewL m a b
Documentation
data FTCQueue (m :: Type -> Type) a b Source #
Non-empty tree. Deconstruction operations make it more and more left-leaning
tsingleton :: (a -> m b) -> FTCQueue m a b Source #
Build a leaf from a single operation. [O(1)]
(|>) :: FTCQueue m a x -> (x -> m b) -> FTCQueue m a b Source #
Append an operation to the right of the tree. [O(1)]
(><) :: forall (m :: Type -> Type) a x b. FTCQueue m a x -> FTCQueue m x b -> FTCQueue m a b Source #
Append two trees of operations. [O(1)]
append :: forall (m :: Type -> Type) a x b. FTCQueue m a x -> FTCQueue m x b -> FTCQueue m a b Source #
An alias for (><)