Markdown for LLMs
LDC-E1101 — Package name segment outside the canonical syntax
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1101 — Package name segment outside the canonical syntax ## What it means A package name is a lowercase dotted path: each segment starts with a lowercase letter, followed by lowercase letters, digits, or underscores. Anything else — an uppercase letter, a dash, a leading digit — steps outside the shape the compiler accepts, and the check stops at the offending segment. The repair is a rename: adjust the segment and every import that names the package. No declaration logic ever needs to change. ## Example ```law language "law.core" version "0.2"; package Demo.Diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Applicant; ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Applicant; ``` ## Engine message The engine reports this in its own wording: ```text example.law:2:9: error LDC-E1101: package name segment "Demo" is outside the §22 canonical syntax (lowercase dotted, [a-z][a-z0-9_]*) ``` ## Related - [Vocabulary](/constructs/vocabulary/) — how names are declared and which positions take them. - [LDC-E1113](/diagnostics/LDC-E1113/) — a package must not claim a standard-library name either.