Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82445 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 61666 invoked from network); 11 Feb 2015 07:54:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Feb 2015 07:54:24 -0000 Authentication-Results: pb1.pair.com smtp.mail=pthreads@pthreads.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=pthreads@pthreads.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pthreads.org from 209.85.220.50 cause and error) X-PHP-List-Original-Sender: pthreads@pthreads.org X-Host-Fingerprint: 209.85.220.50 mail-pa0-f50.google.com Received: from [209.85.220.50] ([209.85.220.50:35714] helo=mail-pa0-f50.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 54/BC-33902-FAA0BD45 for ; Wed, 11 Feb 2015 02:54:23 -0500 Received: by mail-pa0-f50.google.com with SMTP id hz1so2353315pad.9 for ; Tue, 10 Feb 2015 23:54:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=3wzCDsaGifP8hPI/minS6hTKh1Bc0/XHqKbYJxcWrsI=; b=OMWwdQBjsTT7DypgPPXnXA+4NTVnScXSKHgv/c2e44mtAbYaTzVI05man0BT1R+n3b itZAUGrZmOUUGicsfs06bFWkx+7m8cNE5/MSSflgmvg9nrDjDw+LNfigf678XtvJWB2j 6VV/Te+/+aaJPij9y+8qwTl1L0aXaTM6hs7W0D49Q8QKyUfs3oTtyRaG6/fwSg0AMLuZ TQr8X9GkLVaEsbqSmubGdCNEJM6KYjL/Gj9dNXvbSIDurWq8smJVqW9vWj2mp6fLn2ur t72loPp1bFnYXJAjIQ8M2WmB6WyKDHe5XR8GSdAA75sxYzKlOVlrI/mKEOj9RlnBc6oT r1uQ== X-Gm-Message-State: ALoCoQlQiaYlhZPjOPaCZ1VcObiJnfY2Ub4N/2UJ3RegCWLs1jGQq+/F/5B8RdhHydcHLxnuoXQe MIME-Version: 1.0 X-Received: by 10.66.185.230 with SMTP id ff6mr44450442pac.102.1423641260611; Tue, 10 Feb 2015 23:54:20 -0800 (PST) Received: by 10.70.49.100 with HTTP; Tue, 10 Feb 2015 23:54:20 -0800 (PST) X-Originating-IP: [109.145.22.92] In-Reply-To: References: <54D7ED22.3080001@gmail.com> Date: Wed, 11 Feb 2015 07:54:20 +0000 Message-ID: To: Yasuo Ohgaki Cc: Dmitry Stogov , Patrick Schaaf , internals Content-Type: multipart/alternative; boundary=001a1134259aa07036050ecb4f7b Subject: Re: [PHP-DEV] Design by Contract From: pthreads@pthreads.org (Joe Watkins) --001a1134259aa07036050ecb4f7b Content-Type: text/plain; charset=UTF-8 So it turns out that invariant is already deprecated in D, they have dropped it in favour of immutable properties. I guess I'll have to install an old version, or try to extract everything we need from their obviously outdated documentation ... Grrr ... Cheers Joe On Wed, Feb 11, 2015 at 7:50 AM, Yasuo Ohgaki wrote: > Hi Dmitry, > > On Wed, Feb 11, 2015 at 4:26 PM, Dmitry Stogov wrote: > >> I think we should just repeat the related D semantic. >> It must be defined in contracts inheritance rules. >> >> What if we have contracts for prototype method in parent class and >> interface? >> Should we still validate contracts of parent and interface if we add our >> owns? >> etc. > > > Both D and Eiffel evaluates all contracts defined in parents/interfaces. > > Both D and Eiffel has method like invariant definition. They don't inherit > explicitly, but inherit implicitly always. That's why I sent strange mail. > I read code > and misunderstood by mistake. I don't code with D much, but I really like > the > feature ;) > > Regards, > > -- > Yasuo Ohgaki > yohgaki@ohgaki.net > > --001a1134259aa07036050ecb4f7b--