Proposal: `then`, `else` syntax to replace `&&`, `||` short-circuiting

IMO exploring the space of language design by discussion is an illusion in most cases except trivial ones. The ramifications are usually not apparent until you use them — doing a PR is just a small step towards that. Also, as noted in another thread you started, the scarce resource is developer time, not the lack of willing discussants to these bikeshedding threads.

Many projects, apparently also Julia, have a culture of asking for PRs if you want a change. This has some wonderful benefits:

  1. the proposer signals some interest in the change,
  2. the PR provides a rudimentary test of the proposal,
  3. even small PRs draw people in and familiarize them with the codebase and practices.

(2) and (3) are very important. I have abandonned many PRs midway, or refrained from submitting, learning that what I want is impractical or meaningless (2). Also, many Julia contributors will ask that you do a PR for trivial changes, even when the cost of mentoring apparently exceeds what it would take for them to do it (3). When I suggested that you do a PR if you really care about his, I was serious.

(Food for thought: most people who write code for a living and have deadlines would do more than complain if you replaced their silly QWERTY with superior DVORAK without their permission. Doing this in a company would get you fired.)

3 Likes