Talk:Agents in SCOOP: Difference between revisions
Jump to navigation
Jump to search
Colin-adams (talk | contribs) New page: I use the first parameter in ROUTINE as a documentation hint in deferred classes with a single routine. --~~~~ |
Colin-adams (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
I use the first parameter in ROUTINE as a documentation hint in deferred | 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 07:43, 21 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)