Skip to content

Enhancement: Clara v2 reimplementation (enum-indexed, Unbounded values) #4

Description

@abitofhelp

Reimplement Clara with a clean architecture:

  • Enum-indexed declarative pattern (not procedural builder, not generic child packages)
  • Unbounded_String for values, bounded for metadata
  • Dynamic vectors for multi-value storage
  • Testable Parse (accepts argument array, not just Ada.Command_Line)
  • No SPARK — Clara requires an OS; SPARK is inappropriate
  • Utility library structure (not full DDD layering)
  • Explicit help — user provides Show_Help callback

Only consumer today is adafmt (3 commands, 1 flag, ~64 options, 1 positional).
Nothing is released, so no backward compatibility needed.

Resolves the STORAGE_ERROR (stack overflow) caused by bounded strings
(Max_Value_Length = 4096) in fixed arrays.

Reference: clara/exports/latestexport.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions