-
Notifications
You must be signed in to change notification settings - Fork 3
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
Changes to support loam #124
Comments
On a first glance, I disagree with the refactoring because I think it leads to weird semantics |
As a side note, the "Exit" opcode is most likely not needed, because you can do this:
And it works, returning 0 elements and setting the |
@wwared won't that approach need a pairing require without values? I think it will because the relation includes more values than just what the function returns. So if we don't do the require manually we will get "cumulative sum not zero" errors. Thus I think it's better to leave these control variants separate, such that The other side of the coin is having a (yes, we could do |
@arthurpaulino That's a good point, It's unclear to me how we would call a
How do you invoke I'm not sure, maybe this was poorly explained and confusing. I think that we might actually need this |
Sorry, I added a comment about that by editing my post. See what I said about |
Yes that's probably fine, we'll need to ensure that if you |
To support the v0 initial loam<->lair integration, we'll need:
Op::Require
for rawrequire!(...)
callsOp::Provide
for rawprovide!(...)
callsCtrl::Exit
for terminating a function (semantically equivalent toreturn ()
but without providing anything)Op::Exec
for executing a function that usesCtrl::Exit
We might also be able to refactor existing opcodes in term of the new ones, if that makes sense to do (e.g. implement the current Return as a Provide+Exit)The text was updated successfully, but these errors were encountered: