-
Notifications
You must be signed in to change notification settings - Fork 721
Start a GoodDefaults file collecting recommended option settings. #19117
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| - **Added:** | ||
| A GoodDefaults_2025 module setting various options to their recommended value, | ||
| see :ref:`the doc <good_defaults>` for more details | ||
| (`#19117 <https://github.com/rocq-prover/rocq/pull/19117>`_, | ||
| by Théo Zimmermann and Théo Winterhalter). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| (************************************************************************) | ||
| (* * The Coq Proof Assistant / The Coq Development Team *) | ||
| (* v * Copyright INRIA, CNRS and contributors *) | ||
| (* <O___,, * (see version control and CREDITS file for authors & dates) *) | ||
| (* \VV/ **************************************************************) | ||
| (* // * This file is distributed under the terms of the *) | ||
| (* * GNU Lesser General Public License Version 2.1 *) | ||
| (* * (see LICENSE file for the text of the license) *) | ||
| (************************************************************************) | ||
|
|
||
| (** * Good defaults 2025 | ||
|
|
||
| File exporting recommended option settings at the time of releasing Rocq v9.1 | ||
|
|
||
| *) | ||
|
|
||
| #[ export ] Set Default Goal Selector "!". | ||
|
|
||
| #[ export ] Set Asymmetric Patterns. | ||
|
|
||
| #[ export ] Set Keyed Unification. | ||
|
|
||
| (** The following affect people using [Universe Polymorphism]. *) | ||
|
|
||
| #[ export ] Set Polymorphic Inductive Cumulativity. | ||
|
|
||
| #[ export ] Set Typeclasses Default Mode "!". | ||
| Hint Constants Opaque : typeclass_instances. | ||
|
|
||
| Ltac Tauto.intuition_solver ::= auto with core. | ||
|
|
||
| (** Makes the behavior of [injection] consistent with the rest of standard | ||
| tactics. | ||
| *) | ||
|
|
||
| #[ export ] Set Structural Injection. | ||
|
|
||
| (** These three affect pepole that set [Implicit Arguments]. *) | ||
|
|
||
| #[ export ] Set Strongly Strict Implicit. | ||
| #[ export ] Set Maximal Implicit Insertion. | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @anton-trunov seemed to defend the current default in his answer on Stack Overflow back in 2016: https://stackoverflow.com/questions/37211899/purpose-of-maximal-vs-non-maximal-implicit-arguments That being said, I don't think the issue of having to add And on the other hand, the same @anton-trunov supported in 2021 the switch to maximally implicit arguments for lists (which didn't land) in #13069.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, 2016 is old |
||
| #[ export ] Set Contextual Implicit. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you expect these recommendations will over time become the default settings? If changes in the defaults are manageable for users, maybe that would be simpler.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be great, but it is much more work, as it can break things on the user side. For now it's what we recommend for new users / files.