HLearn-algebra-0.1.2.0: src/HLearn/Algebra/Structures/Triangles.hs
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
module HLearn.Algebra.Structures.Triangles
( Triangle (..)
-- , module Data.Sequence
)
where
import qualified Data.Sequence as S
import Data.Sequence hiding ((<|),(|>))
class Triangle f a where
(<|) :: a -> f -> f
(|>) :: f -> a -> f
instance Triangle [a] a where
a <| xs = a:xs
xs |> a = xs++[a]
instance Triangle (S.Seq a) a where
(<|) = (S.<|)
(|>) = (S.|>)