The Quipper System

Safe HaskellNone

Libraries.Template.Auxiliary

Description

This module is for use with Libraries.Template.Lifting. It contains various lifted functions of general use. They are not intended to be used directly (although this would not break anything).

Synopsis

Documentation

template_symb_colon_ :: Monad m => m (a -> m ([a] -> m [a]))Source

Lifted version of '(:)' :: a -> [a] -> [a].

template_init :: Monad m => m ([a] -> m [a])Source

Lifted version of init :: [a] -> [a].

template_last :: Monad m => m ([a] -> m a)Source

Lifted version of last :: [a] -> [a].

template_symb_plus_symb_plus_ :: Monad m => m ([a] -> m ([a] -> m [a]))Source

Lifted version of '(++)' :: [a] -> [a] -> [a].

template_error :: Monad m => m (String -> m a)Source

Lifted version of error :: String -> a. Using it will make the circuit generation fail with the error described in String.

template_snd :: Monad m => m ((a, b) -> m b)Source

Lifted version of snd :: (a,b) -> b

template_fold_right_zip :: Monad m => m (((a, b, c) -> m (a, d)) -> m ((a, [b], [c]) -> m (a, [d])))Source

Lifted version of fold_right_zip

template_foldl :: Monad m => m ((a -> m (b -> m a)) -> m (a -> m ([b] -> m a)))Source

lifted version of foldl

template_reverse :: Monad m => m ([a] -> m [a])Source

lifted version of reverse

template_zipWith :: Monad m => m ((a -> m (b -> m c)) -> m ([a] -> m ([b] -> m [c])))Source

lifted version of zipWith