Compiled, not interpreted
Java + GraalVM Truffle. Native Image boots in milliseconds.
Open-source Controlled Natural Language for executable business logic
Source compiles in three languages into the same audit-grade engine
Dual reference implementations (Java/ANTLR + TypeScript/PEG), cross-verified per commit
Lexicon packs ship today — add a fourth with a config file
Drop-in via REST, GraphQL, or WebSocket — see Cloud docs
Apache-2.0 licensed
BUILT FOR PRODUCTION
Java + GraalVM Truffle. Native Image boots in milliseconds.
Every evaluation hash-chained with SHA-256. Tamper-evident replay.
English, 中文, Deutsch ship today. Add a language with a config file.
Express loan-eligibility checks, approval-gate workflows, routing decisions, and pricing rules in English, Simplified Chinese, or German. Same semantics, same engine. Adding a fourth language is a configuration task, not an engineering one.
Built-in LLM assistance generates rule drafts from plain prompts, explains existing rules, and auto-repairs syntax errors. Streaming over SSE, validated before suggested.
Java + GraalVM Truffle interpreter for high-throughput evaluation. Native Image builds boot in milliseconds. P99 latency under 200ms.
Every policy evaluation is recorded in the engine's tamper-evident AuditLog, hash-chained with SHA-256. Replay any historical decision deterministically — clocks and UUIDs are controlled at runtime.
Use aster-lang.cloud for managed multi-tenant, or deploy to your own K3S cluster via ArgoCD GitOps. Your data, your jurisdiction.
Submit policy source inline or reference a stored policy by ID. Batch evaluate. Stream traces. See Cloud API docs for transports + auth.
Compliance officer, risk analyst, or policy author. You want rules in your language, with AI helping you write the first draft.
You want to write CNL rules and run them. Start in the browser playground; integrate via @aster-cloud/aster-lang-ts. Need a managed engine? Aster Cloud has hosted REST / GraphQL / WS.
You need data sovereignty, GDPR/PII controls, and a clear deployment path. Self-hosted is a first-class option.
Aster Lang is a multi-lingual Controlled Natural Language (CNL) for writing executable business logic — loan-eligibility policies, approval-gate workflows, routing decisions, pricing rules, and anything else where the rule should be readable by humans and runnable by machines.
The language treats policies, workflows, and decisions as first-class concepts: the same syntax expresses an eligibility check, an approval flow, or a routing rule. The engine compiles all three to the same audit-grade execution path.
Module aster.finance.loan.
Define Applicant has creditScore as Int, annualIncome as Int.
Rule evaluateLoanEligibility given applicant as Applicant, produce Text:
If applicant.creditScore at least 700
If applicant.annualIncome at least 50000
Return "approved".
Return "rejected".The same rule works in 中文:
模块 aster.finance.loan。
定义 申请人 包含 信用分 as 整数,年收入 as 整数。
规则 evaluateLoanEligibility 给定 申请人 as 申请人,产出 文本:
如果 申请人.信用分 至少 700
如果 申请人.年收入 至少 50000
返回 "已批准"。
返回 "已拒绝"。Both are parsed, type-checked, and executed by the same engine.
Business rules live in three places today:
Aster Lang is the fourth option: rules that read like a memo and run like compiled code.
🚧 Customer stories coming soon. Reach out if you'd like to be featured.
@aster-cloud/aster-lang-ts)aster-lang-en / -zh / -deFound a bug? Open an issue. Want to add a language? See the lexicon pack guide.
Try the browser playground, then move into the quick start or hosted workflows when you need teams and audit.