# Spek v0.2.0 - Table of Contents > Boolean expression engine for domain rules ## Pages - [Spek](readme.md) - [Changelog](changelog.md) ## Modules - [Spek](Spek.md): Spek is a boolean expression engine for Elixir. - [Spek.Macros](Spek.Macros.md): Convenience macros for defining check functions. - structs - [Spek.AllOf](Spek.AllOf.md): Struct that represents a combination of expressions that all must be true. - [Spek.AnyOf](Spek.AnyOf.md): Struct that represents a combination of checks one of which must be true. - [Spek.Check](Spek.Check.md): Struct that represents the evaluation result of a single check function. - [Spek.Literal](Spek.Literal.md): Struct that represents an authorization rule that evaluates to a fixed value. - [Spek.Not](Spek.Not.md): Struct that represents a boolean negation. - Exceptions - [Spek.EvaluationError](Spek.EvaluationError.md): Error representing a failed rule evaluation.