Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102158 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 96165 invoked from network); 5 Jun 2018 07:22:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Jun 2018 07:22:16 -0000 Authentication-Results: pb1.pair.com smtp.mail=r.gottesheim@loot.at; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=r.gottesheim@loot.at; sender-id=unknown Received-SPF: error (pb1.pair.com: domain loot.at from 217.72.192.74 cause and error) X-PHP-List-Original-Sender: r.gottesheim@loot.at X-Host-Fingerprint: 217.72.192.74 mout.kundenserver.de Received: from [217.72.192.74] ([217.72.192.74:42113] helo=mout.kundenserver.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 77/E9-62758-72A361B5 for ; Tue, 05 Jun 2018 03:22:16 -0400 Received: from [10.122.190.143] ([81.217.14.224]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0M0AGq-1gICS01Itw-00uLoa for ; Tue, 05 Jun 2018 09:22:12 +0200 To: internals@lists.php.net Message-ID: <0d108361-f5fa-fe76-b6ad-66e23bfa88f5@loot.at> Date: Tue, 5 Jun 2018 09:22:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Provags-ID: V03:K1:HfxAz7A+uwfyiFN4frJsKMh+D8baLju90e3KH5FHypNeJEOhfCZ gb9IfJiB2updkqJG0/3zQ6m4eyVO+3qwqtKvAkHqUKO+hR7Uc+x09wj/DwfQ6bMyiHcYp0E Np0zC9t80Nljq0+Z0TpnFrC9GdCgbyo2WtPtF0C0kxZOrUHoVc5uIAX+MqG9K5UZKmc8Trc M+jJoBwJe0LAmgdSuSkMA== X-UI-Out-Filterresults: notjunk:1;V01:K0:ocUP3y0Lkeg=:Sb3lH76rkPL7uxZosHVv+Y 259NUCJG/8x3Z8acVya/B7dx7cFdcDn2J86G6OhlWj0w/wcLEgaz8hWUe675oEWA4rPcCU957 wBtGREofONlOXdIEJv91xZRb4MrXIYY5sqxN2MBqtzAS7/QzKor+UEvT1n74x6nFC5fWnHu5e 6WswecmJgt/MilYwfucXeXa6ASfA4a1kPTmN3rNJTJCD1zjCO5M+ifOtILjnMEaWextFc++uU DbybU66hjIPivYqw+DhwKYnTF2O7PO6OKFwy3Je0wT7K1NZFJtmIE2dhLJWPpUll56B72Qb1z 7XgtymV0bSB1WxJNcGP+kVD+dm2QoxkV3veLG1vu2vFaXHkxY00rdDTEo96hZQjEQBjJmtxt7 3EKWB9nqxqc9WU67lhPJ3ucgWMZzdSmF+FELW9B0aj6yYEESJlqp9/l5D6MJnzoQVTPP+SE+b 8FZ0ha+tDQSkTZHvs0EmL10R3UtoONWe90W4vEVZeFS1B3XdyzYpZMVc3JCNyKde1KxhjMEO0 d0PN7i1RK/zTsi8SxDdG2pNOanZ6A+n840ZqpUDjAzGu51eDUjC2/D1l7t6w61GAQfPyoSSLT VpeBkByqVQPQCLuAFI9V0ebSYLRKop5tkcx+WoBzCkCYmu0MrN/ttMoBcIHRpYxOE8NXGXF5h NE6W7pLexl17+AhVPa3PEaxBUWRw4ZRyE040zoLCq7Yxd4JPwxxKUZb02xv2w8Lh8RWe0+TR9 rrUVU/zjnI/hctus Subject: Better types without runtime checking From: r.gottesheim@loot.at (Rudolph Gottesheim) There's always a lot of talk about types in the PHP community. Specifically, many developers want property types, generics, function signature types, union and intersection types, and more. Those talks (and RFCs) always end with the same result: "We can't do it because performance issues." Has there ever been a discussion about adding some of those features syntactically, but ignoring them during runtime? At least until someone finds a performant way to check them at runtime. That way we could have advanced type checking in our editors at least. The idea will sound familiar to TypeScript users. It works great for that language. I'm excited to hear your opinions.