Skip to content

Add ATOM primitive type for lightweight symbolic constants#93

Merged
mdbergmann merged 1 commit into
masterfrom
add-atom-type
Feb 21, 2026
Merged

Add ATOM primitive type for lightweight symbolic constants#93
mdbergmann merged 1 commit into
masterfrom
add-atom-type

Conversation

@mdbergmann
Copy link
Copy Markdown
Owner

Atoms are colon-prefixed identifiers (:ready, :error, :done) compiled to FNV-1a hash LONGs. They provide type-safe symbolic values without enums, useful for state machines, flags, and message types. Only = and <> comparisons allowed; no arithmetic or type mixing. Supported in variable declarations, SUB parameters, CASE statements, DIM arrays, and struct members. All 220 tests pass with no regressions.

Atoms are colon-prefixed identifiers (:ready, :error, :done) compiled to
FNV-1a hash LONGs. They provide type-safe symbolic values without enums,
useful for state machines, flags, and message types. Only = and <>
comparisons allowed; no arithmetic or type mixing. Supported in variable
declarations, SUB parameters, CASE statements, DIM arrays, and struct
members. All 220 tests pass with no regressions.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@mdbergmann mdbergmann merged commit d60f75c into master Feb 21, 2026
@mdbergmann mdbergmann mentioned this pull request Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant