speculate-0.3.3: discovery of properties about Haskell functions

Copyright(c) 2016-2017 Rudy Matela
License3-Clause BSD (see the file LICENSE)
MaintainerRudy Matela <rudy@matela.com.br>
Safe HaskellNone
LanguageHaskell2010

Test.Speculate.Misc

Description

This module is part o Speculate.

Miscellaneous functions I still did not find a reasonable place to put them in.

Synopsis

Documentation

functions1 :: (Typeable a, Typeable b) => Expr -> [(Expr, a -> b)] Source #

functions2 :: (Typeable a, Typeable b, Typeable c) => Expr -> [(Expr, a -> b -> c)] Source #

functions3 :: (Typeable a, Typeable b, Typeable c, Typeable d) => Expr -> [(Expr, a -> b -> c -> d)] Source #

functions4 :: (Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Expr -> [(Expr, a -> b -> c -> d -> e)] Source #

fillings :: Expr -> [Expr] -> [Expr] Source #

expressionsOf :: [Expr] -> [[Expr]] Source #

Given a list of atomic expressions, enumerate experssions by application

NOTE: for now, very inneficient

This function exists solely for documentation and will never actually be useful, as:

mapT fst $ classes

Will return as expressions that are semantially different (and is more efficient)

Eventually this function will be removed from Speculate

valuedExpressionsOf :: Typeable a => [Expr] -> [[(Expr, a)]] Source #

Given a list of atomic expressinos, enumerated expressions of a given type by application.

Never will be actually useful, see expressionsOf.

Eventually this functino will be removed from Speculate