some_object.apply(method_name, param, ...) // sure looks like evaluation to meI'm not sure what you mean by "true business application" but there is a transient form of mutable state that an object possesses in between processing a request and returning a response that is seperate from the state that the database holds. It is up to you whether you want that transient state to be mutable or not.
An object itself cannot be evaluated. Methods can be evaluated but not the object itself. Is your example referring to a specific language?... because in general objects are not functions.
Python would disagree.
class A(object):
def __init__(self):
pass
x = A()
x()
you get this output to stderr: Traceback (most recent call last):
File "python_temp.py", line 6, in <module>
x()
TypeError: 'A' object is not callable
Of course you can mess with the callable magic method, but that's more of a trick then a standard. You may be referring to how functions in python are implemented as callable objects rather than primitives. This is an implementation detail that is language specific, similar to how in javascript, functions are also classes.In standard programming vernacular and practice, objects and functions are two different primitives. They are not the same thing. An object is a noun, a function is a verb, and just like their english grammar counter parts functions and objects are primitives because a Noun is not really a special kind of verb nor is a verb a special case of a noun.
Edit: added more detail, grammar editing.
Implementing a __call__ function is indeed what I was referring to.