External Language Authoring
The Language Authoring SDK is the generic framework surface for building a language that does not depend on Wist. A language author provides typed artifact kinds, package-owned features and contributions, runtime component factories, enabled backends and a runtime policy. The SDK resolves them into an immutable executable LanguagePlan.
What is implemented
LanguagePackageBuilderderives descriptor metadata and runtime component registrations from one typed source;LanguageDefinitionBuilderselects features, backends, entry artifacts, providers, overrides and policy;LanguageCompilerresolves dependencies, conflicts, slots, capabilities and artifact routes;LanguageRuntimevalidates provider identity and policy, creates a runtime session and executes the selected backend route;LanguageContractSuiteprovides a backend-parity test helper;dotnet new ut-languagecreates a standalone non-Wist project;samples/Acme.PricingLanguagedemonstrates a parser, interpreter backend and compiled backend without a Wist reference.
Read in this order
- Quickstart
- Package and contribution model
- Planning and diagnostics
- Typed artifact routing
- Runtime lifecycle and policy
- Testing, template and release boundary
- Package versioning and migrations
- Deep architecture reference
Current boundary
This is a low-level alpha framework API, not yet a complete language workbench. The author still owns syntax representation, parsing, binding, semantic model, transformations and backend execution logic. The SDK composes and structurally validates these components; it does not generate them from a grammar or semantic specification. A valid plan is not proof that arbitrary transformations preserve semantics or that third-party packages are safe to run in-process. If a fixed pipeline with typed interfaces already solves the problem, that simpler design is often preferable.