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

Candid subtyping meta-issue #1523

Closed
nomeata opened this issue May 19, 2020 · 6 comments
Closed

Candid subtyping meta-issue #1523

nomeata opened this issue May 19, 2020 · 6 comments
Assignees
Labels
idl Candid or serialisation language design Requires design work P1 high priority, resolve before the next milestone typing Involves the type system

Comments

@nomeata
Copy link
Collaborator

nomeata commented May 19, 2020

We have had many attempts at solving the problem of “how to extend records in arguments of Candid functions”, but don’t have an overview (so every new attempts involes some serious github archeology). This issue tries to collect all the different variants we discussed, ideally with links such discussions (obviously tricky when discussion happend in Radiohead). I took the liberty of trying to put a little taxinomy on this.

Meta-theory:

@nomeata
Copy link
Collaborator Author

nomeata commented May 19, 2020

(Ideally, discuss the taxinomy here, but discuss the merits of the corresponding proposals there, else this discussion will grow out of proportion.)

@matthewhammer
Copy link
Contributor

Thanks for this summary. Very helpful.

As far as the relational comparison and analysis, I feel a cube-like picture coming on, reminiscent of the lambda cube. Hopefully things are not that complex, though.

@rossberg rossberg added idl Candid or serialisation language design Requires design work P1 high priority, resolve before the next milestone typing Involves the type system labels May 19, 2020
@nomeata
Copy link
Collaborator Author

nomeata commented May 26, 2020

Just remembered there was also the “history based solution”, #1106; added. Oh, and also #1150.

@matthewhammer
Copy link
Contributor

Moved the "evolution-based" idea from Oct to go with the Jan "stateful solutions", since I think it belongs with those other solutions, which subsume it (or at least, #1106 does).

@rossberg
Copy link
Contributor

Here is what Cap'n Proto has to say about possible protocol evolution. They only consider compatibility of representation, and completely ignore the semantic ability to handle the changes.

@rossberg
Copy link
Contributor

Addressed by dfinity/candid#110.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idl Candid or serialisation language design Requires design work P1 high priority, resolve before the next milestone typing Involves the type system
Projects
None yet
Development

No branches or pull requests

3 participants