# Semantics of non-methods in the object system

**URL:** <https://forum.anoma.net/t/semantics-of-non-methods-in-the-object-system/1685>\
**Category:** Protocol Design\
**Created:** [June 27, 2025, 9:52am UTC](https://forum.anoma.net/t/semantics-of-non-methods-in-the-object-system/1685 "2025-06-27T09:52:08Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![cwgoes](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.anoma.net/cwgoes/32/22_2.png) [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Post date:** [July 28, 2025, 1:56pm UTC](https://forum.anoma.net/t/semantics-of-non-methods-in-the-object-system/1685/9 "2025-07-28T13:56:21Z")

</div>

Thank you for the comprehensive response!

> [@Lukasz](#):
>
> But I think a general concern about exploitability remains: the object (or: the RL of the corresponding resource) needs to known about the messages it can send/receive, and in particular ensure that the logics associated with these messages are as expected. Otherwise, one can game the compilation scheme to create “illegal” object state transitions. This sounds clear, but the question is how does the object know (enough) about things that can dynamically change (overriden/added methods, new intents)?

For messages sent by a particular object, I don’t think we can expect the object to know more than (a) the message _data_ and (b) the intended message _recipient_. My rough expectation with this proposal was that we would encode these in the kind of the message-carrying resource, which can certainly be checked by the object-resource. Whatever dynamism we have, if a given object does not know the identifier of a potential message recipient, or how to encode a particular method, it simply cannot call the method. Now, we could devise “meta”-methods for _lookup_, but I think this is best treated as a separate concern – I touched upon the topic in the last section of [this post](https://forum.anoma.net/t/further-brainstorming-on-several-avm-related-topics/1994). To touch upon the two specific examples of concern you cite:

1. Whether a particular method is “overridden” seems to me like a concern purely of the receiving object (not the sender). Now, we might want “reasoning tools” to check that a method which we’re invoking behaves in a way which we expect, that’s definitely important, but that seems to me like a more general (and more difficult) topic. Is there a particular benefit to the sender knowing that a method has been overriden?
2. I think intents can be represented in a way which avoids these problems entirely (see [the same post again](https://forum.anoma.net/t/further-brainstorming-on-several-avm-related-topics/1994)). If that approach doesn’t help, then perhaps I don’t understand the problem you have in mind clearly yet.

… out of time, will respond further later (or in the call)!

---

_[View the full topic](https://forum.anoma.net/t/semantics-of-non-methods-in-the-object-system/1685)._
