Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106305 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 85003 invoked from network); 28 Jul 2019 05:32:42 -0000 Received: from unknown (HELO mail-pg1-f172.google.com) (209.85.215.172) by pb1.pair.com with SMTP; 28 Jul 2019 05:32:42 -0000 Received: by mail-pg1-f172.google.com with SMTP id o13so26521710pgp.12 for ; Sat, 27 Jul 2019 19:56:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=I1bkIfUvlU63jVoCOPXMUBUreJGPzt6ui2+RtQsJk6Q=; b=B835yncaFNnxdyDYWGBrCn6ZbSYqx5XoH8yF+za7iRuiK31maPOUHaAljP1JVRQ0VL Rf2jUOF/oqYTIcCde6kgxD7Edm+Mbn5Ama2I3qDXwScLF8HqIABT4T1EVemiriwRK03/ qoFQ+ZzBjua1aw4w7r0jgBvfZGK3eQl9R6K2xdI0KgAVw6NLN42RRWo4r9/VmTI9Md9V vqoEWuaXusZyeieOzU2myFWqfD4xnMxi2yt4B1Sh1knzCX0MdX08ojSHa1CJGWfYAwlU RB5irCmU/gTKipwkSr7jVjGxYQclH3HpaHtqbQznZLWmU2qIp7QdMoS2I2adnAFbGvSK 22cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=I1bkIfUvlU63jVoCOPXMUBUreJGPzt6ui2+RtQsJk6Q=; b=mnJWldRIGdzqU/7+H8xNesZ6Ti8lsPnq4bEqbSRK/J7kyRN79V5svTMG1fIl/J3xEx nnu4pBU5rf8eFG+3HwxH5aNarLEckMI45zL3Owrio/4mGjNLRkJF0dSUv9dFRt6KvFN4 5dIArukufpHIVcxLoUWyE1Em69E1sBKjnanHq+d4ssgbEI3psVs+DEWAO2JAXH8DqlGs 1Nvr7GjX3+/sNPGxPZkYbX9/r0pIFvtM2HcMOCvVdN5xWpbJclzcAyWTAWTOmodzoSOc L1MI7qNz8lgRMayKqdfgqOsn0yBTEMLJ09ctEb8wzdCj3ks4jBR2ixRw+xaaeZWOIld7 Pg6g== X-Gm-Message-State: APjAAAXcJqJ4f4ePn9Z3/mfmqPcK3U+54WfcLPSeJkcIQuj4XvHJzBaW UfiEjc7xC0EJrm/FYuFIbZkdh1OqbA== X-Google-Smtp-Source: APXvYqwIMqFFFzS1EBbuIwo5YxoyCYUzznFmsOA0dqYLQ6u7e7dqUhoW+oXw2XQXnhCctSLfqlv6lA== X-Received: by 2002:a17:90a:3344:: with SMTP id m62mr17313645pjb.135.1564282618310; Sat, 27 Jul 2019 19:56:58 -0700 (PDT) Received: from Stas-Pro-2016.local (c-24-4-176-254.hsd1.ca.comcast.net. [24.4.176.254]) by smtp.gmail.com with ESMTPSA id l44sm50382767pje.29.2019.07.27.19.56.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 27 Jul 2019 19:56:57 -0700 (PDT) To: Nikita Popov , PHP internals References: Openpgp: preference=signencrypt Autocrypt: addr=smalyshev@gmail.com; prefer-encrypt=mutual; keydata= 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 Message-ID: <6df5535c-0c06-cbef-b60c-54b571b4ceb1@gmail.com> Date: Sat, 27 Jul 2019 19:56:56 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: [RFC] Explicit call-site send-by-ref syntax From: smalyshev@gmail.com (Stanislav Malyshev) Hi! >> In short, while currently we have >> >> function byRef(&$ref) {...} >> byRef($var); >> >> this proposal would also allow >> >> function byRef(&$ref) {...} >> byRef(&$var); I am not sure why it is necessary. If you call a function, one would assume you know what it is doing, at least you know its definition, and with any modern IDE if you do not, it is a matter of one click (or less) to reveal what the function does. So what is the point to mark it again? Does not seem to add anything that the writer or reader doesn't know or could easily find out. It could also imply that if the call site does not bear & mark, then the parameter can not be modified - which is not true (or only true for primitive values) and would add to the confusion. > I think it can either go forward as-is, in that it constitutes the first > step towards bringing sanity to by-reference passing in the long term. Or I Could you explain what you mean by "bringing sanity to by-reference passing"? Maybe if it would be clearer what you're getting at, in that context this proposal would be more understandable. > could first try to push through > https://wiki.php.net/rfc/namespace_scoped_declares or some variant thereof > so that call-site reference passing annotations can be made required on a > per-library/project basis. That certainly would be very annoying and I would be very much against it (and in general against the idea of fragmenting the language into a thousand of tiny pieces with different syntax by adding more and more local syntax-changing options) but I think this should be discussed separately so I'll say no more here. -- Stas Malyshev smalyshev@gmail.com