bs-classic: Swap the precedence level of :=
and $
#566
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 bluespec classic, this allows
$
to be used on either side of a:=
.It should not have any impact on bluespec verilog, where
$
is not a valid operator (AFAIK).E.g., something like this would be syntactically legal:
select foo $ f1 a := map f2 $ map f3 v
Wanting to use
$
on the lhs of an assignment is probably uncommon, but the rhs is more sensible.E.g., something like:
foo := map f $ map g v
is currently an error, because, it would try to pass
map g v
as an argument tofoo := map f
, which is not the intention.I think the result of a
:=
is alwaysAction
which can't take an argument, so I do not believe the existing behavior needs to be preserved.Alternatives that might be worth considering:
Setting both operators to the same precedence level works to allow
$
on the rhs of:=
.It feels more natural to me to swap them though.