MagicHaskeller-0.9.6.7: Automatic inductive functional programmer by systematic search

Safe HaskellNone
LanguageHaskell98

MagicHaskeller.LibTH

Synopsis

Documentation

last' :: a -> [a] -> a Source #

tail :: [a] -> [a] Source #

gcd :: Integral t => t -> t -> t Source #

enumFromThenTo :: (Enum t2, Enum t1, Enum t, Enum b) => t2 -> t1 -> t -> [b] Source #

hd :: [a] -> Maybe a Source #

nat_para :: Integral i => i -> a -> (i -> a -> a) -> a Source #

nat_cata :: Integral i => i -> a -> (a -> a) -> a Source #

list_para :: [b] -> a -> (b -> [b] -> a -> a) -> a Source #

iF :: Bool -> a -> a -> a Source #

postprocess :: Exp -> Exp Source #

postprocess replaces uncommon functions like catamorphisms with well-known functions.

byEqs :: [(Int, Exp -> Exp -> Exp)] Source #

byOrds :: [(Int, Exp -> Exp -> Exp)] Source #

skip :: String -> String -> Exp -> Exp -> Exp Source #

appearsIn :: Data a => String -> a -> Bool Source #

ppLambda :: [Pat] -> Exp -> Exp Source #

exploit Source #

Arguments

:: (Typeable a, Filtrable a) 
=> Bool

whether to include functions with unused arguments

-> (a -> Bool) 
-> IO () 

newtype Partial a Source #

Constructors

Part 

Fields

by1_head :: Partial a -> [a] -> a Source #

(--#!!) :: Partial a -> [a] -> Int -> a Source #

newtype Equivalence a Source #

Constructors

Eq 

Fields

eqMaybeBy :: (t1 -> t -> Bool) -> Maybe t1 -> Maybe t -> Bool Source #

eqListBy :: (t1 -> t -> Bool) -> [t1] -> [t] -> Bool Source #

eqEitherBy :: (t3 -> t2 -> Bool) -> (t1 -> t -> Bool) -> Either t3 t1 -> Either t2 t -> Bool Source #

eqPairBy :: (t3 -> t2 -> Bool) -> (t1 -> t -> Bool) -> (t3, t1) -> (t2, t) -> Bool Source #

(--#/=) :: Equivalence a -> a -> a -> Bool Source #

by1_elem :: Equivalence a -> a -> [a] -> Bool Source #

by1_group :: Equivalence a -> [a] -> [[a]] Source #

by1_nub :: Equivalence a -> [a] -> [a] Source #

by1_isPrefixOf :: Equivalence a -> [a] -> [a] -> Bool Source #

by1_isSuffixOf :: Equivalence a -> [a] -> [a] -> Bool Source #

by1_isInfixOf :: Equivalence a -> [a] -> [a] -> Bool Source #

by1_stripPrefix :: Equivalence a -> [a] -> [a] -> Maybe [a] Source #

by1_lookup :: Equivalence a -> a -> (->) [(a, b)] (Maybe b) Source #

newtype Ordered a Source #

Constructors

Ord 

Fields

cmp :: Ord a => Ordered a Source #

compareMaybeBy :: (t1 -> t -> Ordering) -> Maybe t1 -> Maybe t -> Ordering Source #

compareListBy :: (t1 -> t -> Ordering) -> [t1] -> [t] -> Ordering Source #

compareEitherBy :: (t3 -> t2 -> Ordering) -> (t1 -> t -> Ordering) -> Either t3 t1 -> Either t2 t -> Ordering Source #

comparePairBy :: (t3 -> t2 -> Ordering) -> (t1 -> t -> Ordering) -> (t3, t1) -> (t2, t) -> Ordering Source #

(--#<=) :: Ordered t -> t -> t -> Bool Source #

(--#<) :: Ordered t -> t -> t -> Bool Source #

by1_max :: Ordered t -> t -> t -> t Source #

by1_min :: Ordered t -> t -> t -> t Source #

by1_sort :: Ordered t -> [t] -> [t] Source #

nrnds :: Num a => [a] Source #

pgfull :: ProgGenSF Source #

Library used by the program server backend

deb :: [[(HValue, Exp, Type)]] Source #

full :: [[(HValue, Exp, Type)]] Source #