Deprecate and remove `inductive` ... `:=`
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 9.2k
- Forks
- 990
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 175
Description
Description
Today, Lean accepts all of the following:
inductive DogSound
| woof
| grr
inductive DogSound :=
| woof
| grr
inductive DogSound where
| woof
| grr
It seems that the overwhelming majority of declarations use the latter syntax (with where). In the interest of simplifying things, how about we deprecate the first two?
Context
The broad context here is that I'm writing the new reference manual with tooling that can let us know about undocumented tokens. The documentation should be comprehensive and describe what the language does.
Deprecating these two alternate syntaxes, rather than documenting them, would make Lean code more uniform and reduce the language surface area.
I'm not advocating immediate removal - a long deprecation period won't hurt anything - but a warning would be useful.
Impact
Add 👍 to issues you consider important. If others are impacted by this issue, please ask them to add 👍 to it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the three syntax examples and determine how the first two should be distinguished from the where form. Done means Lean warns on the inductive forms using ... and :=, while continuing to accept the where syntax; the issue does not name implementation files or tests.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100