Difference between revisions of "Talk:Agents in SCOOP"

(New page: I use the first parameter in ROUTINE as a documentation hint in deferred classes with a single routine. --~~~~)
 
Line 1: Line 1:
I use the first parameter in ROUTINE as a documentation hint in deferred classes with a single routine.
+
I use the first parameter in ROUTINE as a documentation hint, to specify the contract an agent is expected to fulfill.
 +
 
 +
That is, I declare the callback agent as having type ROUTINE [MY_CLASS, TUPLE [....]]
 +
 
 +
Then in MY_CLASS I declare a single deferred routine that conforms to the expected signature of the callback.
 +
This routine is then equipped with contracts.
 +
 
 +
This serves as a hint to the user as to what the requirements of the callback actually are. If the user follows the hint by inheriting from MY_CLASS to implement the call back, then the contract is actually checked at runtime, and so provides an early warning of what the bug is.
 +
 
 +
So I find it usefull.
  
 
--[[User:Colin-adams|Colin-adams]] 07:37, 21 March 2013 (UTC)
 
--[[User:Colin-adams|Colin-adams]] 07:37, 21 March 2013 (UTC)

Revision as of 23:43, 20 March 2013

I use the first parameter in ROUTINE as a documentation hint, to specify the contract an agent is expected to fulfill.

That is, I declare the callback agent as having type ROUTINE [MY_CLASS, TUPLE [....]]

Then in MY_CLASS I declare a single deferred routine that conforms to the expected signature of the callback. This routine is then equipped with contracts.

This serves as a hint to the user as to what the requirements of the callback actually are. If the user follows the hint by inheriting from MY_CLASS to implement the call back, then the contract is actually checked at runtime, and so provides an early warning of what the bug is.

So I find it usefull.

--Colin-adams 07:37, 21 March 2013 (UTC)