Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:101537 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 75188 invoked from network); 5 Jan 2018 01:21:15 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Jan 2018 01:21:15 -0000 Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain lerdorf.com designates 209.85.160.54 as permitted sender) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.160.54 mail-pl0-f54.google.com Received: from [209.85.160.54] ([209.85.160.54:41930] helo=mail-pl0-f54.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 51/C4-45945-903DE4A5 for ; Thu, 04 Jan 2018 20:21:15 -0500 Received: by mail-pl0-f54.google.com with SMTP id g2so2131536pli.8 for ; Thu, 04 Jan 2018 17:21:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lerdorf-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=3MTJYoqHOhnKfImMZqlUfb7NieUmpG/trsrEbzyo3/k=; b=bj1nMMujQi22O7MZJiiGGg+/Lj65PPU4z4B8nReshxrnwvALdqLyjf2+TzaAPxlNab EbNo2r6ssFK/MneOG7HCJwSwWk/5WtY2b3yyS9ijIqGYttsui9lCmD+X6FsTxg0ILFbp ZZyKcAxgcBmTSF8ToI/7XzIN3brXueQG9XsYExg+m3u84OcvskwTI75gr5mCYv7uDJlN /Vlu/t8P8witdMEfENoPWH/0Sk0z+BLR9BRGpT7evtWTE2dJdmcMOd/t2AU+Vz3It1uJ MDcNNb0hGxb2RK4UH7S7czRcNQ67BICIsM/YkVEkbQSSHyufIUdb9onfbCglOU5kzGYZ /dXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=3MTJYoqHOhnKfImMZqlUfb7NieUmpG/trsrEbzyo3/k=; b=qqolJGPT1o+T1i+cU7h4hsStZfmdTDf7XmnCp2qLWgSAUjKyWp8WvA8PnKzzzDcW5r LmFkpl3KjcFZbqntDnUacW4nF4kH/KstNwj0lFm+4O9+6LRaThcMoV8LJ2Ihnc7rWKof PSoX2fLb6HJpU29nRe6eBYNn5GKILiDyUPkulKd19rEixeDOeepmjj+0pkL3eFjeQU8a +Nk/rpoyGPwtXhJecWrOdHOMZbaE/XPa3ZucijcMrovbBevFovMEY1aLkLPyTnREEt0W 5sHgohjrprKwGxrw8MNZqvmjee2uECFV1ze3mWWzCmCkfzVMwEXJBOommqeuWJS3sTZ+ RHQA== X-Gm-Message-State: AKGB3mKGFn+O7oiDqmrAPV1pXpmIFqPWAIi1vbvTQk9jYga3QjisbiJT x7Fw27iWy6aIu5Jx0j1IbfaY4g== X-Google-Smtp-Source: ACJfBovWGayh+V4jp4mjx1zsfHZ3CrkfCMRzTfZ41QGx4iwRCYF/d7UeXtDanOhAIPZUNuCiNZ1Ybg== X-Received: by 10.84.244.196 with SMTP id f4mr1371085plt.374.1515115270495; Thu, 04 Jan 2018 17:21:10 -0800 (PST) Received: from ?IPv6:2601:647:4802:16b0:7874:bf18:3d29:a038? ([2601:647:4802:16b0:7874:bf18:3d29:a038]) by smtp.gmail.com with ESMTPSA id j6sm11082120pfk.152.2018.01.04.17.21.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jan 2018 17:21:09 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) X-Mailer: iPad Mail (15C153) In-Reply-To: Date: Thu, 4 Jan 2018 17:21:09 -0800 Cc: Rowan Collins , PHP internals Content-Transfer-Encoding: quoted-printable Message-ID: <9352F6DF-9940-49A2-9B1D-FA9258E9738E@lerdorf.com> References: <9a3a8760-f65a-a5c0-b318-1830a9a986c3@gmail.com> To: Andreas Hennings Subject: Re: [PHP-DEV] [RFC][DISCUSSION] Strong Typing Syntax From: rasmus@lerdorf.com (Rasmus Lerdorf) > On Jan 4, 2018, at 13:09, Andreas Hennings wrote: >=20 > A system where all variables are type-locked could in fact be faster > than a system with dynamically typed variables. > Depends on the implementation, of course. I imagine it would be a lot > of work to get there. I think you, and many others, commenting here, should start by looking at th= e engine implementation. Any successful RFC needs to have a strong implement= ation behind it, or at the very least a very detailed description of how the= implementation would mesh with the existing engine code. The reason we don=E2=80=99t have typed properties/variables is that it would= require adding type checks on almost every access to the underlying zval. T= hat is a huge perf hit compared to only doing it on method/function egress p= oints as we do now. -Rasmus=