A small method for making a useful language
Start with a real business question, agree its meaning, choose the smallest suitable language and learn from people using it.
DomainLang
DomainLang is developing a practical method and reusable tools for languages that help people express rules, events and information clearly.
DomainLang
Start with a real business question, agree its meaning, choose the smallest suitable language and learn from people using it.
CoreLang will test the DomainLang method and provide a common syntax and toolchain base that suitable business-related languages can reuse.
The proposed CoreLang base would reuse working DSLSH and THE editor components and, where execution helps, the existing CREXX tools. The combined DomainLang path has not yet been built.
The first example will test the method, the CoreLang common base, editor feedback and the optional CREXX execution path together.
Plain-English definitions for the language-design and tooling terms needed by the first DomainLang pages.
How it works
Begin with a business question, agree its meaning, try the smallest suitable language and use what happens to improve it.
Identify the unclear decision or description and who must write, review or act on it.
Gather cases that should work, cases that should fail and awkward exceptions.
Define the important concepts, relationships, events and time rules before choosing syntax.
Use the proposed CoreLang base when it fits, or choose text, a table, a diagram or another form.
Check examples, show useful errors, observe authors and revise the language and method.
Imagine a service that cancels an appointment. Its rule says that the person must be offered another date within five working days. Ordinary prose may leave questions: who makes the offer, when the clock starts, what happens when the person cannot attend, and which version of the rule applied?
A small business language can give those distinctions stable names and let a tool check that each rule is complete. DomainLang is developing a method for deciding when that extra structure is useful and how to create it without losing the language of the people who do the work.
The method starts with users, examples and business meaning before choosing syntax. It then covers validation, useful error messages, editing, exchange with other tools and, when needed, execution.
CoreLang has two roles. It is the first worked business-language example, and it is the proposed common syntax and toolchain base that suitable business-related languages can reuse or extend. A language that does not fit that base should be free to take another path.
The toolchain starts from real components. DSLSH connects editors to parsers. THE CREXX Edition demonstrates that connection in a working editor and a limited browser proof of concept. The CREXX tools provide an existing assembly, linking and virtual-machine path for examples that need to run.
The first example will cover one rebooking rule. It must show the original business need, the meaning that must be preserved, the proposed language, useful validation messages and the result of trying it in the editor. If execution helps, the example will generate RXAS and use the existing CREXX tools. The work will be successful only if it makes the rule easier to write, review and change.
Related work