rfc:match_expression

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
Last revisionBoth sides next revision
rfc:match_expression [2020/04/25 09:55] – Describe gotcha in (true) ilijatovilorfc:match_expression [2020/04/25 10:37] – Specify voting time range ilijatovilo
Line 2: Line 2:
   * Date: 2020-04-12   * Date: 2020-04-12
   * Author: Ilija Tovilo, tovilo.ilija@gmail.com   * Author: Ilija Tovilo, tovilo.ilija@gmail.com
-  * Status: Under Discussion+  * Status: Voting
   * Target Version: PHP 8.0   * Target Version: PHP 8.0
   * Implementation: https://github.com/php/php-src/pull/5371   * Implementation: https://github.com/php/php-src/pull/5371
Line 335: Line 335:
 ===== Miscellaneous ===== ===== Miscellaneous =====
 ==== Arbitrary expressions ==== ==== Arbitrary expressions ====
-A match condition can be any arbitrary expression. Analogous to ''switch'' each condition will be checked from top to bottom until the first one matches. If a condition matches the remaining conditions won't be evaluated+A match condition can be any arbitrary expression. Analogous to ''switch'' each condition will be checked from top to bottom until the first one matches. If a condition matches the remaining conditions won't be evaluated.
  
 <code php> <code php>
Line 437: Line 437:
  
     // Algebraic data types if we ever get them     // Algebraic data types if we ever get them
-    let Ast\BinaryExpr($lhs, '+', $rhs) => ...,+    let Ast::BinaryExpr($lhs, '+', $rhs) => ...,
 } }
  
Line 529: Line 529:
  
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
 +Voting starts 2020-04-25 and ends 2020-05-09. 
 +
 As this is a language change, a 2/3 majority is required. As this is a language change, a 2/3 majority is required.
  
-<doodle title="Would you like to add match expressions to the language?" auth="ilijatovilo" voteType="single" closed="true">+<doodle title="Would you like to add match expressions to the language?" auth="ilijatovilo" voteType="single" closed="false">
    * Yes    * Yes
    * No    * No
Line 538: Line 540:
 Secondary vote (choice with the most votes is picked): Secondary vote (choice with the most votes is picked):
  
-<doodle title="Should the semicolon for match in statement form be optional?" auth="ilijatovilo" voteType="single" closed="true">+<doodle title="Should the semicolon for match in statement form be optional?" auth="ilijatovilo" voteType="single" closed="false">
    * Yes    * Yes
    * No    * No
Line 545: Line 547:
 Secondary vote (choice with the most votes is picked): Secondary vote (choice with the most votes is picked):
  
-<doodle title="Should we allow dropping (true) condition?" auth="ilijatovilo" voteType="single" closed="true">+<doodle title="Should we allow dropping (true) condition?" auth="ilijatovilo" voteType="single" closed="false">
    * Yes    * Yes
    * No    * No
Line 561: Line 563:
   - Other   - Other
  
-<doodle title="If you voted no, why?" auth="ilijatovilo" voteType="multi" closed="true">+<doodle title="If you voted no, why?" auth="ilijatovilo" voteType="multi" closed="false">
    * 1    * 1
    * 2    * 2
rfc/match_expression.txt · Last modified: 2020/05/09 15:59 by ilijatovilo