My body is ugly [Re: Contextualizing keywords]
Steven Schveighoffer
schveiguy at yahoo.com
Mon Aug 3 08:56:35 PDT 2009
On Mon, 03 Aug 2009 11:47:49 -0400, Don <nospam at nospam.com> wrote:
> Michiel Helvensteijn wrote:
>> Don wrote:
>>
>>> It would be strange to put outer function statements before the
>>> precondition, but that's true of any inner function.
>> I don't see it as an inner function, but as a part of the public
>> interface.
>> It's an enforceable documentation of the function.
>
> I agree, except that I don't see any reason why a special inner function
> cannot be part of the public interface. I don't think it makes any
> difference where it is appears in the code.
> In my experience, most of the code in the precondition frequently gets
> duplicated in the function itself. But that's secondary -- I just want
> to get rid of 'body'.
>
> The stronger argument against the 'inner function' syntax is the case
> when you have an interface, which naturally has no body, but still has
> an 'in' contract. Where does the contract go?
>
> I refuse to believe that the optimal solution to that problem involves
> the 'body' keyword.
Don't template constraints have a similar syntax, but no body keyword?
Why can't that be the same for preconditions?
-Steve
More information about the Digitalmars-d
mailing list