hoon: in +ape:ag, make zero a plain atom #6373
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the
+ape
parser constructor, we were providing0
as the parsing result for the zero character. Hoon syntax dictates this is a@ud
however, resulting in a parsing output type of?(@ud etc)
. Since+ape
is commonly used for parsing atoms of various kinds, one might end up with a result of?(@ud @)
, which would fail to nest directly under, say,@uv
, requiring parsers to add a casting step.Here, we simply cast the zero result to
@
to make it perfectly generic. This should alleviate the need for a casting step in parsers that need to fit their output into a specific aura.(The output type in the common case (ie,
+hex:ag
,+viz:ag
) is now?(@ @)
, which is still somewhat strange, but should have better ergonomics.)Since
@
can be used in any place@ud
is accepted, this is a non-breaking change.