The Quipper System

Safe HaskellNone

Quipper.Utils.Template.Auxiliary

Contents

Description

This module is for use with Quipper.Utils.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

List operations

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

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

template_symb_obracket_symb_cbracket_ :: Monad m => m [a] Source #

Lifted version of '[]' :: [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_zip3 :: Monad m => m ([a] -> m ([b] -> m ([c] -> m [(a, b, c)]))) Source #

Lifted version of zip3.

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

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

Other operations

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

Lifted version of the combinator $.

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