QLExpress is a dynamic scripting language for the Java platform designed to embed business rule evaluation directly into applications.
The tool addresses the need to execute complex business logic without recompiling code, allowing non-technical users to configure rules through a domain-specific language. It works by interpreting expressions written in a Java-like syntax, with support for custom functions and operators defined through Java APIs. The interpreter executes scripts without occupying JVM metaspace and can cache compiled expressions to improve performance. A distinctive feature is expression tracing, which captures intermediate calculation values at each node during evaluation, enabling root-cause analysis of rule outcomes—useful for understanding why a promotion rule accepted or rejected a user, for instance.
The tool suits projects requiring dynamic rule configuration in domains like e-commerce promotions, form validation logic, workflow conditions, and billing rules. It is particularly valuable when business users need to modify rules without developer intervention. The project emphasizes safety by default, preventing scripts from interacting with application code unless explicitly permitted through defined interfaces. It handles JSON natively and provides precise error reporting for both compilation and runtime failures. The codebase is intentionally minimal with few dependencies, making it compatible across Java environments.
Development activity shows consistent maintenance with regular updates to the codebase. The project maintains documentation in multiple languages and provides migration guidance for users upgrading from earlier versions. A significant architectural evolution occurred with the rewrite of the parsing engine using Antlr4, introducing functional programming support and performance improvements alongside the expression tracing capability.