speculate-0.4.1: discovery of properties about Haskell functions

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

Test.Speculate.Args

Description

This module is part o Speculate.

Arguments to the speculate function and parsing of command line arguments.

Synopsis

Documentation

data Args Source #

Arguments to Speculate

Constructors

Args 

Fields

args :: Args Source #

Default arguments to Speculate

foreground :: Expr Source #

A special Expr value. When provided on the constants list, makes all the following constants foreground constants.

background :: Expr Source #

A special Expr value. When provided on the constants list, makes all the following constants background constants. Background constants can appear in laws about other constants, but not by themselves.

atoms :: Args -> [[Expr]] Source #

about :: Expr -> [Expr] -> Bool Source #

allAbout :: Expr -> [Expr] -> Bool Source #

Are all constants in an expression about a list of constants? Examples in pseudo-Haskell:

x + y `allAbout` [(+)] == True
x + y == z `allAbout` [(+)] == False
x + y == z `allAbout` [(+),(==)] == True