Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45824 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 10267 invoked from network); 15 Oct 2009 14:35:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Oct 2009 14:35:01 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@stefan-marr.de; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=php@stefan-marr.de; sender-id=unknown Received-SPF: error (pb1.pair.com: domain stefan-marr.de from 85.88.12.247 cause and error) X-PHP-List-Original-Sender: php@stefan-marr.de X-Host-Fingerprint: 85.88.12.247 toolslave.net Received: from [85.88.12.247] ([85.88.12.247:38153] helo=uhweb12247.united-hoster.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D2/E4-14330-31337DA4 for ; Thu, 15 Oct 2009 10:34:59 -0400 Received: from soft83.vub.ac.be ([134.184.43.183]) by uhweb12247.united-hoster.com with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.69) (envelope-from ) id 1MyRPe-0007QO-Od; Thu, 15 Oct 2009 16:34:47 +0200 Mime-Version: 1.0 (Apple Message framework v1074) Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes In-Reply-To: <001d01ca4d9d$56fdd380$04f97a80$@com> Date: Thu, 15 Oct 2009 16:34:37 +0200 Cc: "'Lukas Kahwe Smith'" , "'Stanislav Malyshev'" , Content-Transfer-Encoding: 7bit Message-ID: <6799828F-FE17-4962-B5B3-15FFCA459023@stefan-marr.de> References: <002b01c92d67$ae92fdc0$0bb8f940$@de> <9D1CD88B-3A75-453C-9515-5F31E60F90AC@pooteeweet.org> <90CF2907-8C30-4EB0-9AC5-AD00EFC14023@stefan-marr.de> <4AD62E77.9010802@zend.com> <3530BC53-F4D6-48EC-BBEB-54E79AD497C3@pooteeweet.org> <001d01ca4d9d$56fdd380$04f97a80$@com> To: Jonathan Bond-Caron X-Mailer: Apple Mail (2.1074) Subject: Re: [PHP-DEV] Request for Comments: Horizontal Reuse for PHP From: php@stefan-marr.de (Stefan Marr) Hi: > Has it been discussed to add a portion of the patch to HEAD? > > Hopefully, people can agree on a simple patch that ignores conflict > resolution / aliasing solution and just adds: Ehm, hopefully not...? The power of traits is the explicit resolution of conflicts. And at least for me, that is the interesting part here. I agree that mixins (traits without explicit conflict resolution) are easier to begin with, but they have problem in the long run. Linearization introduces brittle architectures, which does not cope well with changes. Tom mentioned that he thinks that PHP6 is moving in a more strict direction, probably that is also motivated by the large systems already out there, for which people tend to prefer more strict language features. In this sense, an explicit conflict resolution is a must-have. Anyway, could I ask you to move your changes from the outdated RFC over to the one we are talking about? (http://wiki.php.net/rfc/horizontalreuse ) Best Stefan PS: Is there a way to have a watermark or something which marks the old RFC as outdated? I don't want to delete it for documentation purpose... > trait User_Comments {} > > class App_Document with User_Comments {} > > // Or the original syntax > class App_Email { > use User_Comments; > } > > The details of conflict resolution, if the use cases are strong > enough can > come later. > > Grafts well... the re-use is interesting but I worry about how php > is going > to evolve is you start offering that much flexibility. > > Just my thoughts, great work though. -- Stefan Marr Software Languages Lab Former Programming Technology Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://prog.vub.ac.be/~smarr Phone: +32 2 629 3956 Fax: +32 2 629 3525