Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92545 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 50467 invoked from network); 20 Apr 2016 15:02:53 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Apr 2016 15:02:53 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.46 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.46 mail-wm0-f46.google.com Received: from [74.125.82.46] ([74.125.82.46:32822] helo=mail-wm0-f46.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 26/CB-14036-D1A97175 for ; Wed, 20 Apr 2016 11:02:53 -0400 Received: by mail-wm0-f46.google.com with SMTP id 127so12150724wmz.0 for ; Wed, 20 Apr 2016 08:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=7vSMy4YKW1+Jx4CoD94K6C+feF2oHebhy4aef2HO4sA=; b=hUk1uR9nEwaGXFiKZA5zkwUau8hEghSYF2guLJilxHMWvV/B+z2jtjGl3p0sVEQ3Qg fd5wHStIomVWLCrMHN2otofyo7XMC3bKPQnyPxSEO0ggupf2ZYDMNPBcyaQ99S/zslo1 Oh4E/aYGcfh/X1fKGH3xWygywucLK6Ic24XvtPzvBxuaPiEfkagZURK6dOT/zwhtfxFV tiSh8NHiz35kQQHJ6dfP/h8/fjZ5PDaZ1H+50p+uykGdkciuAX1HBjNq13oE/oXtzEJN 1QK7aTFnfUZZsMikui3dZvlxwAFtg66SMJiKiOHwbqc0RF6WVcL+zuhwpNa1ComzMCVu j8aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=7vSMy4YKW1+Jx4CoD94K6C+feF2oHebhy4aef2HO4sA=; b=cG5ppGEOAeLuzvzqf/qtD+pG4jfk5ZcxfVv9atqibNmonOWAJKP5rUFUxZaOkuzWEi LAf/mRsJCppiqePgpIQwMqIZ//QACDJr4wLSEgc7zuNh6cbyKHB4kYWZYltIdCSAzMQy Sp0LrEpshZ70SG/k4c4XQNahX0JWLpwJo2kDGjjdzkt6R4VxbjbjS38EZgU1uev6sVAb 8j2Soda0/y7/V259147MbKy2OD0WDVpFUS33J1h6n3mEjVCRf9jA3WLasjshhqYUUOUO zRgaUmTDV77Nvai7WEjXiwZDXb2YxrU02K1ADttTWxUa100kdeXC2Ur0lf/sK1K+t4uw e9rQ== X-Gm-Message-State: AOPr4FXlCVUS/EpjsCY6AkbEe5ykgCR85cLGJw0H0M2U7p/e70oosrQTR3blMf/0XfCztg== X-Received: by 10.194.43.170 with SMTP id x10mr9197755wjl.73.1461164570392; Wed, 20 Apr 2016 08:02:50 -0700 (PDT) Received: from [192.168.0.77] ([93.188.182.58]) by smtp.googlemail.com with ESMTPSA id j8sm6022544wjv.44.2016.04.20.08.02.49 for (version=TLSv1/SSLv3 cipher=OTHER); Wed, 20 Apr 2016 08:02:49 -0700 (PDT) To: internals@lists.php.net References: <3cc8a4c7-2640-11ae-a67b-06f909ac1e27@texthtml.net> <5716BB89.8030005@gmail.com> Message-ID: <571799B8.1060201@gmail.com> Date: Wed, 20 Apr 2016 16:01:12 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC:generics] From: rowan.collins@gmail.com (Rowan Collins) guilhermeblanco@gmail.com wrote on 20/04/2016 03:54: > 1- Even though mentioned, I'd still use "extends" or "implements" instead > of "is" (which would be a new pseudo-reserved keyword) to enforce data type > consistency and prevent developers to potentially referring to one thing > while consider another. Perhaps "instanceof" would make more sense here? "class FileProcessor" seems to exclude instantiating FileProcessor, because "FileHandle extends FileHandle" doesn't make any sense. You could read "class Box" as an assertion that the class passes the constraint, as in "public function __construct(T $t) { assert($t instanceof Boxable); }" Regards, -- Rowan Collins [IMSoP]