[P4-design] P4 language design resuming

Mihai Budiu mbudiu at vmware.com
Mon Oct 29 12:26:38 EDT 2018


We are proposing the following schedule for the P4 language design meetings: a regular meeting on the first Monday of every month; this will be rescheduled to the second Monday if the first Monday is a holiday. We may have additional meetings on other Mondays with sub-working groups that are interested in advancing particular language issues, e.g., as we had with the modularity working group.

According to this rule our first regular meeting will be next Monday, November 5, at 1:30 Pacific time.
I am including a meeting invite using Zoom. Currently there is no physical location for the meeting; if someone wants to volunteer to host one please let us know.

See you next Monday!
Mihai and Nate

Mihai Budiu is inviting you to a scheduled Zoom meeting.

JOIN NOW<https://VMware.zoom.us/j/890431652>



https://VMware.zoom.us/j/890431652

Meeting ID: 890 431 652<https://VMware.zoom.us/j/890431652>



From: P4-design <p4-design-bounces at lists.p4.org> On Behalf Of Mihai Budiu
Sent: Monday, October 1, 2018 10:32 AM
To: p4-design <p4-design at lists.p4.org>
Subject: [P4-design] P4 language design resuming

Hello everyone,

We are planning to resume our quasi-regular meetings of the P4 design working group.
We have accumulated some interesting items to work on. Here is a list of what I could find. Please send more suggestions if I missed something.
The plan would be to resume the meetings on Mondays at 1:30-3:00, using both videoconferencing and in-person meetings rotating between several locations.

Mihai & Nate


  *   Useful generics using some form of type constraints
  *   A corner case in the slice operator applied to signed integers: https://github.com/p4lang/p4-spec/issues/668<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F668&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=1SkWko9RRm2cjHTHZzbtpBXcq6t6QglkwzNMekOqDSk%3D&reserved=0>
  *   Statically determining the size of a header: https://github.com/p4lang/p4-spec/issues/660<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F660&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=2FfDw7RqmOe7APMZMz%2BO%2B%2B3T2n6zBLpDLKRnSK3%2BEuQ%3D&reserved=0>
  *   A module system to replace #include: https://github.com/p4lang/p4-spec/issues/628<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F628&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=XV6AywUg3BIpbU6r32ri1rHwi5ZEjq3ZNgWUaF8H0r0%3D&reserved=0>
  *   Operator overloading, may be useful for supporting newly introduced types: https://github.com/p4lang/p4-spec/issues/616<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F616&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=4y%2F%2F2iurKPOF3eA%2FUyzkhD5sFuaNgQnlldK6ImIEN7U%3D&reserved=0>
  *   Abstract methods in extern objects; these are already an experimental feature, with lots of subtle problems, including capturing the environment: https://github.com/p4lang/p4-spec/issues/561<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F561&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=be8vK2rpRmABTbQ4%2B2Xv2AbvwQqHwzxs8AXPXGDxlDM%3D&reserved=0>, https://github.com/p4lang/p4c/issues/1175<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4c%2Fissues%2F1175&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=u9aZEIs69TKQnzIcNdcwuOncrFS8B%2FIqiNjS5MNKd2Y%3D&reserved=0>, https://github.com/p4lang/p4c/pull/1468<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4c%2Fpull%2F1468&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=ltUpPgVJ%2BJVKt8SAZsjjKQdjTdm8HJa9PcHN9mrWaHU%3D&reserved=0>, https://github.com/p4lang/p4c/pull/1284<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4c%2Fpull%2F1284&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=KQdPVdATwl9AgfnUh%2FcL8tP2H7dZ%2BYX5RNrety6nX5g%3D&reserved=0>, etc.
  *   Structure initializers with named fields; there is now some support in the IR to make this easier: https://github.com/p4lang/p4c/pull/1498<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4c%2Fpull%2F1498&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=jZTkbGT%2FmSj8RVkxfOMHxMBtIZwPtxPS1gZ4CKTjo3o%3D&reserved=0>
  *   Supporting both hit and switch: https://github.com/p4lang/p4-spec/issues/485<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F485&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=yraXjrO55IAUGUwR%2BjyGRDHqSFwaKKhL7j0Dg27XWAM%3D&reserved=0>
  *   Writable "in" arguments: https://github.com/p4lang/p4-spec/issues/424<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F424&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=P7JF9e%2F%2FzpeprbCC7%2FDE%2FtCoY2RRAh3v%2BaXDZyYm6ms%3D&reserved=0>
  *   Allow structs in headers: https://github.com/p4lang/p4-spec/issues/383<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F383&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=4hHabW%2FUiP4ouEOuli3p1bXDN8n9iVUBfGxQeVZstcw%3D&reserved=0>
  *   Run-time int values: https://github.com/p4lang/p4-spec/issues/347<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F347&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=LBva1cDs1nso2wPcGzNsdEEHkCzDQsL4z6dmjVS0jDg%3D&reserved=0>
  *   Int type: https://github.com/p4lang/p4-spec/issues/331<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F331&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=HQDwa6LaUoDwMBIxcYfwKtCYapEzqw6dYQ7GhJAyKyk%3D&reserved=0>
  *   Defining operations in varbits: https://github.com/p4lang/p4-spec/issues/264<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F264&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=kQ8t69DZO4QC4QmRuMJ%2FprUb0hbYiu2cPqkUZTWsveg%3D&reserved=0>
  *   Empty tuples: https://github.com/p4lang/p4-spec/issues/282<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F282&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=Jdt8nhPsEzOV5T01lklQMc4QZ1zQgQY%2FZVnoZGT1FWk%3D&reserved=0>
  *   Header stack initializers: https://github.com/p4lang/p4-spec/issues/198<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F198&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=jMNi9M%2F0icjBzA5S4IRR15IeW6rhsQPQFUrnyhxFL8U%3D&reserved=0>
  *   Named field lists: https://github.com/p4lang/p4-spec/issues/51<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F51&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=EWAEPDk7mqIVUCdMljW6PvI7DYh7HRmpRzt6am0sr3g%3D&reserved=0>
  *   Some form of iterators: https://github.com/p4lang/p4-spec/issues/84<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fissues%2F84&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=A7ESukYUi6C%2F%2BmWEw9KLCt3PRN5m0ZKdZi8%2FqYaqbE8%3D&reserved=0>
  *   Structure overlays: https://github.com/p4lang/p4-spec/pull/656<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fpull%2F656&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=mjgWps2H35Q3lhKhdxtcarNG6dwos%2BIgeFzZYvMyJK4%3D&reserved=0>
  *   Deprecated annotation: https://github.com/p4lang/p4-spec/pull/655<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fpull%2F655&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=vO6XO2EmITVrDemPFWBAZYuSo9s594YqZlCcTpRChIU%3D&reserved=0>
  *   Computed bit-widths: https://github.com/p4lang/p4-spec/pull/641<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Fp4-spec%2Fpull%2F641&data=02%7C01%7Cmbudiu%40vmware.com%7C350102540fd04e4cbdf008d627c3f4fb%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C1%7C0%7C636740119917677345&sdata=a1YFeNuWsXfUPSWt9WoAOi%2BwkGonvVLc8uCurI67DlU%3D&reserved=0>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-design_lists.p4.org/attachments/20181029/05df5d63/attachment-0001.html>


More information about the P4-design mailing list