Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discards, tuples and out variables #664

Merged
merged 45 commits into from
Apr 6, 2023

Commits on Nov 2, 2022

  1. Configuration menu
    Copy the full SHA
    b51c0cf View commit details
    Browse the repository at this point in the history
  2. Fix typos

    MadsTorgersen committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    0e9bcda View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c6a30bc View commit details
    Browse the repository at this point in the history
  4. Fix up tuples

    MadsTorgersen committed Nov 2, 2022
    Configuration menu
    Copy the full SHA
    4bea703 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c9152a7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7908b94 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2022

  1. Configuration menu
    Copy the full SHA
    97bfb5c View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Crisp up deconstruction

    Make sure evaluation order is described precisely in deconstructing assignments.
    MadsTorgersen committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    fc50f9c View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. Configuration menu
    Copy the full SHA
    7b553a0 View commit details
    Browse the repository at this point in the history
  2. Apply suggestions from code review

    Co-authored-by: Bill Wagner <wiwagn@microsoft.com>
    MadsTorgersen and BillWagner committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    5b1c905 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    05821a9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cb6ce12 View commit details
    Browse the repository at this point in the history
  5. Fix lint issues

    MadsTorgersen committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    f67f61d View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2023

  1. Add examples

    MadsTorgersen committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    7114566 View commit details
    Browse the repository at this point in the history
  2. Update variables.md

    MadsTorgersen committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    4d75674 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2023

  1. Add examples

    MadsTorgersen committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    2048881 View commit details
    Browse the repository at this point in the history
  2. Fix editorial comments

    MadsTorgersen committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    7896208 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2023

  1. Configuration menu
    Copy the full SHA
    eeec248 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    231a77e View commit details
    Browse the repository at this point in the history
  3. Fix local declarations

    MadsTorgersen committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    25d39d0 View commit details
    Browse the repository at this point in the history
  4. Update statements.md

    MadsTorgersen committed Feb 1, 2023
    Configuration menu
    Copy the full SHA
    0fb99c1 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2023

  1. Fix deconstructing assignment

    Deconstructing assignment is now fully integrated into simple assignment, and doesn't have its own section.
    
    Deconstruction itself has been broken into an independent subsection of Expressions in anticipation of more deconstruction to come in future releases.
    
    The evaluation order of a deconstructing assignment is now elegant and recursive. However, it still does not match the compiler behavior 100%. The evaluation order of the expressions directly occurring in the assignment expression is correct (except for what seems to be a compiler bug in a very specific case). However, in the case of nested left side tuples, some conversions and deconstructions may occur slightly later than my text implies. I've chosen to live with this difference since it is small, unobservable when the conversions and deconstructions are side-effect free (as they should be), and frankly beyond my capabilities to adequately overcome.
    MadsTorgersen committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    26d24a3 View commit details
    Browse the repository at this point in the history
  2. Fix linting issues

    MadsTorgersen committed Feb 9, 2023
    Configuration menu
    Copy the full SHA
    1107b68 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d180df7 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2023

  1. Configuration menu
    Copy the full SHA
    39a3c1a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    02b0dc7 View commit details
    Browse the repository at this point in the history
  3. Fix linting issue

    MadsTorgersen committed Feb 10, 2023
    Configuration menu
    Copy the full SHA
    2b67781 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Configuration menu
    Copy the full SHA
    3231f81 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eb94c3f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    97379cb View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. Fix declaration expressions and overload resolution

    I've further unified `_` discards and declaration expressions.
    
    Furthermore I've changed the approach to overload resolution. The change is small but radical, leaving out all `out` and `ref` parameters entirely from parameter-wise betterness!
    
    I believe this is sound, since out and ref arguments are always required to match precisely, so one is never better than the other. However, the desired effect was just to ensure that declaration expressions do not influence betterness. If we don't like this fix we can reduce its scope to a bigger change with smaller consequences. ;-)
    MadsTorgersen committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    d48514a View commit details
    Browse the repository at this point in the history
  2. Root declaration_expression

    Root declaration_expression as a non_assignment_expression and adjust verbiage accordingly in various places.
    MadsTorgersen committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    8737fc4 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2023

  1. Add tuple equality

    MadsTorgersen committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    5f62fd2 View commit details
    Browse the repository at this point in the history
  2. Fixing linter errors

    MadsTorgersen committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    218921f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    205760f View commit details
    Browse the repository at this point in the history
  4. Fix lint errors

    MadsTorgersen committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    978b3dc View commit details
    Browse the repository at this point in the history
  5. Fix wording

    MadsTorgersen committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    c36dc0b View commit details
    Browse the repository at this point in the history
  6. Root tuple_expression

    MadsTorgersen committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    f4cfcc8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1316315 View commit details
    Browse the repository at this point in the history
  8. Fix lint errors

    MadsTorgersen committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    797c301 View commit details
    Browse the repository at this point in the history
  9. wordsmith

    Co-authored-by: Nigel-Ecma <perryresearch@zoot.net.nz>
    MadsTorgersen and Nigel-Ecma committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    938205b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8e94899 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    40127a2 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2023

  1. Configuration menu
    Copy the full SHA
    b0de44f View commit details
    Browse the repository at this point in the history
  2. Remove space

    MadsTorgersen committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    5bfcb45 View commit details
    Browse the repository at this point in the history