speculate-0.4.20: discovery of properties about Haskell functions
Copyright(c) 2016-2024 Rudy Matela
License3-Clause BSD (see the file LICENSE)
MaintainerRudy Matela <rudy@matela.com.br>
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Speculate.Expr.Core

Description

This module is part of Speculate.

This module reexports Express along with some extra utilities.

Synopsis

Documentation

Order

compareLexicographicallyBy :: (Expr -> Expr -> Ordering) -> Expr -> Expr -> Ordering Source #

Lexicographical comparison of Exprs where variables < constants < applications and constants are disambiguated by the given function.

compareComplexityThenIndex :: [Expr] -> Expr -> Expr -> Ordering Source #

Comparison of Exprs:

  1. compareComplexity from Express
  2. lexicompareBy index of the given list

Properties

Assigning

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

Matching

Commuting