speculate-0.4.0: 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.Expr.Core

Contents

Description

This module is part of Speculate.

This module reexports Express along with some extra utilities.

Synopsis

Documentation

Order

Properties

Assigning

type Binds = [(Expr, Expr)] Source #

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

Fill holes in an expression. Silently skips holes that are not of the right type. Silently discard remaining expressions.

sub :: Expr -> Expr -> Expr -> Expr Source #

Substitute matching subexpressios.

sub (x + y) 0 ((x + y) + z) == (0 + z) sub (x + y) 0 (x + (y + z)) == (x + (y + z))

TODO: remove

Matching