blarney-0.1.0.0
Copyright(c) Matthew Naylor 2019
(c) Alexandre Joannou 2019
LicenseMIT
Maintainermattfn@gmail.com
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageGHC2021

Blarney.Core.JList

Description

A small library for join-lists, providing constant-time append.

Documentation

data JList a Source #

Constructors

Zero 
One a 
(JList a) :+: (JList a) 

Instances

Instances details
Applicative JList # 
Instance details

Defined in Blarney.Core.JList

Methods

pure :: a -> JList a #

(<*>) :: JList (a -> b) -> JList a -> JList b #

liftA2 :: (a -> b -> c) -> JList a -> JList b -> JList c #

(*>) :: JList a -> JList b -> JList b #

(<*) :: JList a -> JList b -> JList a #

Functor JList # 
Instance details

Defined in Blarney.Core.JList

Methods

fmap :: (a -> b) -> JList a -> JList b #

(<$) :: a -> JList b -> JList a #

Monad JList # 
Instance details

Defined in Blarney.Core.JList

Methods

(>>=) :: JList a -> (a -> JList b) -> JList b #

(>>) :: JList a -> JList b -> JList b #

return :: a -> JList a #

Monoid (JList a) # 
Instance details

Defined in Blarney.Core.JList

Methods

mempty :: JList a #

mappend :: JList a -> JList a -> JList a #

mconcat :: [JList a] -> JList a #

Semigroup (JList a) # 
Instance details

Defined in Blarney.Core.JList

Methods

(<>) :: JList a -> JList a -> JList a #

sconcat :: NonEmpty (JList a) -> JList a #

stimes :: Integral b => b -> JList a -> JList a #

Show a => Show (JList a) # 
Instance details

Defined in Blarney.Core.JList

Methods

showsPrec :: Int -> JList a -> ShowS #

show :: JList a -> String #

showList :: [JList a] -> ShowS #

ToNetlist (RTL ()) #

Convert RTL monad to a netlist

Instance details

Defined in Blarney.Core.Flatten

Methods

toNetlist :: RTL () -> Netlist Source #

Displayable (RTL a) #

Base case

Instance details

Defined in Blarney.Core.RTL

Methods

disp :: Format -> Format -> RTL a Source #

Eq a => Eq (JList a) # 
Instance details

Defined in Blarney.Core.JList

Methods

(==) :: JList a -> JList a -> Bool #

(/=) :: JList a -> JList a -> Bool #

fromList :: [a] -> JList a Source #

toList :: JList a -> [a] Source #

map :: (a -> b) -> JList a -> JList b Source #

mapM :: Monad m => (a -> m b) -> JList a -> m (JList b) Source #

zipWith :: (a -> b -> c) -> JList a -> JList b -> JList c Source #

lazyZipWith :: (a -> b -> c) -> JList a -> JList b -> JList c Source #

(++) :: JList a -> JList a -> JList a Source #