Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:51205 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 91038 invoked from network); 3 Jan 2011 08:50:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Jan 2011 08:50:40 -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 81.20.134.149 cause and error) X-PHP-List-Original-Sender: php@stefan-marr.de X-Host-Fingerprint: 81.20.134.149 vps-1012701-4512.united-hoster.de Received: from [81.20.134.149] ([81.20.134.149:50912] helo=vps-1012701-4512.united-hoster.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 19/80-20041-EDD812D4 for ; Mon, 03 Jan 2011 03:50:38 -0500 Received: from 94-224-217-64.access.telenet.be ([94.224.217.64] helo=[192.168.0.13]) by vps-1012701-4512.united-hoster.de with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1PZg7e-0006JD-8b; Mon, 03 Jan 2011 09:50:34 +0100 Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii In-Reply-To: <4D21658A.2030208@yahoo.com.au> Date: Mon, 3 Jan 2011 09:50:28 +0100 Cc: internals@lists.php.net Content-Transfer-Encoding: quoted-printable Message-ID: References: <89C52156-CF92-4DDB-8BA4-4ABF6883512C@stefan-marr.de> <4D21415A.10002@gmail.com> <4D21658A.2030208@yahoo.com.au> To: Ben Schmidt X-Mailer: Apple Mail (2.1082) Subject: Re: [PHP-DEV] Traits and Properties From: php@stefan-marr.de (Stefan Marr) Hi Ben: On 03 Jan 2011, at 06:58, Ben Schmidt wrote: > I'm a latecomer here, but... >=20 > Stefan, doesn't this conflict with what you've written here (and the > test cases in SVN)?: >=20 > http://wiki.php.net/rfc/horizontalreuse#handling_of_propertiesstate >=20 > Or is what is happening here that the properties in traits are treated > essentially as declarations rather than definitions, triggering errors > but not actually creating properties, and you think they should = actually > create properties? Sorry, I do not understand. Is the text in the RFC contradicting or not clear enough about what the = test cases show? The intention was to provide the developer with hints when it is = possible that state is incompatible. Until now, the reason why there is not fancy mechanism for conflict = resolution for properties in traits is, first, the dynamic nature of PHP = which makes certain things like 'renaming' inconsistent with the rest of = the language, especially its meta-programming facilities, and second, = the added problem with state, that you actually have many usecases where = the state needs to be merged. However, merging behavior is not possible, = which simplifies the language constructs for handling behavioral = conflicts. Best regards Stefan --=20 Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525