Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:67984 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 23425 invoked from network); 27 Jun 2013 20:34:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Jun 2013 20:34:21 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 67.192.241.139 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 67.192.241.139 smtp139.dfw.emailsrvr.com Linux 2.6 Received: from [67.192.241.139] ([67.192.241.139:42090] helo=smtp139.dfw.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 13/F1-34034-AC1ACC15 for ; Thu, 27 Jun 2013 16:34:20 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp30.relay.dfw1a.emailsrvr.com (SMTP Server) with ESMTP id E863B348239; Thu, 27 Jun 2013 16:34:15 -0400 (EDT) X-Virus-Scanned: OK Received: by smtp30.relay.dfw1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id 8D1B93480B5; Thu, 27 Jun 2013 16:34:15 -0400 (EDT) Message-ID: <51CCA1C6.20702@sugarcrm.com> Date: Thu, 27 Jun 2013 13:34:14 -0700 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 MIME-Version: 1.0 To: Anthony Ferrara CC: "internals@lists.php.net" References: <51C9FA9C.8050403@sugarcrm.com> <51CA1C93.6080500@sugarcrm.com> <51CA24C5.9090505@sugarcrm.com> <51CB167A.4020207@sugarcrm.com> <51CC73E2.5070201@sugarcrm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] RFC: Protocol Type Hinting From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > No, my point was that you pulled the card "those languages don't have > these structural typing thigns". And I showed one reason they don't. Sorry, it was you who pulled the card of "other dynamic languages have duck typing". I have showed that what other dynamic languages have and what they call duck typing, PHP has too, and has had since forever. What you call duck typing is completely different and no non-statically-typed language, as far as I can see, has it at all. You can argue PHP should be a first dynamic typing language in the world to feature this kind of type checking, but when you say "In fact most other dynamic languages use this as the basis for their OOP system" - you can not use this to support your proposal, because what they are doing is very different from what you are doing, and in fact none of them are doing what you are doing at all. > All I know is what I experience and the experiences of those that I talk > to. I have seen the usefulness here. And I know others have (they > have expressed it here and in other channels). The only thing left is to move from "I see the usefuless" to "I can show the usefulness to others in a convincing way". > It's something that community leaders like us have to do. Branch out and > realize that our own perceptions and viewpoints are going to > be naturally biased by our experiences. And that's why > I suggested reaching out to other community maintainers for some insight > into what problems they face. Great. Please do reach out and provide some insight of what problems require such approach and why. So far the best argument I have seen for this proposal is that it allows to convert E_ERROR to E_RECOVERABLE_ERROR. I don't think it's nearly enough for introducing a new and unprecedented typing system into the language. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227