Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:42063 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 58527 invoked from network); 26 Nov 2008 23:08:11 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Nov 2008 23:08:11 -0000 Authentication-Results: pb1.pair.com header.from=apinstein@mac.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=apinstein@mac.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain mac.com designates 17.148.16.87 as permitted sender) X-PHP-List-Original-Sender: apinstein@mac.com X-Host-Fingerprint: 17.148.16.87 asmtpout012.mac.com Solaris 10 1203 Received: from [17.148.16.87] ([17.148.16.87:39152] helo=asmtpout012.mac.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 81/00-58440-1D6DD294 for ; Wed, 26 Nov 2008 18:08:09 -0500 MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Received: from [10.0.1.102] ([24.30.100.146]) by asmtp012.mac.com (Sun Java(tm) System Messaging Server 6.3-7.03 (built Aug 7 2008; 32bit)) with ESMTPA id <0KAY00406QWWQ990@asmtp012.mac.com> for internals@lists.php.net; Wed, 26 Nov 2008 15:07:45 -0800 (PST) Message-ID: <48D535F0-CCAE-4151-AC6B-94A0BBFC59BA@mac.com> To: internals@lists.php.net In-reply-to: <492B62A1.2000207@rwth-aachen.de> Date: Wed, 26 Nov 2008 18:07:44 -0500 References: <002b01c92d67$ae92fdc0$0bb8f940$@de> <79.C8.07308.CDE4C194@pb1.pair.com> <49203DF2.1020006@stefan-marr.de> <45289205.20081125005213@marcus-boerger.de> <492B62A1.2000207@rwth-aachen.de> X-Mailer: Apple Mail (2.929.2) Subject: Re: [PHP-DEV] Grafts, Traits, horizontal reuse From: apinstein@mac.com (Alan Pinstein) On Nov 24, 2008, at 9:27 PM, Christopher Vogt wrote: > Interfaces are helpful in combination with type hinting, but for > people who prefer > duck typing, it is reasonable to not explicitly define them. It sounds like you are saying that if you prefer duck typing then interfaces have no use. If this is what you mean, I disagree strongly. Interfaces are primarily to create a set of methods that define an interface. Then the compiler can enforce implementation of that interface in any class that claims to implement the interface. This is the core utility of interfaces. Alan