alibaba/QLExpress

QLExpress is a powerful, lightweight, dynamic language for the Java platform aimed at improving developers’ productivity in different business scenes.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 12th, 2026
Created on March 15th, 2017
Open Issues & Pull Requests: 98 (+0)
GitHub issues: Enabled
Number of forks: 1,214
Total Stargazers: 5,624 (+0)
Total Subscribers: 211 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.9 days
Mean response time: 32.7 days
90th percentile: 83.9 days
Tracked items: 81

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 92% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 13% of issues opened in the past year have been closed. Three people close 71% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 26
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 486 days
Stale 30+ days: 24
Stale 90+ days: 20

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • help wanted (8)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

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.