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

teach exo's from the start? #1033

Open
dckc opened this issue Mar 25, 2024 · 7 comments
Open

teach exo's from the start? #1033

dckc opened this issue Mar 25, 2024 · 7 comments

Comments

@dckc
Copy link
Member

dckc commented Mar 25, 2024

our hello world contract currently uses Far, as does dapp-offer-up and dapp-agoric-basics.

Then we teach contract upgrade later, with a brief example exoClass.

Some have suggested teaching exo's from the start (@dtribble , @ivanlei , @erights ? @mhofman ?)

Should we?

The decision should probably be informed by trying it out first.

cc @sufyaankhan @kriskowal

@erights
Copy link
Member

erights commented Mar 25, 2024

I certainly agree we should learn from trying it. I am hopeful that it'll turn out well, but we'll see ;)

@erights
Copy link
Member

erights commented Mar 25, 2024

See endojs/endo#2118

@dckc
Copy link
Member Author

dckc commented Mar 26, 2024

The exo docs presume an understanding of Far:

An Exo is a Far object protected by an interface guard.

If we're going to avoid teaching Far, that seems like an important place to start.

@dckc
Copy link
Member Author

dckc commented Mar 26, 2024

@kriskowal has an interesting suggestion:

If it serves a purpose in the docs, I think it provides a gentle step up to Exo. You write a Far function, write all the necessary validation to make it safe, then convert it to an Exo. Shows the user that it’s a net savings once the object is made safe to share.

Part of me likes that idea, but part of me is trying to avoid documenting how the sausage is made and just hand over the dang sausage. So... hm. I'm not sure.

@LuqiPan
Copy link
Contributor

LuqiPan commented Mar 26, 2024

Do we expect developers to use exo exclusively?

@erights
Copy link
Member

erights commented Mar 26, 2024

Do we expect developers to use exo exclusively?

As opposed to Far? Yes.

@mhofman
Copy link
Member

mhofman commented Apr 3, 2024

The exo docs presume an understanding of Far:

An Exo is a Far object protected by an interface guard.

The fact that all exos are Far objects is also something that we may want to revisit. Right now we miss the ability to create high cardinality or simply objects with interface guards that are not exportable.

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

4 participants