Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71751 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 82925 invoked from network); 29 Jan 2014 20:32:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 29 Jan 2014 20:32:31 -0000 Authentication-Results: pb1.pair.com smtp.mail=yohgaki@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=yohgaki@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.49 as permitted sender) X-PHP-List-Original-Sender: yohgaki@gmail.com X-Host-Fingerprint: 209.85.215.49 mail-la0-f49.google.com Received: from [209.85.215.49] ([209.85.215.49:52773] helo=mail-la0-f49.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 8D/25-52228-D5569E25 for ; Wed, 29 Jan 2014 15:32:30 -0500 Received: by mail-la0-f49.google.com with SMTP id y1so1866287lam.22 for ; Wed, 29 Jan 2014 12:32:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=x813WBSopjGFBnD8wOucabC42iaoXtkj3SIRM3eogkI=; b=rBsccRx9tWC3uBU7/z0H9+R7uIQaZBoJgyuRonvWUhszdRodqJLJo2o7qDXpu2UQ5t /CfAlBQpEUICosKGw1/p2IcWY/jexlLhwBNsSx8to/BMn5wNFiO5B9CqQKXg1bw1CDTj L338EByXy66AfucNfA81A+iaiHiYbOFKCICZosRy7HqY67XrAo+r8fJcsAlL3reMmvnp lMFtdX0nw7AxLWSI7P8oYBsOIf/klALO4vvgGTv1Y1oAA0Hmnu6dKkVlDqtD45k7PsyY 0VzsfEyIXLm3fsDmTLSA/eF1o2XhCjJ24dtFc1TD8Jc4QZynl1/ZPc8qa6Z3oUnRXKS4 MhrA== X-Received: by 10.112.148.104 with SMTP id tr8mr2397051lbb.42.1391027546558; Wed, 29 Jan 2014 12:32:26 -0800 (PST) MIME-Version: 1.0 Sender: yohgaki@gmail.com Received: by 10.112.199.37 with HTTP; Wed, 29 Jan 2014 12:31:46 -0800 (PST) In-Reply-To: <52E8C04E.1090609@hoa-project.net> References: <52E8C04E.1090609@hoa-project.net> Date: Thu, 30 Jan 2014 05:31:46 +0900 X-Google-Sender-Auth: QHzUrD0XCilWdiWG9qcYv-sSFoY Message-ID: To: "Ivan Enderlin @ Hoa" Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=047d7b3a8300c9183704f121d6ec Subject: Re: [PHP-DEV] DbC for PHP? From: yohgaki@ohgaki.net (Yasuo Ohgaki) --047d7b3a8300c9183704f121d6ec Content-Type: text/plain; charset=UTF-8 Hi Ivan, On Wed, Jan 29, 2014 at 5:48 PM, Ivan Enderlin @ Hoa < ivan.enderlin@hoa-project.net> wrote: > I think DbC must stay annotations, so in comments of the code. If > contracts would be part of the PHP grammar, it would be disappointed for > everyone because there is no unique way to express a contract: either with > the language syntax itself (such as JML [9]) or with a dedicated language, > such as Praspel. Both have pros and cons that I won't describe here (except > if you ask). > However, having the Aspect Oriented Programming paradigm would be very > appreciated. It would avoid a lot of instrumentations and static analyzes. > This idea is a too simple and leaving almost all to user land scripts. I agree that DbC must stay annotations. It's easier to write/read/maintain. Unfortunately, annotation RFC is not accepted. I agree that comprehensive implementation should be chosen if it's possible. Thank you for your inputs! [1] https://en.wikipedia.org/wiki/Praspel [2] http://hoa-project.net/En/Literature.html#Research [3] http://keynote.hoa-project.net/Amost12/EDGB12.pdf [4] https://github.com/hoaproject/Compiler (documentation is under translation) [5] http://keynote.hoa-project.net/Cstva13/EGB13.pdf [6] https://github.com/hoaproject/Praspel/tree/master/AssertionChecker [7] http://atoum.org/ [8] https://github.com/hoaproject/Hoathis-Atoum [9] https://en.wikipedia.org/wiki/Java_Modeling_Language I'll read them later. Regards, -- Yasuo Ohgaki yohgaki@ohgaki.net --047d7b3a8300c9183704f121d6ec--