Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IFC] support labels with parametrically polymorphic parameters #1371

Closed
tiziano88 opened this issue Aug 18, 2020 · 1 comment
Closed

[IFC] support labels with parametrically polymorphic parameters #1371

tiziano88 opened this issue Aug 18, 2020 · 1 comment

Comments

@tiziano88
Copy link
Collaborator

At high level, the proposal is to allow for "generics" as part of IFC principals (and therefore labels).

The definition of a principal would be extended to allow for "free" named parameters to appear in label definition and use.

Currently a principal may be of the shape A or A∨B or A∧B, where A and B are themselves principals (also recursively).

With this proposal, a principal may have zero or more "generic" placeholders that refer to other principals, e.g. A[X,Y] is a principal "template" A that has two parameters X and Y.

A template needs to be instantiated in order to be used, i.e. its parameters fully specified. So for instance, A[X=B,Y=C] (exact syntax TBD), where B and C are principals (recursively), is a "concrete" principal (this is similar to monomorphization / reification in type systems).

It is still unclear to me whether this can be implemented elegantly in the current IFC model in Oak, or whether we would need to move to a "more static" model first.

This is just the beginning of a discussion, a more detailed plan will follow.

cc @aferr @anghelcovici @seefeldb @bgogul

@seefeldb
Copy link

seefeldb commented Aug 19, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants