Skip to content
PT

Static copy

Copied from docs/en/decisions/adp-004.md in https://github.com/poppy-team/aipo-lang (MIT). Pinned to revision ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob 5079ae4480d3d8256bf616cdbb8d34039c280eba. The source repository remains canonical; this copy is refreshed through a sync pull request, not live.

ADP-004 — Unicode Identifier Policy ​

  • Status: Approved & Implemented
  • Deciders: Poppy Team
  • Phase: Wave 1

Context ​

Unicode identifiers with different normalization forms (NFC vs NFD) can render identically on screen while representing completely distinct byte sequences, enabling homograph attacks and elusive bugs.


Decisions Taken ​

  1. Aipo mandates Normalization Form C (NFC) as the canonical standard.
  2. The Lexer rejects characters outside designated safe sets and automatically applies NFC normalization.
  3. All string values constructed by the runtime respect valid UTF-8 boundaries and grapheme clusters.