Skip to content

Language Design Working Group

Mihai Budiu edited this page Oct 2, 2020 · 297 revisions

This is the list of topics under discussion considered for inclusion in P4-16:

Topic References Owner PR Status
Ordering of annotations #715 @jafingerhut, @mbudiu-vmw Should be meaningful
A quick way to rename actions p4c#2501 @vgurevich Vladimir will write 2 PRs on the spec
A more general switch statement @jafingerhut #887
Should last switch case require having a body? @jafingerhut #887, p4c#2575 Probably best discussed as part of "A more general switch statement"
Unions for non-header objects discussion @jafingerhut
Type-based disambiguation #884 @vgurevich
Parse varbit values @mbudiu-vmw #883
Table initializer syntax p4c#2456
Controlling the way parsers are implemented; semantics of parser exceptions #880 @vgurevich
Anonymous structs @vgurevich, @jnfoster
Tuple fields 864 @mbudiu-vmw, @jnfoster 877 p4c#2451
Casts to/from int p4c#2444 @mbudiu-vmw
optional match kind @stefanheule
Specify semantics of match kinds @jafingerhut, @vladimir
Side-effects in select labels @mbudiu-vmw 851
Side-effects in action arguments @mbudiu-vmw 852
if statements in parsers p4c#2127 @mbudiu-vmw 808, p4c#2386
Additional function annotations detailed discussion @jafingerhut #802
Structure overlays @mbudiu-vmw #656 Needs implementation in p4c
Ordering of table properties #779
setValid(bool) #742 @hanw
Naming consistency #762 @vgurevich
Pragmas @vgurevich
Default values for type parameters p4c#1585 @hanw p4c#1637
A module system to replace #include #628, Notes, Questions @jnfoster, @jafingerhut, @mbudiu-vmw #718 #798
Abstract methods in extern objects; these are already an experimental feature, with lots of subtle problems, including capturing the environment #561 p4c#1175 p4c#1468 p4c#1284 @mbudiu-vmw #771
Type unification of lists and tuples #792 @mbudiu-vmw Needs implementation in p4c
New match kinds #794 #795 @stefanheule p4c#2146 Needs implementation in bmv2
Documenting/standardizing the IR @chrispsommers
Useful generics using some form of type constraints @jnfoster
Local type definitions #687 N/A
Operator overloading, may be useful for supporting newly introduced types #616 N/A
Supporting both hit and switch #485 N/A
Writable “in” arguments #424 N/A
Header stack initializers #198 N/A
Named field lists #51 N/A
Some form of iterators #84 N/A
List expressions as left values #752 N/A
Padding fields 683 @jafingerhut
Padding packets 587 @jafingerhut
Recirculate in P4-16 + v1model p4c#1669, slides @mbudiu-vmw p4c#1698 Will not fix

Meeting Minutes

Starting in July 2020, minutes for LDWG meetings are kept in a Google Doc:

Minutes for older LDWG meetings can be found here:

Clone this wiki locally