Reading The DAO and DigixDAO source code I notice that in contract systems there are often interface contracts where functions are declared without any body.
For example,
contract TokenInterface {
function balanceOf(address _owner) constant returns (uint256 balance);
function transfer(address _to, uint256 _amount) returns (bool success);
}
What is the point of interface contracts? The above contract in The DAO is followed by a contract Token is TokenInterface {}
which repeats the exact functions declared in the interface contract except followed by the full function logic. Not sure what the point of this is- it seems redundant.