rfc:pow-operator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
rfc:pow-operator [2013/12/19 19:16] datibbawrfc:pow-operator [2013/12/21 06:11] datibbaw
Line 4: Line 4:
   * Date: 2013-11-23   * Date: 2013-11-23
   * Author: Tjerk Meesters, datibbaw@php.net   * Author: Tjerk Meesters, datibbaw@php.net
-  * Status: Voting+  * Status: Under Discussion
   * First Published at: http://wiki.php.net/rfc/pow-operator   * First Published at: http://wiki.php.net/rfc/pow-operator
   * Revision (0.1 → 0.2): 2013-12-19   * Revision (0.1 → 0.2): 2013-12-19
Line 10: Line 10:
 ===== Introduction ===== ===== Introduction =====
  
-This proposal is three-fold:+This proposal is two-fold:
  
-  - Turn the existing [[http://php.net/pow|pow()]] function into a language construct.+  - Introduce an exponential (right associativeoperator ''<nowiki>**</nowiki>''.
     * Avoids a function call.     * Avoids a function call.
     * Support for [[rfc:operator_overloading_gmp|GMP overloading]].     * Support for [[rfc:operator_overloading_gmp|GMP overloading]].
-  - Introduce an exponential (right associative) operator ''<nowiki>**</nowiki>''. 
     * Easier to read and shorter to write.     * Easier to read and shorter to write.
     * Can be found in other languages.     * Can be found in other languages.
Line 21: Line 20:
  
 ===== Proposal ===== ===== Proposal =====
- 
-**pow() as language construct** 
- 
-No changes to existing code, safe for one: 
- 
-<code php> 
-var_dump(pow([], 2)); // int(0) instead of float(0) 
-</code> 
- 
-**Power operator** 
  
 A short working example: A short working example:
Line 76: Line 65:
 echo ~3 ** 2; // -10 (not 16) echo ~3 ** 2; // -10 (not 16)
 </code> </code>
 +
 +===== Changelog =====
 +
 +21-Dec-2013: 
 +  * Removed turning pow() into a language construct from the proposal, due to BC breaks.
 +  * Closed vote and moved RFC back to Discussion status.
 +  * Reverted commit [[https://github.com/datibbaw/php-src/commit/f60b98cf7a8371233d800a6faa286ddba4432d02|f60b98c]].
  
 ===== Discussion ===== ===== Discussion =====
Line 164: Line 160:
  
 External extensions such as [[http://pecl.php.net/package/vld|vld]] or [[https://github.com/krakjoe/phpdbg|phpdbg]] would have to be updated, but I'm not aware of any core extensions that would otherwise be affected. External extensions such as [[http://pecl.php.net/package/vld|vld]] or [[https://github.com/krakjoe/phpdbg|phpdbg]] would have to be updated, but I'm not aware of any core extensions that would otherwise be affected.
- 
-===== Open Issues ===== 
- 
-None. 
  
 ===== Vote ===== ===== Vote =====
Line 185: Line 177:
 ---- ----
  
-<doodle title="Should PHP get a power operator in 5.6?" auth="datibbaw" voteType="single" closed="false">+<doodle title="Should PHP get a power operator in 5.6?" auth="datibbaw" voteType="single" closed="true">
    * Yes, right associative    * Yes, right associative
    * Yes, non associative    * Yes, non associative
rfc/pow-operator.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1