-
Notifications
You must be signed in to change notification settings - Fork 80
LDWG meeting minutes, December 3, 2018
Mihai Budiu edited this page Dec 4, 2018
·
1 revision
There were 9 participants in the Zoom meeting.
We have covered the following topics, which are all present on the main LDWG wiki page: https://github.com/p4lang/p4-spec/wiki/Language-Design-Working-Group. Some of these already have Pull Requests in the Spec and the compiler repositories.
-
@deprecated
annotations https://github.com/p4lang/p4-spec/pull/655 - Free form annotations: a proposal to allow an arbitrary grammar for annotations, as long as the grammar contains balanced parentheses. There is already a PR against the compiler with the implementation https://github.com/p4lang/p4-spec/issues/695, @liujed will write a PR against the spec
- Requiring the
default
label in aswitch
statement to come last. This will make the evaluation ofswitch
statements more obvious to humans: unlikeselect
expressions, the order of labels in aswitch
statement does not matter. https://github.com/p4lang/p4-spec/pull/704 - Statically obtaining the size of header https://github.com/p4lang/p4-spec/issues/660. This is most useful for headers with fixed sizes. Support for structs or variable-sized headers could be added later.
- Allowing parsers/controls as type arguments (and not parser/control prototypes): https://github.com/p4lang/p4c/issues/1604. It is not clear whether this is necessary.
- Allowing empty tuples in the language, written as
tuple<>
. https://github.com/p4lang/p4-spec/issues/282 - Extending the bit-slicing operation
x[10:2]
to signed values. https://github.com/p4lang/p4-spec/pull/701 We did not agree whether slices should inherit the type of the source bitstring or should always be unsigned. Both designs make sense. - Support for an
int
type in the language https://github.com/p4lang/p4-spec/pull/706. This will allow constants that have arbitrary width to be declaredconst int x = 5;
- We will have a separate meeting to discuss bitstring structs in headers, due to timing constraints of some participants.
- Structure field overlays. This is an early proposal https://github.com/p4lang/p4-spec/pull/656 which allows defining a struct that stores its data in the fields of another struct. We have discussed requirements that make this unambiguous. We have to come up with a clear set of rules about what overlays are permitted. This is especially tricky since overlays can be left-values.
The discussion of these issues will continue using the github mechanisms (issues, comments, code reviews).
The next meeting will be Monday January 7 at 1:30PM Pacific Time. An email will be sent on the p4-design mailing list with the online meeting coordinates; we will probably reuse the same zoom meeting.